テキストファイルやCSVファイル内のデータをExcelで整形・加工したいけど、どうしたらいいですかね?
その場合、Power Query(パワークエリ)の「テキストまたはCSVから」でデータ取得から始めると良いですよ!
具体的な手順を解説していきますね。
解説動画:【パワークエリ#3】テキスト・CSVファイルを対象としたデータインポート手順 – 別ファイル(.txt/.csv)のデータを自動取得する
この記事の内容は下記の動画でも解説しています。
はじめに
本題に入る前に、この記事がおすすめな方を挙げてみます。
- テキストファイルまたはCSVファイルのデータを整形・加工したい方
- データ整形・加工の工程が複数あり、かつその作業が定期的に発生する方
- Power Query(パワークエリ)の使い方を習得したい方
前提条件
この記事のテクニックを使うためには、以下の条件を満たす必要があります。
- ExcelのバージョンはExcel2010以降(Microsoft365含む)が必須
- Excel2010/2013ユーザーの場合、事前にMicrosoft社公式HPよりPower Query(パワークエリ)のダウンロードが必要(Excel2016以降は標準機能)
- Power Query(パワークエリ)の概要を理解していること
→まず、以下の記事で概要を把握することをおすすめします。
解説動画:【パワークエリ#1】「パワークエリ(Power Query)」とはどんな機能か?大枠の流れや手順、使い方まとめ この記事の内容は下記の動画でも解説しています。 コメント欄の各プロセスの時間部分をクリックすると該 …
データ整形の元データがテキストやCSVなどの別ファイルの場合に「テキストまたはCSVから」のデータ取得が有効
こうしたデータの整形・加工作業が複数工程あり、かつ定期的に発生する業務ならPower Query(パワークエリ)が便利です。
従来必要であった「別ファイルを開いて、Excelへコピペする」という工程をショートカットできるからです。
では、別ファイルのデータの取得手順を確認していきましょう。
【参考】テキストファイルとCSVファイルとは
テキストファイルは、「.txt」の拡張子がついたファイルで、メモ帳などのテキストエディターで開くことができます。
まさに、「メモ」的にテキストのみのデータを管理できます。(Wordみたいに文字の装飾などは不可)
CSVファイルは、「.csv」の拡張子がついたファイルで、Excelで開くことがデフォルトです。
そもそもCSVとは「Comma Separated Value」の略称で、実態は「カンマ区切りのテキスト」のデータを管理しています。
イメージが湧かない方のために、同じCSVファイルをExcelで開いたものとメモ帳で開いたものを見比べてみましょう。
このように、CSVファイルもテキストデータのみ管理しており、Excelで開いても文字や罫線などの装飾はもちろんありません。(数式なども同様)
まとめると、両方とも同じテキストデータを管理しているファイル形式のため、Power Query(パワークエリ)でのデータ取得のコマンドが同じなわけです。
なお、テキストファイルのデータ取得をする際、中身のデータがカンマ区切りなどの区切り文字(スラッシュ(/)やスペースなど)で区切られていないと、表データとして扱えないので、ご注意くださいね。
テキストファイルまたはCSVファイルのデータ取得手順
Power Query(パワークエリ)によるテキストファイルまたはCSVファイルのデータ取得は、以下の5ステップとなります。
【STEP1】リボン「データ」タブから「データの取り込み」ダイアログを起動
まずは、リボン「データ」タブをクリック(①)し、「テキストまたはCSVから」をクリック(②)します。
【STEP2】任意のファイル(.txt/.csv)をインポート
「データの取り込み」ダイアログが起動しますので、データの取得元となる任意のファイルを選択(③)し、「インポート」をクリック(④)します。
今回は「商品マスタ.csv」を選択しました。
【STEP3】取り込みデータのプレビュー画面から「Power Queryエディター」を起動
指定したファイルのプレビュー画面が起動します。
取り込んだデータに誤りがないかを確認(⑤)し、問題なければ「データの変換」をクリック(⑥)しましょう。
【STEP4】「Power Queryエディター」を閉じてデータを読み込み
Power Queryエディターが起動します。
まずは、取り込んだデータの各列のデータ型に問題ないかを確認(⑦)しましょう。
なお、クエリ名は手順③で指定したファイル名になっているため、別名称が良ければ「クエリの設定」ウィンドウ上でクエリ名を書き換えましょう。
その他、データ整形・加工を行いたい方は、ここで任意の作業を順次設定してくださいね。
問題なければ、「閉じて読み込む」をクリック(⑧)し、「閉じて次を読み込む」をクリック(⑨)すればOKです。
【参考】「データ型」とは
データ型とは、「テキスト(文字列)」や「数値」「日付」といったデータの種類のことで、テーブルの1行目の見出し名の左横にあるマークで判断が可能です。
たとえば、今回は、「商品コード」と「商品名」はテキストなので[ABC]というマークがそれぞれの左横にあります。
そして、「単価」は数値なので[123]というマークが左横にありますね。
他にどんなデータ型があるかについては、マーク部分をクリックすると一覧が表示され、任意で変更することが可能ですよ。
もし、違うデータ型が指定されてしまった場合は、こちらで変更しましょう。
【参考】見出しがレコード扱いになったしまった場合
取得するデータによっては、本来は見出しのはずなのにレコード扱いされてしまうケースがあります。
その場合は、以下のようにリボン「ホーム」タブにある「1行目をヘッダーとして使用」をクリックしましょう。
【STEP5】「データのインポート」ダイアログでデータの返し先を選択
「データのインポート」ダイアログが起動しますので、どこにデータを返すかを指定(⑩)しましょう。
今回は、既存ワークシートのA1セルを起点にデータを返すように設定しました。
設定が完了次第、「OK」ボタンをクリック(⑪)します。
これにて作業は完了です!
ワークシート上に指定ファイルのデータが取り込まれればOK!
無事A1セルを起点にCSVファイルのデータが取り込まれました!
そして、ワークシートの右側に「クエリと接続」ウィンドウが表示されます。
そのウィンドウ上に「商品マスタ」というクエリが作成されていることがわかりますね。
なお、クエリ名の下を見ると、5行のデータが読み込まれたことがわかります。
サンプルファイルで練習しよう!
可能であれば、以下のサンプルファイルをダウンロードして、実際に操作練習をしてみてください。
サンプルファイル_PowerQueryデータ取得_テキストまたはCSVから.zip
※サンプルファイルのダウンロードには無料メルマガに登録いただく必要があります。
(上記リンクから登録フォームへ遷移します)
ファイルを開いたら、次の手順を実施してください。(今までの解説のまとめです)
- リボン「データ」タブをクリック
- 「テキストまたはCSVから」をクリック
- 任意のCSVファイルを選択
- 「インポート」をクリック
- 取り込んだデータに誤りがないかを確認
- (問題なければ)「データの変換」をクリック
- 各列のデータ型に問題ないかを確認
- (問題なければ)「閉じて読み込む」をクリック
- 「閉じて次を読み込む」をクリック
- データの返し先を既存ワークシートのA1セル設定
- 「OK」ボタンをクリック
本記事の解説と同じ結果になればOKです!
さいごに
いかがでしたでしょうか?
本テクニックもPower Query(パワークエリ)のデータ取得の中では基本の一部です。
別ファイルのデータに対し、取得~整形・加工を一連で行うためにも、このテクニックをまずは習得しましょうね。
なお、Power Query(パワークエリ)の各種テクニックは、私の拙著でも体系的に解説していますので、こちらも参考にしてみてください。
ご参考になれば幸いですm(_ _)m
別ファイルのデータをもとにExcel側で整形・加工するには、通常はマクロ(VBA)が必要でした。
しかし、Power Query(パワークエリ)の登場で、こうした別ファイルの整形・加工する作業も簡単なものならマウス操作中心で設定できるようになって楽ちんになりましたね。
別ファイルを扱う頻度が高い人は、ぜひPower Query(パワークエリ)を覚えることはおすすめします。