Nana Lab Tools
業務効率化

Excelのファイル名から年月を取得するには?Power Queryでファイル名をデータとして活用

Excelのファイル名から年月を取得するには?Power Queryでファイル名をデータとして活用

毎月繰り返しているExcel作業を見つけるところから始まったこのシリーズも、今回で4回目になります。前回の記事では、Power Queryでフォルダー内の複数のExcelファイルをまとめる方法を紹介しました。今回はその一歩先として、Excelファイルの中身だけでなく、ファイル名や保存場所からも集計に使える情報を補う方法を紹介します。

結論から言うと、Excelの中身だけがデータではありません。ファイル名や保存場所にも、集計に使える情報が含まれていることがあります。たとえば「2026年08月_名古屋店_売上.xlsx」というファイル名からは、対象年月と店舗名を読み取れます。Power Queryを使えば、この情報をExcel内部のデータと同じように「対象年月」「店舗名」という列として追加できます。今回もM言語を直接書く必要はなく、基本はメニューを選んでいくUI操作の範囲で説明します。

Excel内部に年月が入っていないケース

毎月同じフォーマットでExcelファイルを作っている場合、次のような運用になっていることがあります。

  • 2026年06月_名古屋店_売上.xlsx
  • 2026年07月_名古屋店_売上.xlsx
  • 2026年08月_名古屋店_売上.xlsx

それぞれのファイルを開くと、中身は次のような表になっています。

商品名数量売上金額
商品A26000
商品B14500

このファイルを1つだけ見ている分には、特に困ることはありません。ファイル名を見れば「2026年8月の名古屋店の売上」だと人間には分かりますし、表自体もシンプルで扱いやすい形です。

問題が起きるのは、複数月のファイルを1つにまとめたときです。前回紹介したフォルダー読み込みの方法を使うと、こうした複数ファイルの表をまとめて1つの表として取り込めます。ところが、Excel内部の表そのものには対象年月や店舗名の列がないため、まとめた後の表を見ても「この行が何月の、どの店舗のデータなのか」が分からなくなってしまいます。

ここで役立つのが、ファイル名そのものをデータとして利用するという考え方です。人間がファイル名を見て年月や店舗名を判断できるのであれば、その情報を機械的にも取り出せる可能性があります。

Power Queryではファイル情報も取得できる

前回、フォルダーから複数ファイルを取得する方法を紹介しましたが、このときPower Queryが取得しているのは、Excel内部のデータだけではありません。ファイルそのものに関する情報も、あわせて取得されています。

代表的なものとして、次のような項目があります。

  • Name(ファイル名)
  • Extension(拡張子)
  • Folder Path(保存先のフォルダーパス)
  • Date modified(更新日時)
  • Content(ファイルの中身のデータ)

それぞれの項目を詳しく使いこなす必要はありません。今回の記事で中心的に扱うのは、このうちのName、つまりファイル名です。ファイル名の情報を使うと、Excel内部にない対象年月や店舗名を、後から列として追加できるようになります。Folder PathやDate modifiedについても、この記事の後半で簡単に触れます。

ファイル名にルールがあると使いやすい

ファイル名の情報を活用できるかどうかは、ファイル名の付け方に一定のルールがあるかどうかで大きく変わります。

たとえば、次のようなファイル名には、明確な情報が含まれています。

2026年08月_名古屋店_売上.xlsx

このファイル名には、「2026年08月」「名古屋店」「売上」という3つの情報が、決まった順序と区切り文字で並んでいます。

一方で、次のようなファイル名が混在していると、機械的な処理には使いにくくなります。

  • 8月.xlsx
  • 最新版.xlsx
  • 売上修正版.xlsx
  • 売上最新2.xlsx

これらは人が見てもどのファイルが何のデータなのか判断しづらく、当然、決まった位置から情報を取り出すような処理にも向いていません。

