
Power Queryで日付を扱いたいんですけど、月初とか月末とか、どうやって出せばいいのか分からなくて…

Power Queryには日付操作の便利なメニューや関数がいろいろあるんだよ。月初や月末なんかは簡単に求められるし、他にも週の開始日や年度の計算なんかもできるから、まとめて覚えておくと便利だよ。
Power Query(パワークエリ)を使っていると「日付をちょっと加工したいな」という場面、意外と多いですよね。月初や月末を出したり、週の開始日を求めたり、年度や四半期を計算したり…。レポートや集計を作るときに欠かせない操作です。
そこで今回は、よく使う日付の操作をまとめてみました。メニュー操作とM関数の両方を紹介しているので、初心者の方は「まずはクリックで操作」、慣れてきたら「関数で効率化」とステップアップできます。
「日付ってちょっとややこしい…」と思っていた方も、この記事を読めばスッキリ整理できるはず。ぜひ参考にして、日付操作を味方につけてください!
基本の日付操作
テキスト型から日付型に変換
まずは「文字列」をちゃんと「日付」として認識させるところから。
メニュー操作
列見出し横のアイコンから「日付型」を選択するだけ。


M関数
Date.From(日付の文字列)= Date.From("2025-11-01")結果: 2025/11/01

これで文字列が日付型に変わります。最初にここを押さえておくと後の操作がスムーズです。
年を抽出
「この日付の年だけ欲しい!」というとき。
メニュー操作
「変換」または「列の追加」→「日付」→「年」→「年」

