LoginSignup
16

More than 3 years have passed since last update.

posted at

ExcelでCSVを取り込むときに常識だよと言われた話。

Excel大好き大企業さんに
「CSVに出力した値が正しいかをExcelで比較してそのエビデンスをくれ」
と要求されました。

Excelでの値の比較方法を知らなかったので上司に教えてもらったのですが、その際に「常識だよ笑」と言われてしまいました。
なので僕と同じく「浜崎あゆみ」のような常識を知らない哀れな同志たちのために、比較方法とその時失敗した内容をまとめました。

※中学生時代、浜崎あゆみを知らず「は!?浜崎あゆみ知らないの!?」と本気で驚かれました。僕は信長の野望 天翔記に夢中でした。

CSVファイルの中身

今回Excelに取り込むデータはこちら
image.png

そのまま取り込んだ【NG】

1.「データ」→「外部データの取り込み」→「テキストファイル」を押下し、該当CSVファイルを選択し「インポート」を押下します。
image.png
image.png

2.今回のCSVファイルではカンマでデータが区切られてます。
なので「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」を選択して「次へ」を押下します。
image.png

3.区切り文字で「カンマ」のみを選択して「完了」を押下します。
image.png
4.貼り付け場所を選び「OK」を押下します。
(選択しているセルが自動で入力されているので、そのまま「OK」で大丈夫です。)
image.png

結果は以下の通りです。
image.png
だいぶ改竄されてます。何をするだァーッ!

取り込み失敗箇所について

Excelは入力された値を見て、自動で書式設定を変えてくれるのですが、それが裏目にでてしまっているようです。

電話番号1,2,3

電話番号はハイフン(「-」)があるため文字列と認識したため、最初の0が消えませんでした。
一方で、電話番号1,2,3は数字しかなかったため、数値と認識して最初の0が消えてしまっています。

誕生年月、設定日、設定時刻

誕生年月は年月と認識したため、「Jan-05」(2005/1/1)と表示されています。(この形、初めて見たのですが……)
設定日は日付と認識したため、「2019/2/2」と月と日の「0」が消えています。
設定時刻は時刻として認識したため、「8:05:05」と最初の「0」が消えています。(逆に、5分5秒の方の「0」は消えていませんね……)

所持金

円マークの存在によって、通貨と認識したため、カンマ(「,」)が入っています。

文字列で取り込んだ

とにかく、すべてを文字列として取り込めれば良いのです。

1.「そのまま取り込んだ」の1と同じです。
2.「そのまま取り込んだ」の2と同じです。
3.区切り文字で「カンマ」のみを選択して「次へ」を押下します。
image.png
4.データのプレビューですべての項目を選んで列のデータ形式で「文字列」を選択し、「完了」を押下します。
image.png
5.「そのまま取り込んだ」の4と同じです。
結果は以下の通りです。
image.png
ちゃんと文字列で取り込めているようです。

最後に

シートを全選択してセルの書式設定ですべてのセルを文字列に変えてから、文字列で取り込むように言われたのですが、
セルを文字列に変えなくても文字列で取り込めるみたいですね。
Excelってむつかしい…。

新人である今のうちに「常識」を教えてもらえて良かったです。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
16