Power Query(パワークエリ)で下記のような最新日付でフィルタをかける方法を紹介します。
- 今日の日付のデータのみを抽出
- 今日の日付より前または後のデータを抽出
- 最新月のデータを抽出
- 最新年のデータを抽出
パワークエリのフィルタ機能を用いて行う方法とM言語の関数やカスタム列(条件列)を使って行う方法を紹介しますので状況に合わせて利用してみてください。
今日の日付によるフィルタ
まずは今日の日付を用いたデータ抽出方法を紹介します。
今日の日付と一致
今日の日付と一致する日付データの抽出はフィルタ機能で行うことができます。
下図のように「日付フィルター」>「日」>「今日」を選択すれば今日のデータだけ抽出することができます。

M言語を用いたフィルタ方法
M言語の関数を用いた日付一致のフィルタ方法も合わせて紹介します。
下記の式を用いることで「今日の日付のデータ」のみを抽出できます。
= Table.SelectRows(テーブル名, each Date.IsInCurrentDay([日付]))
M言語式の使用手順は後述していますので、そちらを参考にしてください。
今日より前・今日より後(以前以後)
今日以前や今日以後のフィルタをかけたい場合はM言語の関数を用いる必要があります。
今日の日付はDate.From(DateTime.LocalNow())
で取得することができ、下記の式を利用することで「今日の日付より前」や「今日の日付より後」のデータを抽出することができます。
= Table.SelectRows(テーブル名, each ([列名] <= Date.From(DateTime.LocalNow())))
= Table.SelectRows(テーブル名, each ([列名] >= Date.From(DateTime.LocalNow())))
具体的な使用手順は下記の通りです。説明例として本日以降のデータを抽出します。
適用したステップにある一番下のステップを右クリックして「後にステップの挿入」を選択する。

追加したステップの入力欄に下記式を入力して今日の日付以降のデータを抽出します。
- テーブル名:変更された型
- 列名:日付
= Table.SelectRows(変更された型, each ([日付] >= Date.From(DateTime.LocalNow())))

以上で今日の日付以降のデータの抽出は完了です。
上記画像は2025年2月14日に実施しており、正しく今日の日付以降が抽出されています。
Sponsored link
今年・今月によるフィルタ
今年・今月と一致
今年・今月・今週のデータの抽出は同じくフィルタ機能で行うことができます。
それぞれ以下のようにフィルタを選択すればOKです。下図は今年でフィルタをかける例です。
- 今週:「日付フィルター」>「週」>「今週」
- 今月:「日付フィルター」>「月」>「今月」
- 今年:「日付フィルター」>「年」>「今年」

M言語を用いたフィルタ方法
M言語の関数を用いた日付一致のフィルタ方法も合わせて紹介します。
下記の式を用いることで「今年データ」「今月データ」のみを抽出できます。
= Table.SelectRows(テーブル名, each Date.IsInCurrentYear([日付]))
= Table.SelectRows(テーブル名, each Date.IsInCurrentMonth([日付]))
M言語式の使用手順は後述していますので、そちらを参考にしてください。
今年・今月より前・後(以前以後)
今年・今月以前以後のフィルタをかけたい場合はM言語の関数を用いる必要があります。
今年
M言語で取得した今年の初日と今年の末日を用いた下記の式を利用することで「今年より前」や「今年より後」のデータを抽出することができます。
= Table.SelectRows(テーブル名, each ([列名] < Date.StartOfYear(Date.From(DateTime.LocalNow()))))
= Table.SelectRows(テーブル名, each ([列名] <= Date.EndOfYear(Date.From(DateTime.LocalNow()))))
= Table.SelectRows(テーブル名, each ([列名] > Date.EndOfYear(Date.From(DateTime.LocalNow()))))
= Table.SelectRows(テーブル名, each ([列名] >= Date.StartOfYear(Date.From(DateTime.LocalNow()))))
今月
M言語で取得した今月の初日と今月の末日を用いた下記の式を利用することで「今月より前」や「今月より後」のデータを抽出することができます。
= Table.SelectRows(テーブル名, each ([列名] < Date.StartOfMonth(Date.From(DateTime.LocalNow()))))
= Table.SelectRows(テーブル名, each ([列名] <= Date.EndOfMonth(Date.From(DateTime.LocalNow()))))
= Table.SelectRows(テーブル名, each ([列名] > Date.EndOfMonth(Date.From(DateTime.LocalNow()))))
= Table.SelectRows(テーブル名, each ([列名] >= Date.StartOfMonth(Date.From(DateTime.LocalNow()))))
使用手順
具体的な使用手順は下記の通りです。説明例として今月以降のデータを抽出します。
適用したステップにある一番下のステップを右クリックして「後にステップの挿入」を選択する。

追加したステップの入力欄に下記式を入力して今日の日付以降のデータを抽出します。
- テーブル名:変更された型
- 列名:日付
= Table.SelectRows(変更された型, each ([日付] >= Date.StartOfMonth(Date.From(DateTime.LocalNow()))))

以上で今日の日付以降のデータの抽出は完了です。
上記画像は2025年2月14日に実施しており、正しく2月以降のデータが抽出されています。
Sponsored link
最新日付によるフィルタ
データの中に今日より先の日付データがある場合に、最新日付でフィルタをかける方法を紹介します。
最新日付と一致
まずはデータ内にある最新日付のデータのみを抽出する方法を紹介します。こちらもフィルタ機能を用いて行うことができます。
説明例として、2025年のすべての日付が入ったデータ列から最新日付を抽出します。
まずデータ型を日付型に変更します。ヘッダーにあるデータ型アイコンをクリックして「日付」を選択する。
※この作業は初めから日付データとして読み込めている場合は不要です。

列のフィルタから「日付フィルター」の「最も遅い」を選択する。

以上で最新日付のデータの抽出は完了です。
データ内の最新日付の2025年12月31日のデータのみになっています。

最新月と一致
まずはデータ内にある最新月のデータのみを抽出する方法を紹介します。こちらもフィルタ機能を用いて行うことができます。
説明例として、2025年のすべての日付が入ったデータ列から最新日付を抽出します。
まずデータ型を日付型に変更します。ヘッダーにあるデータ型アイコンをクリックして「日付」を選択する。
※この作業は初めから日付データとして読み込めている場合は不要です。

次に月の開始日の列を追加します。
- 日付列をクリックして選択する。
- 列の追加タブ内にある「日付」から「月の開始日」を選択する。

月の開始日列のフィルタから「日付フィルター」の「最も遅い」を選択する。

以上で最新月のデータの抽出は完了です。
データ内の最新月の2025年12月のデータのみになっています。月の開始日の列はフィルタ後は不要なので削除してください。

Sponsored link
パワークエリの学習本についてはコチラの記事でまとめてますので参考にしてみてください。
・初心者向けおすすめ学習本
・初中級者向けおすすめ学習本
コメント