ここで大切なのは、ファイル名を単なる「名前」としてではなく、データ管理ルールの一部として考えることです。前回までの記事でも、ファイル名やフォルダー名に統一したルールを持たせておくと、後から自動化しやすくなるという考え方に触れました。今回は、そのルールを実際にどう活用するかという話になります。

ファイル名のルールの一例として、次のような形が挙げられます。

YYYY年MM月_店舗名_データ種別.xlsx

例:2026年08月_名古屋店_売上.xlsx

このようなルールを決めておくと、次のようなメリットがあります。

  • 人が見ても内容が分かりやすい
  • 目的のファイルを探しやすい
  • ファイルを並べたときに順序がそろう
  • 自動処理でも情報を取り出しやすい

ただし、この命名ルールが唯一の正解というわけではありません。業種や運用によって、もっと適した並び順や区切り文字があるかもしれません。重要なのは、どのようなルールでもよいので、一定の型を決めて運用することです。

ファイル名から「対象年月」を取り出す

ファイル名にルールがあれば、Power Queryを使ってその一部を列として取り出せます。ここでは「2026年08月_名古屋店_売上.xlsx」というファイル名から、「2026年08月」を「対象年月」という列として追加する流れを紹介します。

現在の一般的なExcelの画面では、大まかに次のような操作になります。Excelのバージョンや表示によってメニューの名称や配置が多少異なる場合があるため、実際に操作する際は手元の画面を確認しながら進めてください。

  1. Power Queryエディターで、ファイル名が入っている列(Name列)を選ぶ
  2. 「列の分割」のような機能を使い、区切り文字「_」で列を分割する
  3. 分割された列のうち、年月にあたる部分(先頭の「2026年08月」の部分)を残す
  4. その列の名前を「対象年月」に変更する

「2026年08月_名古屋店_売上.xlsx」というファイル名は、区切り文字「_」で分割すると、「2026年08月」「名古屋店」「売上.xlsx」という3つの部分に分かれます。このうち、先頭の部分を「対象年月」という列名に変更すれば、Excel内部にはなかった対象年月の情報を、表の中に列として持たせられます。

一度この設定をしておけば、翌月以降も同じ命名ルールでファイルを保存していく限り、ファイルを追加して更新するだけで、対象年月の列も自動的に埋まっていきます。

店舗名も取り出せる

同じ考え方で、ファイル名の2つ目の部分である「名古屋店」も、「店舗名」という列として取り出せます。分割した列のうち、店舗名にあたる部分の列名を「店舗名」に変更するだけです。

この方法が特に役立つのは、複数店舗のファイルをまとめて扱うときです。たとえば、次のような3つのファイルがあるとします。

  • 2026年08月_東京店_売上.xlsx
  • 2026年08月_大阪店_売上.xlsx
  • 2026年08月_名古屋店_売上.xlsx

それぞれのExcel内部には、商品名・数量・売上金額といった列しかありません。ですが、前回紹介したフォルダー読み込みでこれらのファイルをまとめ、今回紹介したファイル名からの抽出を組み合わせると、次のような表を作れます。

対象年月店舗名商品名売上金額
2026年08月東京店商品A5000
2026年08月大阪店商品A6200
2026年08月名古屋店商品A6000

Excel内部のどこにも「東京店」「大阪店」「名古屋店」という文字を入力していなくても、ファイル名から店舗名を補えるため、店舗ごとの集計や比較がそのまま行えるようになります。これは、ファイル名の情報を活用する一番分かりやすいメリットと言えます。

拡張子を除いてから使う場合

ファイル名には、末尾に「.xlsx」のような拡張子が含まれています。先ほどの例で言えば、「_」で区切った最後の部分は「売上.xlsx」となり、拡張子までがくっついた状態です。

もし「売上」という部分だけをデータ種別として使いたい場合は、拡張子を取り除く操作や、区切り文字をさらに分けて不要な部分を削除する操作が必要になります。今回は、そこまで深く扱いません。まずは、ファイル名には拡張子も含まれているという点を知っておき、必要に応じて取り除けるということを覚えておいてください。

