Excelで作業をしていると、毎日届くCSVデータを手動で開いてコピペして……という煩雑な作業に追われてしまうことがあります。しかし、ExcelにはCSVファイルを自動で取り込む仕組みが備わっており、これを活用すれば作業時間を大幅に短縮できます。
本記事では、ExcelにCSVデータを自動で取り込む基本的な方法から、実務で役立つ応用テクニックまで、わかりやすく解説します。繰り返し作業を効率化したい方、ミスを減らしたい方におすすめの内容です。
目次
なぜ「CSVデータの自動取り込み」が必要なのか?
CSVファイルは、システムからの出力データや、外部とのやり取りにおいて最も広く使われているフォーマットです。しかし、次のような作業を毎回手動で行っていると、大きな負担になります。
CSVファイルを開く
必要なデータをコピー
Excelに貼り付ける
整形・編集する
これらを自動化すれば、次のようなメリットがあります。
毎日のルーチンワークが劇的に短縮される
ヒューマンエラーが減る
集計やレポート作成がスムーズになる
Excelの機能や簡単なマクロ(VBA)を使えば、驚くほど簡単に実現できます。
【Excel】CSVファイルをExcelで開く設定方法|正しく開いて文字化けやデータ崩れを防ぐ
・ データタブの「テキスト/CSVからの取得」を使う方法
Excelには標準で、CSVファイルを自動で取り込む機能が搭載されています。最新版(Excel 2016以降)では、「データタブ → テキスト/CSVから」を使うのが最も簡単です。
操作手順
Excelを開き、データタブをクリック
「テキストまたはCSVから」を選択
読み込みたいCSVファイルを選択して開く
プレビュー画面で、ファイルのエンコード(例:UTF-8)、区切り記号(カンマ)などを確認
「読み込み」をクリック
これで、CSVファイルの内容がExcelシートに取り込まれます。
取り込み時にできる便利な設定
列のデータ型(文字列・日付・数値など)を個別に指定できる
区切り文字(カンマ、タブ、スペースなど)を自由に選べる
読み込む範囲をテーブルまたは単なるデータ範囲として設定可能
ポイント
「テーブルとして読み込む」にしておくと、後からCSVファイルを更新した際に、**ボタン一つで再読み込み(更新)**できるので非常に便利です。
【Excel】CSVファイルをExcelデータに一括で変換する方法|手間を大幅削減できる便利なテクニック
・ Power Queryを使ってさらに自動化する方法
「テキスト/CSVからの取得」で読み込んだデータは、実はPower Query(パワークエリ)という機能を使っています。
Power Queryをさらに活用すれば、
CSVファイルを指定フォルダから自動で探して取り込む
取り込み時に不要な列を削除、フィルタリングなどの処理を自動実行
複数ファイルを一括読み込みして1つにまとめる
といった高度な自動化が可能になります。
Power QueryでCSV取り込みを設定する手順
データタブ →「データの取得」→「ファイルから」→「CSV」
ファイルを選択し、インポート設定画面へ
クエリエディタで不要な列を削除、フィルター適用などの前処理を設定
「読み込み」または「読み込み先を選択」をクリック
これにより、次回以降はワンクリックで最新のCSVデータを取り込めるようになります。
VBAを使って完全自動で取り込む
もっと自動化レベルを上げたい場合、簡単なVBA(マクロ)を使って、CSVファイルを指定の場所にあるだけ自動取り込みすることも可能です。
サンプルコード(指定ファイルを取り込む)
Sub CSV読み込み()
Dim ws As Worksheet
Dim filePath As String
Set ws = ThisWorkbook.Sheets("Sheet1") '取り込むシート
filePath = Application.GetOpenFilename("CSVファイル (*.csv), *.csv", , "CSVファイルを選択してください")
If filePath = "False" Then Exit Sub
With ws.QueryTables.Add(Connection:="TEXT;" & filePath, Destination:=ws.Range("A1"))
.TextFileConsecutiveDelimiter = False
.TextFileCommaDelimiter = True
.TextFilePlatform = 65001 'UTF-8
.Refresh BackgroundQuery:=False
End With
End Sub
このマクロを使えば、ボタン1つで任意のCSVファイルをシートに取り込むことができます。
ポイント
取り込むシートは「Sheet1」と指定していますが、適宜変更可能
CSVファイルが更新されたら、また実行するだけ
CSV取り込み時の注意点
注意点 | 内容 |
---|---|
文字コードを確認 | UTF-8なら文字化けしにくい。Shift_JISは要注意 |
先頭ゼロ(0)の保持 | 郵便番号・社員番号などは文字列型に設定する |
フィルタ・ソート処理 | 必要ならPower Queryで取り込み時に自動設定 |
更新頻度と管理方法 | ファイルが定期的に更新されるなら自動更新を活用 |
特に「0落ち問題(ゼロサプレス)」と「文字化け問題」は、CSV取り込み時に頻出するので事前に対策しておきましょう。
【Excel】複数シートのExcelをPDFに変換する方法【すべてのシートを1つのPDFに!】
まとめ:Excel×CSV取り込みの自動化で業務効率を最大化しよう
ExcelにCSVデータを取り込む作業は、工夫次第で簡単に自動化できます。
データタブの基本機能だけでも十分便利ですが、Power QueryやVBAを活用すれば、より高度な自動処理も実現できます。
毎日CSVを取り込んで報告書を作成する
外部システムから届くデータを整形して管理する
定期的にデータベース用のインポートファイルを作成する
こうした作業にかかる手間を減らすためにも、ぜひExcel標準機能+Power Query+VBAをうまく組み合わせて、業務効率化に役立ててください。