【Excel】Power Queryで日付列から「年月」列を自動追加!Excelの月別集計データ準備術

【Excel】Power Queryで日付列から「年月」列を自動追加!Excelの月別集計データ準備術
🛡️ 超解決

Excelでの月別集計は、多くのビジネスシーンで必要とされる作業です。しかし、元データに日付はあっても「年月」の形式で表示されていない場合、手作業での追加や関数での加工に手間がかかることがあります。そんな時、Power Queryを使えば、日付列から「年月」列を自動で追加し、集計しやすいデータ形式に素早く変換できます。この記事では、Power Queryを使った日付列からの「年月」列自動追加方法を解説します。

Power Queryは、Excelに標準搭載されているデータ整形・加工ツールです。複雑なデータも、GUI操作で効率的に整形できます。この機能を使えば、毎回同じ手間をかける必要がなくなり、集計作業のスピードが格段に向上します。

【要点】Power Queryで日付列から「年月」列を自動追加する手順

  • 日付列の選択と追加: 日付が含まれる列を選び、新しい列を追加します。
  • 「年月」形式の抽出: Power Queryの「日付」機能を使って「年」と「月」を抽出します。
  • 列の結合または整形: 抽出した「年」と「月」を組み合わせて「年月」形式の列を作成します。
  • データの読み込み: 整形したデータをExcelシートに読み込みます。

ADVERTISEMENT

Power Queryで「年月」列を追加する仕組み

Power Queryは、Excelのデータソースを読み込み、指定した手順に従って自動的に整形する機能です。元データが更新されても、一度設定したPower Queryのステップを再実行するだけで、最新のデータに対して同じ整形処理を適用できます。日付列から「年月」を抽出する際には、Power Queryが日付データを内部的に認識し、年、月、日といった要素に分解する機能を利用します。

この仕組みにより、手作業でIF関数やTEXT関数を駆使して年月を生成するよりも、はるかに直感的で効率的なデータ準備が可能になります。特に、大量のデータを扱う場合や、定期的に集計作業を行う場合に、その効果は絶大です。

お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

日付列から「年月」列を自動追加する手順

ここでは、Excelのテーブルとして用意されたデータから、Power Queryを使って「日付」列を基に「年月」列を自動追加する具体的な手順を解説します。操作はExcel for Microsoft 365を基準に説明しますが、Excel 2019・2021でも同様の機能が利用可能です。

1. Power Queryエディターの起動とデータ読み込み

まず、Power Queryエディターを起動し、集計したいデータが含まれるExcelテーブルを読み込みます。データがExcelテーブルになっていない場合は、事前にテーブルに変換しておくと便利です。

  1. Excelテーブルの準備
    対象のデータ範囲を選択し、「挿入」タブから「テーブル」をクリックします。ヘッダーがある場合は、「先頭行をテーブルのヘッダーとして使用する」にチェックを入れて「OK」をクリックします。
  2. Power Queryへのデータ読み込み
    テーブル内の任意のセルを選択した状態で、「データ」タブをクリックします。「データの取得と変換」グループにある「テーブルまたは範囲から」をクリックします。
  3. Power Queryエディターの表示
    Power Queryエディターが起動し、選択したテーブルのデータが表示されます。

2. 「年月」列の追加

Power Queryエディターで、日付列から「年月」を抽出して新しい列を追加します。この操作は、Power Queryが持つ日付関連の豊富な機能を利用します。

  1. 日付列の選択
    Power Queryエディターで、年月を抽出したい日付が含まれる列ヘッダーをクリックして選択します。例:「注文日」列など。
  2. 「年月」の抽出メニューを開く
    「列の追加」タブをクリックします。「日付」ボタンをクリックし、表示されるメニューから「年」→「年」を選択します。これにより、「年」だけの列が追加されます。
  3. 「月」の抽出
    再度、同じ日付列を選択した状態で、「列の追加」タブの「日付」ボタンをクリックします。今度は「月」→「月」を選択します。これにより、「月」だけの列が追加されます。
  4. 列名の変更(任意)
    追加された「年」列と「月」列のヘッダーをダブルクリックし、分かりやすい名前に変更します。例えば、「年」列を「年」に、「月」列を「月」に変更します。

3. 「年」と「月」列の結合

抽出した「年」と「月」の列を結合して、目的の「年月」形式の列を作成します。この際、区切り文字としてハイフンなどを挟むことで、より見やすい形式にできます。

  1. 結合する列の選択
    まず、「年」列を選択します。次に、Ctrlキーを押しながら「月」列を選択します。2つの列が同時に選択された状態になります。
  2. 列の結合
    「列の追加」タブをクリックします。「テキスト列」グループにある「列のマージ」ボタンをクリックします。
  3. 結合設定
    「列のマージ」ダイアログボックスが表示されます。「区切り記号」で「ハイフン」を選択します。新しい列名は「年月」など、分かりやすい名称を入力します。「OK」をクリックします。
  4. 不要な列の削除
    結合によって作成された「年月」列以外の、「年」列と「月」列は不要なので削除します。削除したい列ヘッダーを選択し、右クリックメニューから「削除」を選択します。

4. Excelへのデータ読み込み