M関数
Date.Year(日付)= Date.Year(#date(2025, 11, 02))結果: 2025

月を抽出
月だけ取り出したいとき。
メニュー操作
「変換」または「列の追加」→「日付」→「月」→「月」

M関数
Date.Month(日付)= Date.Month(#date(2025, 11, 02))結果: 11

日を抽出
日付の「日」部分だけを取り出す方法。
メニュー操作
「変換」または「列の追加」→「日付」→「日」→「日」

M関数
Date.Day(日付)= Date.Day(#date(2025, 11, 02))結果: 2

曜日を抽出
曜日を表示できると、報告書作成などでグッと見やすくなります。
メニュー操作
「変換」または「列の追加」→「日付」→「日」→「曜日名」

M関数
Date.DayOfWeekName(日付, (省略可能 カルチャー))= Date.DayOfWeekName(#date(2025, 11, 02))結果: 日曜日

= Date.DayOfWeekName(#date(2025, 11, 02), "en-US")結果: Sunday
第2引数に "en-US" を指定すると英語表記になります。

月初・月末の日付を求める
月単位の集計やレポートを作るときに便利です。
月初を求める
メニュー操作
「変換」または「列の追加」→「日付」→「月」→「月の開始日」

M関数
Date.StartOfMonth(日付)= Date.StartOfMonth(#date(2025, 11, 15))結果: 2025/11/01

月末を求める
メニュー操作
「変換」または「列の追加」→「日付」→「月」→「月の最終日」

M関数
Date.EndOfMonth(日付)= Date.EndOfMonth(#date(2025, 11, 15))結果: 2025/11/30

週の開始・終了の日付を求める
「週単位の売上」などをまとめたいときに役立ちます。
週の開始日
メニュー操作
「変換」または「列の追加」→「日付」→「週」→「週の開始日」

デフォルトでは「日曜日開始」で計算されます。

月曜日開始にしたい場合はM関数を修正します。

M関数
Date.StartOfWeek(日付, (省略可能 週の始まり))= Date.StartOfWeek(#date(2025, 10, 15), Day.Monday)2025/10/15 の週の開始日(月曜日開始) → 結果: 2025/10/13

指定できる開始曜日は以下のとおりです。
- Day.Sunday(既定値)
- Day.Monday
- Day.Tuesday
- Day.Wednesday
- Day.Thursday
- Day.Friday
- Day.Saturday
週の最終日
メニュー操作
「変換」または「列の追加」→「日付」→「週」→「週の最終日」

「週の開始日」と同様にデフォルトでは日曜日開始で計算されます。関数を少し修正することで別の週を開始に指定することができます。

M関数
Date.EndOfWeek(日付, (省略可能 週の始まり))= Date.StartOfWeek(#date(2025, 10, 15), Day.Sunday)2025/10/15 の週の最終日(日曜日開始) → 結果: 2025/10/18
※ Day.Sunday は規定値なので省略可

現在の日付を求める
「今日基準で計算したい」ときに便利です。
M関数
DateTime.LocalNow() // 現在日時今日の日付だけ欲しい場合は Date.From関数 を組み合わせます。
Date.From(DateTime.LocalNow()) // 今日の日付日付の加算・減算
「◯年後」「◯日前」などを簡単に計算できます。
年の加算・減算
M関数
Date.AddYears(日付, 加減算の数)= Date.AddYears(#date(2025, 11, 15), 3)2025/11/15 の3年後 → 結果: 2028/11/15

月の加算・減算
M関数
Date.AddMonths(日付, 加減算の数)= Date.AddMonths(#date(2025, 11, 15), -2)2025/11/15 の2か月前 → 結果: 2025/09/15

= Date.AddMonths(#date(2025, 10, 30), -8)2025/10/30 の8か月前 → 結果: 2025/02/28
計算後の日にちが月末に絡む場合は、月末判定をしてくれます。

日の加算・減算
M関数
Date.AddDays(日付, 加減算の数)= Date.AddDays(#date(2025, 10, 30), 60)2025/10/30 の60日後 → 結果: 2025/12/29

期間を求める
2つの日付の差を「日数」で求められます。
メニュー操作
「変換」または「列の追加」→「日付」→「期間」

この場合はデフォルトで現在日付から期間の計算をします。


日付列を2列選択してその期間を計算する場合は、計算する2つの列を選択して「列の追加」→「日付」→「日数の減算」を選びます。

M関数
Duration.Days(終了日 - 開始日)= Duration.Days(#date(2025, 10, 20) - #date(2025, 9, 10))「2025/10/20 – 2025/9/10」 = 「結果: 40」

年度を求める
M関数
日本では「4月始まり」が一般的。条件分岐で年度列を作成できます。
if Date.Month(日付) >= 4
then Date.Year(日付)
else Date.Year(日付) - 1= if Date.Month(#date(2025, 1, 30)) >= 4
then Date.Year(#date(2025, 1, 30))
else Date.Year(#date(2025, 1, 30)) - 12025/01/30 の属する年度 → 結果: 2024

簡略版。月を3か月マイナスして年を抽出することでも求めることができます。
Date.Year(Date.AddMonths(日付, -3)) = Date.Year(Date.AddMonths(#date(2025, 4, 30), -3))2025/04/30 の属する年度 → 結果: 2025

四半期を求める
メニュー操作
「変換」または「列の追加」→「日付」→「四半期」→「年の四半期」

M関数
Date.QuarterOfYear(日付)= Date.QuarterOfYear(#date(2025, 10, 15))2025/10/15 の属する四半期(1月開始) → 結果: 4

年度途中開始の場合。年度抽出と同様に月を減算してから求めると簡単に求めることができます。
Date.QuarterOfYear(Date.AddMonths(日付, -8)) // 9月開始の場合= Date.QuarterOfYear(Date.AddMonths(#date(2025, 10, 15), -8))2025/10/15 の属する四半期(9月開始) → 結果: 1

今回使用したM関数まとめ
| Date.From(日付の文字列) | テキスト型から日付型に変換 |
| DatDate.Year(日付) | 年を抽出 |
| Date.Month(日付) | 月を抽出 |
| Date.Day(日付) | 日を抽出 |
| Date.DayOfWeekName(日付, (省略可能 カルチャー)) | 曜日を抽出 |
| Date.StartOfMonth(日付) | 月初を求める |
| Date.EndOfMonth(日付) | 月末を求める |
| Date.StartOfWeek(日付, (省略可能 週の始まり)) | 週の開始日 |
| Date.EndOfWeek(日付, (省略可能 週の始まり)) | 週の最終日 |
| Date.From(DateTime.LocalNow()) | 現在の日付 |
| Date.AddYears(日付, 加減算の数) | 年の加算・減算 |
| Date.AddMonths(日付, 加減算の数) | 月の加算・減算 |
| Date.AddDays(日付, 加減算の数) | 日の加算・減算 |
| Duration.Days(終了日 – 開始日) | 期間を求める |
| Date.Year(Date.AddMonths(日付, -3)) | 年度を求める |
| Date.QuarterOfYear(日付) | 四半期を求める |
その他の日付操作関数
日付のM関数についてもっと詳しく知りたいよっという方は、Microsoft Learn(日本語版)をご覧ください。
まとめ
今回の記事では、Power Queryでよく使う日付操作を紹介しました。
- 年・月・日・曜日の抽出
- 月初・月末、週の開始日や終了日
- 今日の日付の取得
- 日付の加算・減算や期間の算出
- 年度や四半期の計算
メニュー操作で直感的に扱えるのはもちろん、M関数を覚えておくと応用の幅がぐっと広がります。レポート作成やデータ分析の効率も大きくアップしますよ。
日付は一見ややこしく感じるかもしれませんが、ポイントを押さえればとても頼れる機能になります。ぜひこの記事を参考に、日付操作を味方につけてみてください。
Power Queryを使いこなして、毎日のデータ処理をもっとスマートにしていきましょう!
最後まで読んでいただき、ありがとうございました!

わぁ〜!思ったよりずっと簡単にできちゃいました!これなら私でも安心して使えますね♪
