解決済

CSV → Excelで0を補填する方法

  • 相談者:(DELETE1704417655)MONO
  • 2021/11/09 16:03
いつもお世話になっております。 楽天の顧客データ(csv)をDBに取り込むのに、一度Excelに貼り付けて 自社のDBに合うように変更して取込みをしたい………(省略)………
ログインして全文を読む
  • 返信者:(DELETE1762764533)ECマスターズ 稗田
  • 2021/11/09 18:16
ECマスターズの稗田です。 > 0が抜けてバラバラな郵便番号(と電話番号)を、0を補填して > つなげた結果を別シートに出す方法はありますでしょうか? ………(省略)………
ログインして全文を読む
  • 返信者:(DELETE1704417655)MONO (質問者)
  • 2021/11/10 11:23
稗田様 ご返信ありがとうございます。スプレッドシートでの検証データもありがとうございます。 質問の内容に足りない部分がありましたので、再度ご質問させ………(省略)………
ログインして全文を読む
  • 返信者:(DELETE1704417655)MONO (質問者)
  • 2021/11/16 11:45
説明が上手くできないので、参考例を添付いたしました。 よろしくお願い致します。###HR######IMG091d1f606f439ff9b20145fcdb………(省略)………
ログインして全文を読む
  • 返信者:(DELETE1762764533)ECマスターズ 稗田
  • 2021/11/16 15:50
ECマスターズの稗田です。 ご連絡が遅くなりまして大変失礼いたしました。 > 質問の内容に足りない部分がありましたので、再度ご質問させてください。 ………(省略)………
ログインして全文を読む
(DELETE1762764533)ECマスターズ 稗田 管理者コメント 2021/11/09 18:11
> 0が抜けてバラバラな郵便番号(と電話番号)を、0を補填して
> つなげた結果を別シートに出す方法はありますでしょうか?

> 例)〒011-0022
> → (CSVをエクセルで開くと)
> ・ A1のセル → 「11」
> ・ A2のセル → 「22」

> → 希望
> 「Sheet2」のA1に「011-0022」
> (その後、「Sheet2」のA1をDBに取り込みたいです)

方法はいくつかあるかと思いますが、
一番簡単な方法として”&”を利用した数式がございますので
そちらをご紹介させていただきます。
https://office-hack.com/excel/combine-strings/

MONOさんが例に挙げていただいた郵便番号でご説明させていただきますが、

【Sheet1】

A1:11
A2:22

【Sheet2】

A1:=“0”&’Sheet1!’A1&”-“&”00”&’Sheet1!’A2
   
とご入力いただくとSheet2のA1に「011-0022」と入力されますのでお試しくださいませ。

実際にスプレッドシートで検証したデータもお送りさせていただきますので
ご参考くださいませ。
https://docs.google.com/spreadsheets/d/1kxeqQZY0EkG3yveegT2oYOxvifjZ56z911W-KXIQHDg/edit?usp=sharing
(DELETE1762764533)ECマスターズ 稗田 管理者コメント 2021/11/16 15:40
ご連絡が遅くなりまして大変失礼いたしました。

> 質問の内容に足りない部分がありましたので、再度ご質問させてください。

> 郵便番号は 〒3桁-4桁 で構成されています。
> しかし、CSVをExcelで開き、0が抜けると桁数が変わってきます。

> <例>
> A:〒001-0002
> B:〒001-0022
> C:〒011-0222
> D:〒111-2222

> ↓ Excelで 「3桁」部分は「1」行目に入り、「4桁」部分は「2」行目に入る過程です。

> 【Sheet1】
> A1:1 ※本来は3桁なので、0が2個抜けている
> A2:2 ※本来は4桁なので、0が3個抜けている
> B1:1 
> B2:22
> C1:11
> C2:222
> D1:111 ※本来は3桁なので、0は抜けていない
> D2:2222 ※本来は4桁なので、0は抜けていない

> 上記を

> 【Sheet2】では
> A1:001-0002
> B1:001-0022
> C1:011-0222
> D1:111-2222

> と桁数が合うように0を補填し、且つ「&」で繋ぐことはできますでしょうか?


私の認識不足があり失礼しました。
桁数が合うように0を補填するということでしたら、

TEXT関数というものがございますので、そちらを活用いただくことで解消されます。
https://www.ipentec.com/document/office-excel-fill-zero-align-digit

今回も検証用のスプレッドシートを作成させていただきましたので
そちらと合わせて確認いただければと思いますが、

関数の記述としましては、
=TEXT('シート1'!A1,"000")&"-"&TEXT('シート1'!A2,"000")
となります。

TEXT関数の仕様として、
=TEXT(指定セル、”桁数”)という形となっていますので
郵便番号は前半が3桁、後半が4桁ですので

1列目の関数の記述は、
=TEXT(A1、”000”)という形を取ることで
3桁未満の文字列の先頭に0を足りない数だけ入れることができます。

2列目の関数の記述も同様に
=TEXT(A1、”0000”)
という形で4桁にしていただくことで対応可能です。

スプレッドシートは以下でございますので
ご確認くださいませ。
https://docs.google.com/spreadsheets/d/13lMVCK49SDw6DXSKjC-zlXNuzoM8lCbtOrQd2iP9c-w/edit?usp=sharing