Power Queryエディターでの整形が完了したら、結果をExcelシートに読み込みます。これにより、集計に利用できる状態になります。

  1. 読み込みの実行
    Power Queryエディターの「ホーム」タブをクリックします。「閉じて読み込む」グループにある「閉じて読み込む」ボタンをクリックします。
  2. 読み込み先の選択
    「テーブルのインポート」ダイアログボックスが表示されます。「テーブル」を選択し、「新規ワークシート」または「既存のワークシート」を選択して読み込み先を指定します。「OK」をクリックします。

これで、元のExcelデータに「年月」列が自動追加された新しいテーブルが作成されます。このテーブルは、Power Queryによって管理されているため、元データが更新された際には、「データ」タブの「すべて更新」をクリックするだけで、自動的に「年月」列も最新の情報に更新されます。

Power Queryで「年月」列を追加する際の注意点

Power Queryを使った「年月」列の追加は非常に便利ですが、いくつか注意しておきたい点や、よくある失敗パターンがあります。これらの点に留意することで、よりスムーズに作業を進めることができます。

「日付」列のデータ型が正しく認識されない場合

Power Queryで日付列を正しく認識できない場合、年月の抽出メニューが表示されなかったり、意図しない結果になったりすることがあります。これは、列のデータ型が「日付」になっていないことが原因です。

  1. データ型の確認と変更
    Power Queryエディターで、対象の日付列のヘッダーの左側にあるアイコンを確認します。アイコンがカレンダーのような形になっていれば「日付」型です。もし、テキスト(ABC)や数値(123)などになっている場合は、ヘッダーのアイコンをクリックするか、「ホーム」タブの「データ型」から「日付」を選択して変更します。
  2. 書式設定の確認
    日付の書式がPower Queryで標準的に認識されない形式(例: 2023/XX/31 のような不正な月日)の場合もエラーの原因となります。元データの書式を確認し、必要であれば修正してください。

「年月」の形式を「YYYYMM」にしたい場合

月別集計などで、`202301` のような8桁の数値形式で「年月」が必要な場合があります。その場合は、結合手順を少し変更します。

  1. 「年」と「月」列の抽出(再確認)
    上記手順2までは同様に行い、「年」列と「月」列を抽出します。
  2. 「月」列のゼロ埋め
    「月」列を選択し、「列の追加」タブの「日付」メニューから「月」→「月(01から12)」を選択します。これにより、1桁の月が「01」「02」のように2桁になります。
  3. 列のマージ(区切り記号なし)
    「年」列と「月」列を選択し、「列のマージ」を実行します。この際、「区切り記号」は「なし」を選択します。新しい列名は「年月(数値)」などとします。

「年月」列が正しく更新されない場合

元データを更新したのに、「年月」列が最新の状態に更新されないという問題が発生することがあります。この原因は、Power Queryの更新が正しく行われていない、または元データの変更がPower Queryに正しく反映されていないことが考えられます。

  1. 手動更新の実行
    Excelの「データ」タブにある「すべて更新」ボタンをクリックして、手動で更新を試みます。
  2. クエリの確認
    「データ」タブの「クエリと接続」をクリックし、対象のクエリを右クリックして「編集」を選択します。Power Queryエディターで、ステップが正しく適用されているか、データ型に問題がないかなどを再確認します。
  3. 元データの変更箇所の確認
    日付列のデータ自体が、Power Queryで認識できない形式に変更されていないか、元データを確認します。

ADVERTISEMENT

Power QueryとVBAの使い分け

日付列からの「年月」列追加は、VBA(Visual Basic for Applications)でも実現可能です。しかし、Power QueryとVBAでは、それぞれ得意な場面が異なります。

Power Queryは、GUI操作で直感的にデータ整形を行いたい場合や、定期的に同じ整形処理を繰り返し適用したい場合に最適です。コードを書く必要がないため、Excelの基本的な操作ができれば利用できます。また、データソースがExcelファイル以外(データベース、Webなど)に及ぶ場合でも、Power Queryは統一的なインターフェースで対応できます。

一方、VBAは、より複雑な条件分岐や、Excelの他の機能(グラフ作成、シート操作など)と連携した高度な自動化を行いたい場合に有効です。Power Queryでは実現が難しい、特定のセルへの書き込みや、ユーザーインターフェースのカスタマイズなどもVBAなら可能です。しかし、VBAコードの作成・保守にはプログラミングの知識が必要です。

今回の「年月」列の追加という目的であれば、Power Queryの方が、手軽さ、再利用性、保守性の面で優れています。まずはPower Queryで試してみて、より高度な処理が必要な場合にVBAの利用を検討するのが良いでしょう。

項目 Power Query VBA
操作の容易さ GUI操作で直感的 プログラミング知識が必要
データ整形 得意(GUIベース) 可能(コード記述)
繰り返し処理 得意(クエリの更新) 得意(マクロ実行)
他Excel機能連携 限定的 得意
外部データ連携 得意 可能(ADOなど)
学習コスト 低い 高い

まとめ

Power Queryを使えば、Excelで日付列から「年月」列を自動的に追加し、月別集計に必要なデータ準備を効率化できます。この記事で解説した手順に従えば、データソースの更新時にも、クエリの再実行だけで最新の「年月」列が反映されるようになります。

今後は、この「年月」列を基に、ピボットテーブルやSUMIFS関数を使って、月ごとの売上集計や分析を簡単に行えるようになります。さらに、Power Queryの他の機能と組み合わせることで、より複雑なデータ加工も自動化できるでしょう。

📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】