
Aさん 入社年数を計算するためにも、現在の日付が必要です。
Power Queryエディター上で現在の日付を取得したい場合、どうしたら良いですか?
森田 その場合、M関数の「DateTime.FixedLocalNow」を使えば良いですよ!
では、詳細を解説していきますね。
はじめに
この記事は「カスタム列」コマンドの詳細を把握していることが前提です。
「カスタム列」コマンドの詳細は、以下の記事をご参照ください。
はじめに この記事はパワークエリの概要を把握していることが前提です。 参考記事 パワークエリの概要については、以下の記事をご参照ください。 「カスタム列」の使いどころ 「カスタム列」コマンドは、クエリの新規作成ステップの …
「DateTime.FixedLocalNow」の使いどころ
年齢や入社年数等を計算したい場合、現在の日付/時刻も必要ですが、Power Queryエディターには、現在の日付/時刻を取得するためのコマンドがありません。
ワークシート上の関数でいえば、「TODAY」や「NOW」と類似のコマンドがないということですね。
Power Queryエディター上で現在の日付/時刻列を作成したい場合、「カスタム列」ダイアログ上で「DateTime.FixedLocalNow」を活用しましょう。
DateTime.FixedLocalNowを活用することで、現在の日付/時刻を自動取得した列を追加できます。
ワークシート上の関数の「TODAY」・「NOW」の詳細は、以下の記事をご参照ください。
はじめに この記事は関数の概要の使い方を把握していることが前提です。 参考記事 関数の概要については以下の記事をご参照ください。 現時点の「日付」を自動で取得したい場合は「TODAY」が有効 実務では、ワークシート上に現 …
はじめに この記事は関数の概要の使い方を把握していることが前提です。 参考記事 関数の概要については以下の記事をご参照ください。 現時点の「時刻」を自動で取得したい場合は「NOW」が有効 実務では、ワークシート上に現時点 …
構文
DateTime.FixedLocalNowの構文は以下の通りです。
DateTime.FixedLocalNow ()
ローカルタイムゾーンでの現在の日付と時刻を返します。この値は固定されているため、連続呼出では変更されません。
DateTime.FixedLocalNowの引数はなし。
DateTime.FixedLocalNowの戻り値はExcelブックを開いているPCの日付設定に準ずる。
必要に応じ、Microsoft Learnの「DateTime.FixedLocalNow」の記事もご参照ください。
詳細情報: DateTime.FixedLocalNow
数式例・使用イメージ
「現在日付」列を追加したイメージが以下です。
なお、この列のデータ型は、後続のステップの内容に応じ、「日付」・「時刻」・「日付/時刻」のいずれかへ変更してください。
後続ステップで日付の計算を行う場合は、追加した列のデータ型を「日付」にする必要あり。
ステップ登録手順
「カスタム列」コマンドでDateTime.FixedLocalNowを登録したい場合は、以下の手順となります。
- リボン「列の追加」タブをクリック
- 「カスタム列」をクリック
- 任意の列名を入力
※今回は「現在日付」 - 「d」を入力
- サジェストから「DateTime.FixedLocalNow」を選択し、「Tab」キーで確定
- 「()」を入力
- 「OK」をクリック
登録したステップの変更手順
DateTime.FixedLocalNowのステップを後から変更する場合、以下の手順となります。
- 「追加されたカスタム列」ステップの歯車マークをクリック
- 任意の箇所を修正
- 「OK」をクリック
手順①のステップ名は「カスタム列」コマンドのデフォルトの名前(自身でリネームしている場合は別表記)。
手順①はステップ名をダブルクリックでもOK。
手順①で起動した「カスタム列」ダイアログは、ステップに設定した内容がセットされた状態。
サンプルファイルで練習しよう!
可能であれば、以下のサンプルファイルをダウンロードして、実際に操作練習をしてみてください。
サンプルファイル_PowerQueryデータ整形_DateTime.FixedLocalNow.xlsx
サンプルファイルのダウンロードには無料メルマガに登録いただく必要があります(上記リンクから登録フォームへ遷移します)。
ブックを開いたら、「社員マスタ」クエリを編集(Power Queryエディター起動)し、次の手順を実施してください(今までの解説のまとめです)。
ブック起動時、「セキュリティの警告」メッセージが表示された場合は「コンテンツの有効化」をクリック。
- リボン「列の追加」タブをクリック
- 「カスタム列」をクリック
- 任意の列名を入力
※今回は「現在日付」 - 「d」を入力
- サジェストから「DateTime.FixedLocalNow」を選択し、「Tab」キーで確定
- 「()」を入力
- 「OK」をクリック
本記事の解説と同じ結果になればOKです!
さいごに
いかがでしたでしょうか?
DateTime.FixedLocalNowを活用することで、現在の日付/時刻を自動取得した列を追加できます。
一連の整形作業の中で、年齢や入社年数等を計算したい場合に活用してみましょう!
なお、パワークエリの各種テクニックは、私の拙著でも体系的に解説していますので、こちらも参考にしてみてください。
ご参考になれば幸いですm(_ _)m
森田 DateTime.FixedLocalNowに慣れたら、他の日付列の作成や計算に役立つM関数もチャレンジしてみましょう。
具体的には、日付に指定の月数を加減算できる「Date.AddMonths」や、日付の月の最終日を返す「Date.EndOfMonth」、日付に指定の日数を加減算できる「Date.AddDays」等です。
他にどんなM関数があるかは、Microsoft Learnの「Power Query M関数参照」も参照してみてくださいね!











![ピボットテーブルと連動するグラフの作り方(ピボットグラフ) [ピボットテーブル基礎]](https://i0.wp.com/excel-master.net/wp-content/uploads/2021/08/%E3%83%94%E3%83%9C%E3%83%83%E3%83%88%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB_%E3%83%94%E3%83%9C%E3%83%83%E3%83%88%E3%82%B0%E3%83%A9%E3%83%9501.png?fit=750%2C422&ssl=1)

![ピボットテーブル内で構成比を計算する方法(総計に対する比率) [ピボットテーブル基礎]](https://i0.wp.com/excel-master.net/wp-content/uploads/2021/06/%E3%83%94%E3%83%9C%E3%83%83%E3%83%88%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB_%E7%B7%8F%E8%A8%88%E3%81%AB%E5%AF%BE%E3%81%99%E3%82%8B%E6%AF%94%E7%8E%871.png?fit=750%2C422&ssl=1)


