パワークエリのM関数「DateTime.FixedLocalNow」のサムネイル
AさんAさん

入社年数を計算するためにも、現在の日付が必要です。
Power Queryエディター上で現在の日付を取得したい場合、どうしたら良いですか?

森田森田

その場合、M関数の「DateTime.FixedLocalNow」を使えば良いですよ!
では、詳細を解説していきますね。

森田貢士 公式LINEバナー

はじめに

この記事は「カスタム列」コマンドの詳細を把握していることが前提です。

参考記事

「カスタム列」コマンドの詳細は、以下の記事をご参照ください。

「DateTime.FixedLocalNow」の使いどころ

年齢や入社年数等を計算したい場合、現在の日付/時刻も必要ですが、Power Queryエディターには、現在の日付/時刻を取得するためのコマンドがありません。

ワークシート上の関数でいえば、「TODAY」「NOW」と類似のコマンドがないということですね。

Power Queryエディター上で現在の日付/時刻列を作成したい場合、「カスタム列」ダイアログ上で「DateTime.FixedLocalNow」を活用しましょう。

パワークエリのM関数「DateTime.FixedLocalNow」の使いどころ

DateTime.FixedLocalNowを活用することで、現在の日付/時刻を自動取得した列を追加できます。

参考記事

ワークシート上の関数の「TODAY」・「NOW」の詳細は、以下の記事をご参照ください。


構文

DateTime.FixedLocalNowの構文は以下の通りです。

DateTime.FixedLocalNow ()
ローカルタイムゾーンでの現在の日付と時刻を返します。この値は固定されているため、連続呼出では変更されません。

DateTime.FixedLocalNowの引数はなし。
DateTime.FixedLocalNowの戻り値はExcelブックを開いているPCの日付設定に準ずる。

参考記事

必要に応じ、Microsoft Learnの「DateTime.FixedLocalNow」の記事もご参照ください。

数式例・使用イメージ

「現在日付」列を追加したイメージが以下です。

パワークエリのM関数「DateTime.FixedLocalNow」の使用イメージ

なお、この列のデータ型は、後続のステップの内容に応じ、「日付」・「時刻」・「日付/時刻」のいずれかへ変更してください。
後続ステップで日付の計算を行う場合は、追加した列のデータ型を「日付」にする必要あり。

ステップ登録手順

「カスタム列」コマンドでDateTime.FixedLocalNowを登録したい場合は、以下の手順となります。

パワークエリのM関数「DateTime.FixedLocalNow」のステップ登録手順

  1. リボン「列の追加」タブをクリック
  2. 「カスタム列」をクリック
  3. 任意の列名を入力
    ※今回は「現在日付」
  4. 「d」を入力
  5. サジェストから「DateTime.FixedLocalNow」を選択し、「Tab」キーで確定
  6. 「()」を入力
  7. 「OK」をクリック

登録したステップの変更手順

DateTime.FixedLocalNowのステップを後から変更する場合、以下の手順となります。

パワークエリのM関数「DateTime.FixedLocalNow」のステップ変更手順

  1. 「追加されたカスタム列」ステップの歯車マークをクリック
  2. 任意の箇所を修正
  3. 「OK」をクリック

手順①のステップ名は「カスタム列」コマンドのデフォルトの名前(自身でリネームしている場合は別表記)。
手順①はステップ名をダブルクリックでもOK。
手順①で起動した「カスタム列」ダイアログは、ステップに設定した内容がセットされた状態。

サンプルファイルで練習しよう!

可能であれば、以下のサンプルファイルをダウンロードして、実際に操作練習をしてみてください。

サンプルファイル_PowerQueryデータ整形_DateTime.FixedLocalNow.xlsx

サンプルファイルのダウンロードには無料メルマガに登録いただく必要があります(上記リンクから登録フォームへ遷移します)。

ブックを開いたら、「社員マスタ」クエリを編集(Power Queryエディター起動)し、次の手順を実施してください(今までの解説のまとめです)。
ブック起動時、「セキュリティの警告」メッセージが表示された場合は「コンテンツの有効化」をクリック。

  1. リボン「列の追加」タブをクリック
  2. 「カスタム列」をクリック
  3. 任意の列名を入力
    ※今回は「現在日付」
  4. 「d」を入力
  5. サジェストから「DateTime.FixedLocalNow」を選択し、「Tab」キーで確定
  6. 「()」を入力
  7. 「OK」をクリック

本記事の解説と同じ結果になればOKです!

さいごに

いかがでしたでしょうか?

DateTime.FixedLocalNowを活用することで、現在の日付/時刻を自動取得した列を追加できます。

一連の整形作業の中で、年齢や入社年数等を計算したい場合に活用してみましょう!

なお、パワークエリの各種テクニックは、私の拙著でも体系的に解説していますので、こちらも参考にしてみてください。


ご参考になれば幸いですm(_ _)m

森田森田

DateTime.FixedLocalNowに慣れたら、他の日付列の作成や計算に役立つM関数もチャレンジしてみましょう。
具体的には、日付に指定の月数を加減算できる「Date.AddMonths」や、日付の月の最終日を返す「Date.EndOfMonth」、日付に指定の日数を加減算できる「Date.AddDays」等です。
他にどんなM関数があるかは、Microsoft Learnの「Power Query M関数参照」も参照してみてくださいね!