仕事で役に立ったノウハウなどをつらつらと

お仕事メモ

Excel

CSVファイルをExcelに取り込む

更新日:

CSVファイルなどのデータをExcelに取り込んで編集・集計などを行いたいケースが多々あります。

いくつか方法がありますが取り込みの精度・作業時間で方法を決定することになるかと思います。

※ExcelはExcel2016を使用

1.テキストエディタで編集してから貼り付ける

正規置換が行えるテキストエディタを用いて、「CSVファイルを開く→置換→・貼り付け」を行う。

CSVファイルを開く

カンマ(,)をタブ(\t)に変換する

置換
置換後
エディタによるが右矢印のようになっているのがタブ

Excelに貼り付ける

項目がそれぞれ分かれて貼り付けられた

ポイント

カンマをタブに変換することで、変換結果をExcelに貼り付けた際に項目ごとに列が分かれる。

正規表現置換に慣れた人なら作業時間は短い。

ただし、精度の面では注意点が2つ。

1つ目は”00010”などの数字の前に0(ゼロ)が付いている場合。
このケースは0(ゼロ)が失われてしまいます。
これは貼り付けのセルの書式が標準となっていることが原因です。
あらかじめセルの書式を文字列に設定しておけば、この問題は解消できます。

2つ目は項目名にカンマが含まれている場合。
項目名に含まれるカンマも項目を分ける個所(セパレータ)と認識してしまう。
項目名に必ずダブルコーテーション(”)が付いている場合は、置換対象を”,”にすると解消できる。

2.Excel機能「外部データの取り込み」

CSVファイルなどのデータソースをExcelに取り込む「外部データの取り込み」を使用する。

データタブ→外部データの取り込み→テキストファイル

CSVファイルを選択

「カンマやタブなど・・」を選択し次へ

先頭行の読み飛ばしや読み取る文字コードの設定も可能

区切り文字はカンマ、文字列の引用符はダブルコーテーション(”)を選択し次へ

「データのプレビュー」に項目列ごとに縦線が入っていればOK

データのプレビューで項目をすべて選択(Shift+クリック)し、列のデータ形式を文字列を選択し完了

取り込み結果

ポイント

Excel機能なので案内に沿っていけば簡単に取り込みができる。

手順が多いため作業時間はそれなりにかかる。

精度は正しく設定すれば問題ないが注意点が1つ。

列のデータ形式で文字列を選択しないと、”00010”などの数字の前に0(ゼロ)が付いている場合に、0(ゼロ)が失われてしまうことに注意。

引用符(ダブルコーテーションとシングルコーテーション)のあり・なしとや項目ごとの書式設定(日付、数値、文字列)が設定できるため自由度が高い。

3.PowerQuery

PowerQueryは外部データの取り込みをさらにリッチにした機能です。

リッチになった分だけできることも増えていますが、難易度も上がっている感じです。
単純な取り込みであれば、そこまで難しくはありません。

PowerQueryが一番効果を発揮するのは、何度も同じ形式のファイルを取り込む作業だと思います。

外部データの取り込みは週次、月次などの何度も同じ作業を行う場合に、毎回同じ作業手順を行う必要があります。

しかし、PowerQueryでは一度データ取り込みの設定を行っておけば、2度目以降はファイルを差し替えて更新するだけでデータの取り込みが実施できます。
テンプレートを作成しておくと良いですね。

PowerQueryの詳細は別記事に書き起こしたいと思います。

-Excel

Copyright© お仕事メモ , 2023 All Rights Reserved Powered by STINGER.