Excel Power Query Date 列から曜日列を作成

Power Query 第24回目です。
前々回(第22回目)でフィルターについて勉強しました。その中で「日付/時刻型」のフィルターオプションを参照したんですが「曜日」の設定は無かったんですよね。
曜日別の販売状況を比較分析するなど、結構な頻度で使われると思いますので、「曜日」を使えるようにする方法について勉強します。

くるみこ
くるみこ

「曜日」でフィルターをかけるためには、Excelでやるのと同じように「日付」から「曜日」を作るしかないようですね。

Excelでも「曜日」は書式で設定しないといけないですよね。Power Query ではどうするのか知りたいです。よろしくお願いしますm(__)m

【この記事でわかることは】
・「日付型」列からカスタム列で「曜日」列を作成する方法がわかります
・「曜日」の表記方法の設定がわかります

前回記事のおさらいは、下のカードをクリックすれば開きます(^^ゞ

・前回の内容は、インデックス列を使ってフォルダー内の最新データを絞り込む方法ついて解説しています。

記事作成にあたっては次の Microsoft office のサポートの情報などを参照しています。
Power Query for Excel のヘルプ
Excel の Power Query について
Power Query M関数 の日付関数の概要

なお、この記事の画像は Microsoft 365 で取得した画像です。Excel2016 のリボンやメニューなどバージョンによって違うようなので、適宜読み替えをお願いします(^^)/

日付列から曜日列を作成します

日付/時刻フィルターでは曜日を抽出するオプション設定がありません。そのままでは曜日の抽出が出来ないので、日付を曜日に変換した列を作る必要があります。

日付型データの関数を確認します

まずは、日付型データの関数を確認しておきましょう。「曜日」に関係するのものだけ抜粋しました。

関数とその説明基本的構文サンプル
Date.DayOfWeek
曜日を示す数値(0から6)を返します
Date.DayOfWeek(#date(2021, 08, 19))4
Date.DayOfWeekName
曜日名を返します
Date.DayOfWeekName(#date(2021, 08, 19))木曜日
Date.ToText
日付値からテキスト値を返します
Date.ToText(#date(2021, 08, 19),”ddd”)
Date.ToText(#date(2021, 08, 19),”dddd”)

木曜日

カスタム列で曜日を表示します

曜日列を追加する条件は、日付型の列があることです。

いままでに使ってきたファイル(前々回のもの)をそのまま使っていきます。

カスタム列を追加します

・カスタム列の追加手順は、[列の追加] → [カスタム列] →「カスタム列」ダイアログが表示されます。

・「カスタム列」ダイアログの設定は次とおりです。

・新しい列名を [カスタム] → [曜日] に変更します。

・カスタム列の式には「= Date.ToText([販売日],”ddd”)」と入力し [OK] を選択します。
 ※ Excelなら書式を aaa にしますが、aaa では曜日は表示されません!

・関数入力時に候補一覧が表示されたり、入力のための補助が表示されていますね。

・適用したステップに [追加されたカスタム] が追加されました。

・プレビューに [曜日] 列が追加されました。各行には「曜日」が表示されています。

関数を使って曜日を表示させています

日付の表記を変えたい場合は、次の例を参考にしてください。

Date.ToText([販売日],”ddd“) では、曜日の表記は「日」となっています。

Date.ToText([販売日],”(ddd)“) では、曜日の表記は「(日)」カッコ付きになります。

Date.ToText([販売日],”dddd“) に変更すると、曜日の表記は「日曜日」となります。

Date.DayOfWeekName ([販売日])としても 、曜日の表記が「日曜日」となります。

Date.DayOfWeekName ([販売日])としても 、曜日の表記が「日曜日」となります。

Date.DayOfWeekName ([販売日] , “en-US”)とすれば 、表記が「Saturday」となります。

Date.ToText([販売日],”ddd, “en-US” ) では、曜日の表記は「Sun」となります。

必要に応じて使い分けしましょう。

詳細エディターで Mコード を確認しましょう

・12,13,14行目のように行の先頭に「//」を入力すればコメントになります。

・例えば、11行目をコメントにして、12行目を生かすと「(Sun)」のようになります。

・このように「曜日」列を設定しておけば分析に活用できそうですね。

スポンサーリンク

まとめ(おわりに)

以上、「日付型」の列からカスタム列を利用して「曜日」列を作成する方法ついて勉強しました。

今回も、サンプルファイルにフォルダー設定と見本のCSVファイルをまとめて登録しておきますので、いろいろな「曜日」列の表記設定を試してみてください。

まとめと感想など

くるみこ
くるみこ

「曜日」列があれば曜日別の販売シェアの確認などいろいろな分析に活用できそうですね。カスタム列の使い方や関数の設定方法の参考になるかと思い、GIF画像にして紹介してみました。日付に関連する関数はこのほかにもたくさんあるので一度見ておけば今後の参考になるでしょう。

Excelで「aaa」に慣れてしまっているので「ddd」はしっかり覚えておくようにします。
今回もサンプルを使っていろいろやってみま~す(^^♪

【今回わかったことは】
・「日付型」列からカスタム列で「曜日」列を作成する方法がわかりました
・いろいろな「曜日」表記の設定方法がわかりました

★★★ ランキング参加中! クリックしてね(^^)/ ★★★

【今後の記事について】

今回の記事はいかがだったでしょうか。皆さまのお役に立てたなら幸いです(^^;
「汎用でだれでも使えて活用できるように考えてる」というポリシーで、記事を継続して書いていきたいと思っています。どうぞよろしくお願いしますm(_ _)m

【検討中の今後の記事内容は・・・・・】
・実務に役立つものを提供できるよう常に検討しています(^^ゞ
・その他雑記的に「プチネタなど」もいろいろ考えていきたいと思います・・・・・
・今後の記事にご期待ください(^^)/

過去記事のサンプルファイルをダウンロードできます

今回記事のサンプルファイルを登録しています
過去の記事で使用したサンプルファイルをダウンロードできるようにページを設置していますので、こちら(このリンク先)からご利用ください