データ取り込みパターン集 ― CSV・Excel・PDF・Web・フォルダ
このページのゴール
Power Queryで頻出するデータソース5種類について、GUIの手順と注意点を網羅し、「何を取り込むときにどのメニューを選べばよいか」を迷わなくなることです。
会社でVBAやマクロが禁止されている場合でも、CSV取込、データ整形、複数ファイル結合はPower Query(パワークエリ)で代替できることが多いです。
CSVファイルの取り込み
操作手順
1. データ タブ → データの取得 → ファイルから → テキストまたはCSVから
2. ファイルを選択して「インポート」
3. プレビュー画面が表示されます。ここで3つの設定を確認します:
・元のファイル:文字コード(65001: Unicode (UTF-8)、932: 日本語 (Shift_JIS) など)
・区切り記号:コンマ、タブ、セミコロンなど
・データ型の検出:最初の200行に基づく/ドキュメント全体に基づく
4. プレビューが正しければ「データの変換」でエディターへ(または「読み込み」で直接出力)。
文字化けが起きたら
日本のシステムで出力されたCSVはShift_JIS(コードページ932)であることが多いですが、Power Queryのデフォルト検出がUTF-8と誤判定することがあります。プレビューで文字化けしている場合は、「元のファイル」ドロップダウンから「932: Japanese (Shift_JIS)」を選択してください。
CSVを自分で作成・エクスポートする場合は、UTF-8(BOM付き)で保存するとPower Queryが正しく自動判別します。Excel側で「CSV UTF-8(コンマ区切り)」形式で保存すればBOM付きUTF-8になります。
Excelファイル(別ブック)からの取り込み
操作手順
1. データ タブ → データの取得 → ファイルから → Excelブックから
2. ファイルを選択して「インポート」
3. ナビゲーターが表示されます。左側にシート名やテーブル名の一覧が出ます。
4. 取り込みたいシートまたはテーブルを選択し、「データの変換」をクリック。
シート名とテーブル名の違い
ナビゲーターには「Sheet1」のようなシート名と、「テーブル1」のようなテーブル名が両方表示されることがあります。テーブル名を選ぶ方が安全です。シート名を選ぶとシート上のすべてのデータ(空白セルや余計な行を含む)が取り込まれますが、テーブル名を選べばテーブルの範囲だけが正確に取り込まれます。元ブックでデータをテーブル化しておくことを強くおすすめします。
取り込み元ファイルを別フォルダに移動したり名前を変更したりすると、更新時にエラーが出ます。ファイルの配置場所を固定するか、パラメータクエリ(⑩で解説)でパスを動的に管理してください。
同一ブック内のテーブルを取り込む
操作手順
1. シート上のデータをテーブル化しておきます(Ctrl+T)。テーブル名をわかりやすい名前に変更します。
2. データ タブ → テーブルまたは範囲から をクリックします。
3. テーブルの範囲が自動選択され、エディターが開きます。
パラメータクエリの土台として使う「Excel.CurrentWorkbook()」は、ブック内のすべてのテーブルと名前付き範囲を取得するM関数です。詳しくは⑩パラメータクエリで解説します。
PDFの表を取り込む
操作手順
1. データ タブ → データの取得 → ファイルから → PDFから
2. ファイルを選択して「インポート」
3. ナビゲーターにページ番号とテーブル番号が表示されます。テーブルを選択してプレビューを確認。
4. 「データの変換」でエディターへ。
読めるPDFと読めないPDF
| タイプ | 取り込み可否 | 見分け方 |
|---|---|---|
| テキストベースのPDF(WordやExcelから出力) | 取り込み可能 | PDF上のテキストをコピー&ペーストできる |
| 画像ベースのPDF(スキャンしたもの) | 取り込み不可 | テキストを選択・コピーできない |
PDFコネクターはExcel 2019 / 2021 / 2024 / Microsoft 365で利用可能です。Excel 2016では使えません。また、複雑なレイアウトのPDFは表の認識精度が低いため、エディターで「ヘッダー昇格」「列の削除」「不要行の除去」の後処理が必要になることが多いです。
Webページからテーブルを取得する
操作手順
1. データ タブ → データの取得 → その他のデータソースから → Webから
2. URLを入力して「OK」
3. ナビゲーターにページ内の<table>要素が一覧表示されます。
4. 目的のテーブルを選択し「データの変換」でエディターへ。
Webサイトの構造が変わるとクエリが壊れます。またサイトの利用規約でスクレイピングが禁止されている場合があります。業務で使う場合は、対象サイトの規約を確認してください。動的に生成されるページ(JavaScriptで描画される表など)は取得できないことがあります。
フォルダから一括取り込み ― 複数ファイルをまとめて結合
月別CSVや支店別Excelなど、同じ構造のファイルが複数ある場合に威力を発揮します。
操作手順
1. データ タブ → データの取得 → ファイルから → フォルダーから
2. フォルダを指定して「OK」
3. ファイル一覧が表示されます。「結合 → 結合および変換」をクリック。
4. サンプルファイルの設定ダイアログが表示されます。対象のシート(またはCSV設定)を選択して「OK」。
5. Power Queryがすべてのファイルを読み込み、縦に結合してエディターに表示します。自動的に「Source.Name」列(元のファイル名)が追加されます。
仕組みを理解する ― 「サンプルファイルの変換」クエリ
フォルダ取り込みを行うと、左パネルにいくつかの補助クエリが自動生成されます。最も重要なのは「サンプルファイルの変換」というクエリです。これは「各ファイルに対して個別に行う変換」を定義する場所です。たとえば「先頭行の削除」「ヘッダー昇格」などをここで設定すると、全ファイルに自動適用されます。
フォルダに新しいファイルを追加した後、Excelで「データ → すべて更新」するだけで、新しいファイルが自動的に取り込まれます。月次データの蓄積に最適です。
フォルダ内のファイルは、列名・列順・データ型が統一されている必要があります。1つのファイルだけ列名が違うと、null列が増えたりエラーになったりします。
データソース別まとめ
| ソース | メニュー | 主な注意点 | Excel 2016対応 |
|---|---|---|---|
| CSV / テキスト | ファイルから → テキストまたはCSVから | 文字コード指定(Shift_JIS / UTF-8) | 対応 |
| Excelブック | ファイルから → Excelブックから | テーブル名で取り込むのが安全 | 対応 |
| 同一ブック | テーブルまたは範囲から | テーブル化が前提 | 対応 |
| ファイルから → PDFから | テキストベースのみ。画像PDFは不可 | 非対応(2019以降) | |
| Webページ | その他のデータソースから → Webから | HTML table要素のみ。動的ページは困難 | 対応 |
| フォルダ | ファイルから → フォルダーから | 同一構造のファイルが前提 | 対応 |
まとめ
データ取り込みは Power Query の出発点です。CSVの文字化けは「文字コードの指定」、Excelブックは「テーブル名で取り込む」、PDFは「テキストベースのみ可能」、フォルダは「サンプルファイルの変換で共通処理を定義」― この4つの原則を覚えておけば、取り込みで困ることはほぼなくなります。VBAが使えない環境では、まずこの範囲をPower Queryで代替できないか確認するのが安全です。