取引先や販売管理システムから毎日のように届くCSVファイルを、開いてコピーしてExcelに貼り付ける。
この作業を担当者が交代で続けている会社は少なくありません。
CSV自体はテキストデータなので構造は単純ですが、文字コードや区切り文字の違いで開いた瞬間に文字化けしたり、列がずれたりすることがあり、慣れていても手間がかかる作業です。
Power AutomateでCSVの受け取りからExcelへの書き込みまでを自動化できれば、この定型作業をなくせます。
この記事では、CSV取り込みが手作業になりがちな理由を整理したうえで、メールに添付されたCSVをExcelへ取り込む手順と、文字コード・区切り文字のつまずきへの対処をまとめています。
CSV取り込みが手作業になりがちな理由
CSVは表計算ソフトの独自形式と違い、値をカンマや改行だけで区切ったシンプルなテキストファイルです。
仕組みが単純な分、逆に「どの文字コードで書かれているか」「区切り文字がカンマなのかタブなのか」といった情報をファイル自体が持っていません。
そのため受け取る側は、送信元のシステムごとに異なる形式を毎回目で確認しながら開く必要があります。
さらに、CSVを直接Excelで開くと日付や郵便番号のような桁数のある値が自動で変換されてしまい、先頭の0が消えるといった事故も起きやすいところです。
こうした細かい判断が挟まるせいで、単純な転記のはずが「詳しい人でないと任せられない作業」になっているケースが目立ちます。
自動化フローに変換のルールをあらかじめ組み込んでおけば、担当者ごとの判断のばらつきをなくせるはずです。
メールで届くCSVをExcelへ取り込むフローを作る
ここでは、取引先からメールに添付されて届くCSVを受け取り、内容をExcelファイルへ書き込むフローを作ります。
基本の流れは、添付ファイルの受け取り、CSVのテキストとしての読み込み、行ごとの分解、Excelへの書き込みの4段階です。
Step1. メールの受信をトリガーにする
Outlookコネクタの「新しいメールが届いたとき」をトリガーに設定し、件名や送信元のフィルターで対象のメールだけに絞り込みます。
添付ファイルがあるメールに限定する条件も、この段階で付けておくと後続の処理が安定するはずです。
Step2. 添付ファイルの中身を取得する
トリガーの出力に含まれる添付ファイルの一覧をApply to eachで回し、ファイル名の拡張子が「.csv」のものだけを対象にする条件分岐を挟みます。
添付ファイルのコンテンツはBase64でエンコードされているため、後続の処理ではこれをテキストとして扱えるように変換が必要です。
Step3. CSVの内容を行と列に分解する
CSVのテキストを改行で分割すると1行分の文字列の配列になり、その各行をカンマでさらに分割すると列単位の値が取り出せます。
Power Automateには標準のCSV解析アクションがありません。
split()関数を組み合わせた式で分解するか、Power Automate Desktopの「CSV ファイルから読み取る」アクションを使う方法があります。
値の中にカンマ自体が含まれる項目がある場合、単純な分割では崩れます。
その可能性がある取引先のデータでは、後者の使用を検討してください。
Step4. Excelにテーブルとして書き込む
分解できた行データを、Excel Online(Business)コネクタの「表に行を追加」アクションでApply to eachにより1行ずつ書き込みます。
書き込み先のExcelファイルは、あらかじめ列見出しを設定したテーブルとして用意しておく必要があります。
少数件のテストデータで文字化けや列のずれがないことを確認してから、本番の取引先データへ切り替える流れです。
ここまでで、メール添付のCSVをExcelへ自動で取り込む基本のフローが完成します。
文字コード・区切りのつまずき
CSV取り込みで実際につまずくのは、ほとんどが文字コードと区切り文字の不一致というのが実感です。
どのような組み合わせで問題が起きやすいか、目安と対応を整理すると次のようになります。
| つまずきの種類 | 起きやすい状況 | 対応の考え方 |
|---|---|---|
| 文字コードの不一致 | 送信元が古い販売管理システムでShift-JIS出力、受け取り側はUTF-8前提 | 取り込み前にどちらの文字コードかを取引先に確認し、必要ならエンコード変換の処理を挟む |
| 区切り文字の違い | 海外システムや一部の会計ソフトがセミコロンやタブ区切りで出力 | ファイルの先頭行を目視確認し、区切り文字を固定値ではなく変数として扱う |
| 改行コードの違い | Windows由来とMac・Linux由来のファイルが混在 | 改行での分割処理に複数の改行パターンを含めておく |
これらは一度パターンを把握してしまえば、フロー内の分岐で機械的に振り分けられます。
ただし取引先が増えるたびに新しい組み合わせが出てくることもあるため、想定外の形式で処理が止まった場合にエラー内容が担当者にメールで通知される仕組みも合わせて用意しておくと安心です。
つまずきやすいポイント
文字コードや区切り文字以外では、ヘッダー行の扱いでつまずく相談が多くあります。
CSVの1行目が列名なのかデータの1件目なのかをフロー側で判定できないため、行を分解した後に「1行目を読み飛ばす」処理を明示的に入れておく必要があります。
数値のように見える列がテキストとして扱われてしまう問題も、よく相談を受ける点です。
CSVの段階では文字列と数値の区別がないため、Excelへ書き込む際に金額や数量の列を数値型として明示的に変換しないと、後の集計で合計が正しく出ないことがあります。
添付ファイル自体をまず保存しておきたい場合は、メール添付ファイルの自動保存の手順も参考になります。

Excelに取り込んだデータをさらに別のシステムへ連携したい場合は、SharePointリストへの一括登録の方法も確認しておくと役立ちます。

どこから自動化に着手すればよいか整理したい場合は、こちらの記事も合わせて確認しておくと迷いが減ります。

CSVの取り込みでお困りではありませんか?
「取引先ごとに形式が違って処理が止まる」「文字化けや列ずれが直らない」「毎日の転記作業から抜け出したい」
少しでもお心当たりがあれば、お気軽にご相談ください。
現在、Power Automateの業務自動化に関するお悩みをお伺いする 無料の個別相談 を実施しています。
よくある質問
Q. Power Automateには専用のCSV読み込みアクションがありますか?
標準コネクタには専用のCSV解析アクションはありません。
split()関数を使った式でテキストを行と列に分解するか、値の中にカンマが含まれる複雑なCSVを扱う場合はPower Automate Desktopの専用アクションを使う方法があります。
Q. 文字コードが原因の文字化けは、どの段階で直すべきですか?
添付ファイルを読み込んだ直後、行と列に分解する前の段階で直しておくのが確実です。
文字化けしたまま処理を進めると、後続のすべての工程でデータが壊れた状態になり、原因の切り分けが難しくなります。
Q. 同じCSVを誤って2回実行すると、Excelにデータが重複しますか?
重複します。
「表に行を追加」アクションは実行のたびに新しい行を追加する仕組みのため、再実行を想定する運用にする場合は、取り込み済みのファイル名を記録して二重処理を防ぐ条件分岐を組み込んでおいてください。