Folder Pathも情報として使える

もう少し発展した話として、ファイル名だけでなく、保存場所そのものも情報として使える場合があります。

たとえば、次のように店舗ごとにフォルダーを分けて保存しているケースを考えてみます。

  • 売上データ/東京店/
  • 売上データ/名古屋店/
  • 売上データ/大阪店/

このような保存の仕方をしていれば、Power Queryが取得するFolder Path(保存先のフォルダーパス)を使って、どの店舗のファイルかを判別するという考え方もあります。ファイル名だけでなく、保存場所にも情報を持たせられるということです。

今回は、この具体的な加工方法までは扱いません。ファイル名だけでなく、保存場所も情報として利用できる、ということを知っておく程度にとどめておきます。

Date modifiedの使い道

Power Queryでフォルダーを読み込むと、ファイルの更新日時(Date modified)も一緒に取得できます。更新日時は、次のような用途で使えます。

  • どのファイルがいつ更新されたのかを確認する
  • 更新が止まっているファイルがないか、更新漏れを探す材料にする
  • ファイル管理が正しく行われているかを確認する

ここで注意しておきたいのは、更新日時はあくまで「ファイルが最後に保存された日時」であり、売上の対象年月や売上日とは限らないということです。たとえば、8月分の売上ファイルを9月に入ってから修正して保存すれば、更新日時は9月になりますが、データの対象年月は8月のままです。更新日時を、そのまま売上の対象年月として使うことはおすすめできません。ファイル管理の確認材料として使う情報だと考えておいてください。

ファイル内部へ同じ情報を毎回入力しなくてもよい場合がある

各店舗に「店舗名を決まったセルへ必ず入力してください」といった運用ルールを設けている場合もあると思います。この運用自体が悪いわけではありませんが、ファイル名にすでに正確な店舗名が含まれているのであれば、設計によってはファイル名の情報をそのまま活用できる場合があります。

もちろん、これは「必ずファイル名から取得すべき」という話ではありません。Excel内部に店舗名や年月を入力しておいた方が、他の用途で扱いやすい場合もありますし、ファイル名の運用が崩れるリスクを考えると、内部入力も残しておいた方が安心なケースもあります。あくまで、「すでに正確な情報がファイル名に存在するなら、それを活用できる場合もある」という選択肢として捉えてください。

Nana Lab Toolsについて

Nana Lab Toolsでは、今回のようなファイル名からの情報抽出を含め、日々の入力・集計・ファイル操作にかかる手間を、小さなツールや自動化によって効率化するお手伝いをしています。ファイル名のルール設計から相談したい場合や、自社のファイルにこの方法が使えるか判断がつかない場合も、相談いただけます。

ツール開発の事例を見る/1分無料相談

よくある質問

Q. ファイル名にルールを決めていません。今からでも活用できますか?

A. まずは、今後新しく作るファイルから、年月・店舗名・データ種別のような一定のルールで名前を付けていくところから始められます。過去のファイルまで一度にそろえる必要はありません。すでに名前がバラバラな大量のファイルを一括で修正するような方法は、今回の記事では扱っていません。

Q. 更新日時を売上の対象年月として使ってもいいですか?

A. おすすめできません。更新日時はファイルが最後に保存された日時であり、売上の対象年月とは一致しないことがあります。対象年月として使いたい情報は、ファイル名など、実際の対象月を正確に表している項目から取得することをおすすめします。

Q. フォルダーで店舗を分けています。フォルダー名からも店舗を判別できますか?

A. できる場合があります。Power Queryでは保存先のフォルダーパス(Folder Path)も取得できるため、店舗ごとにフォルダーを分けて保存しているのであれば、そこから店舗を判別する考え方もあります。具体的な加工方法は今回の記事では扱っていません。

Q. ファイル名から情報を取得できれば、Excel内部への入力はもう不要になりますか?

