現在のExcelで「データ」タブの「テキストまたはCSVから」を使うと、Power Queryの画面でCSVを取り込みます。以前の3ステップのテキストファイルウィザードは、初期状態ではメニューに出ていません。ただし、オプションで表示させれば今でも使えます。ここではWindows版のExcel(Microsoft 365など)を前提に、次の内容を説明します。
- ウィザードを表示する設定
- ウィザードでCSVを取り込む手順
- Power Query版とどちらを使うかの判断
従来のウィザードをメニューに表示する
- 「ファイル」→「オプション」を開きます。
- 左側で「データ」を選びます。
- 「レガシ データ インポート ウィザードの表示」の欄で、「テキストから (レガシ)」にチェックを入れます。
- 「OK」で閉じます。
この設定はブックではなく、そのパソコンのExcelに対する設定です。別のパソコンや別のユーザーで使う場合は、それぞれで設定します。項目名の表記は、バージョンによって少し違うことがあります。「データ」の画面にこの項目がない場合は、使っているExcelのバージョンを確認してください。古いバージョンには「データ」タブに最初から「テキストファイル」ボタンがあり、そこから同じウィザードが開きます。
データタブからウィザードを呼び出す
設定が済んだら、「データ」タブの「データの取得」→「従来のウィザード」→「テキストから (レガシ)」を選びます。ファイルを選ぶ画面で取り込みたいCSVを指定すると、テキストファイルウィザードが開きます。CSVが一覧に表示されない場合は、ファイルの種類の欄を確認してください。
3つのステップでCSVを取り込む
ステップ1:データの形式と文字コード
- 元のデータの形式は「区切り記号付き」を選びます。
- 「元のファイル」で文字コードを選びます。UTF-8のCSVなら「65001 : Unicode (UTF-8)」、シフトJISなら「932 : 日本語 (シフト JIS)」です。下のプレビューで日本語が正しく読めるか確認します。
- 「取り込み開始行」は通常1のままです。CSVの先頭に説明の行などがある場合は、見出し行の行番号を指定します。
- 見出し行があり、「先頭行をデータの見出しとして使用する」のチェックボックスが表示されていれば、チェックを入れます。
ステップ2:区切り文字と引用符
- 区切り文字は「カンマ」だけにチェックを入れます。「タブ」に最初からチェックが入っていたら外します。
- 「文字列の引用符」は
"にします。値にカンマを含むCSVでも、ダブルクォーテーションで囲まれていれば1つの列として読めます。 - 「連続した区切り文字は1文字として扱う」は、CSVではチェックを外します。チェックがあると空欄の項目が詰められ、列がずれます。
プレビューで、列が正しい位置で区切られているか確認します。
ステップ3:列のデータ形式
プレビューで列を選び、「G/標準」「文字列」「日付」「削除する」から形式を指定します。顧客コード・郵便番号・電話番号のように先頭の0を残したい列は「文字列」にします。列ごとの指定で先頭0や日付の変換を防ぐ詳しい方法は、先頭0・日付の取り込み方の記事で扱っています。
「完了」を押すと、データを返す先を聞かれます。既存のワークシートのセル(例:=$A$1)か新規ワークシートを選び、「OK」で取り込みます。
取り込んだ範囲は元のファイルとつながっている
ウィザードで取り込んだ範囲は、元のCSVファイルとつながった外部データ範囲になります。「データ」タブの「すべて更新」で読み直せますが、テキストファイルの場合は、更新のたびにファイル名を確認する設定になっていることがあります。更新時の動作を確認・変更するには、範囲内のセルを選び、「データ」タブの「プロパティ」から外部データ範囲のプロパティを開きます。
一度取り込めば十分で、ファイルとのつながりが不要なこともあります。その場合は、取り込んだ範囲をコピーして別のシートに値として貼り付けておくと、うっかり更新して内容が変わる心配がありません。
ほかの開き方:拡張子を.txtにしてExcelで開く
メニューの設定を変えられない環境では、別の方法があります。CSVのコピーを作って拡張子を .txt に変え、Excelの「ファイル」→「開く」から開きます。テキストファイルとして開かれるので、同じテキストファイルウィザードが表示されます。この方法では新しいブックとして開かれ、元のファイルとのつながりはありません。元のCSVの拡張子を変えると、ほかのシステムが読めなくなることがあるので、必ずコピーで行います。
Power Query版とどちらを使うか
| 観点 | 従来のウィザード | Power Query(テキストまたはCSVから) |
|---|---|---|
| 操作 | 3ステップで完結 | プレビュー後に「読み込み」または「データの変換」で編集 |
| 列の形式 | ステップ3で列ごとに指定 | データ型が自動で判定され、必要に応じて変更 |
| 加工 | 列を読み込まない指定くらい | 絞り込み・列の分割・結合などを手順として保存できる |
| 繰り返し | 毎回ほぼ同じ操作が必要 | ファイルを差し替えて更新するだけにできる |
| 結果 | 通常のセル範囲 | 既定ではテーブルとして読み込まれる |
従来のウィザードが向いているのは、単発の取り込みで、列ごとの形式をその場で決めたい場合です。たとえば、先頭0のあるコード列が多いCSVを、手早く文字列として取り込みたいときに扱いやすい方法です。
Power Queryが向いているのは、繰り返しの作業です。毎月同じ形式のCSVを取り込む場合や、取り込みと同時に不要な列の削除や絞り込みをしたい場合に使います。ただし、自動判定でコード列が数値に変わることがあります。取り込み後に「変更された型」の手順を確認してください。
迷ったら、「次回も同じ作業をするか」で判断します。一度きりなら従来のウィザード、繰り返すならPower Queryです。
うまくいかないとき
- メニューに「テキストから (レガシ)」が出ない:オプションの設定が保存されたか確認し、Excelを開き直します。
- 日本語が文字化けする:ステップ1の「元のファイル」で文字コードを切り替え、プレビューが読める方を選びます。
- すべてがA列に入る:ステップ2で「カンマ」にチェックが入っているか確認します。
- 途中から行や列がずれる:値の中に改行を含むCSVは、このウィザードではうまく扱えないことがあります。その場合はPower Queryでの取り込みを試します。