A. 必ずしもそうとは限りません。すでに正確な情報がファイル名に含まれているなら活用できる場合がありますが、内部入力をなくすべきだという話ではありません。他の用途での使いやすさや、ファイル名の運用が崩れたときのリスクも踏まえて、どちらの情報を使うかを判断してください。

Q. 今回の内容は、M言語の知識がないと実践できませんか?

A. 今回紹介した範囲は、列の分割や列名の変更といった、メニューを選んでいく基本的なUI操作でできる内容です。M言語を直接書く必要はありません。

まとめ

Excelの中身だけがデータではありません。ファイル名や保存場所にも、集計に使える情報が含まれていることがあります。ファイル名に「対象年月」「店舗名」のような情報を一定のルールで含めておけば、Power Queryを使ってその情報を列として取り出し、Excel内部のデータに追加できます。更新日時は売上の対象年月とは限らないため、その区別には注意が必要です。また、ファイル名にすでに正確な情報があるなら、Excel内部への重複入力を見直せる場合もあります。

複数ファイルをまとめたり、ファイル名から情報を補ったりできるようになると、「この処理は関数でやるべきか、ピボットテーブルを使うべきか、Power Queryに任せるべきか」という疑問も出てきます。次回は、それぞれの役割と使い分けを整理します。

関連記事

1時間のExcel作業を5分にするには?自動化より先に見直したい業務の流れ
業務効率化

1時間のExcel作業を5分にするには?自動化より先に見直したい業務の流れ

「1時間の作業を5分に」とは操作を速くすることではなく、不要な作業そのものを減らすことです。売上管理を例に、Excel自動化シリーズの総まとめとして、業務全体の流れを見直す考え方を整理します。

Power BIは無料で使える?Excelデータを見える化する第一歩
業務効率化

Power BIは無料で使える?Excelデータを見える化する第一歩

Power BI Desktopは無料で使えるのか、Excelとどう違うのか気になる方へ。Power BI DesktopとPower BI Serviceの役割の違いを整理し、売上管理のExcelデータを例に最初のレポート作成を紹介します。

毎月のExcelグラフ更新を効率化するには?売上レポートを作り直さない仕組み
業務効率化

毎月のExcelグラフ更新を効率化するには?売上レポートを作り直さない仕組み

毎月グラフの参照範囲を手で広げていませんか。売上明細・集計・グラフを分けて考え、テーブルやピボットグラフを使い、データを更新するだけで済む仕組みの作り方を、売上管理を例に解説します。

Excel関数・ピボットテーブル・Power Queryはどう使い分ける?売上管理を例に整理
業務効率化

Excel関数・ピボットテーブル・Power Queryはどう使い分ける?売上管理を例に整理

Excel関数・ピボットテーブル・Power Queryはそれぞれ何が得意なのか、どう使い分ければいいのか、売上管理を例に整理します。優劣ではなく役割の違いから考える方法を紹介します。

複数のExcelを1つにまとめるには?Power Queryで毎月の売上集計を効率化
業務効率化

複数のExcelを1つにまとめるには?Power Queryで毎月の売上集計を効率化

毎月各店舗から届く複数のExcelを1つずつ開いてコピーしていませんか。Power Queryでフォルダー内の複数ファイルをまとめて取り込み、更新するだけで済む流れを、売上集計を例に解説します。

Excel自動化の前にデータを整理しよう|自動化しやすい表の作り方
業務効率化

Excel自動化の前にデータを整理しよう|自動化しやすい表の作り方

Excel作業を自動化する前に、まず整えておきたいデータの形を紹介します。人が見て分かりやすいExcelと自動化しやすいExcelの違いを、売上管理を例に具体的に解説します。

そのExcel作業、毎回手でやっていませんか?繰り返し作業は小さな自動化から始めよう
業務効率化

そのExcel作業、毎回手でやっていませんか?繰り返し作業は小さな自動化から始めよう

毎月同じExcel作業を繰り返していませんか。売上管理でよくある転記・集計・グラフ更新を例に、全部を一度に自動化しなくても、小さな一歩から見直しを始める考え方を紹介します。