なんでもエクセル(Nandemo Excel)

何でもエクセルでやってしまう そこのあなた。ようこそ

Power Query:日付から曜日を返す

ご存知とは思うけど、日付から「日曜日」のような曜日名を返すには「Date.DayOfWeekName」を使えばいい。これはマウスの操作だけでできる。


日付列を選択して
[列の追加]→[日]→[曜日名]

上記は日付列の型が「Date」でも「DateTime」でも問題ない。

では曜日番号を返したい時はどうするか。こっちはカスタム列の追加で「Date.DayOfWeek」を使えばいい。


日付列を選択して
[列の追加]→[カスタム列]

新しい列名:番号 カスタム列の式:= Date.DayOfWeek([日付], Day.Sunday)

「Day.Sunday」は日曜を「0」とする場合なので、別の曜日が先頭にくる場合は変更する必要あり。「Day.Sunday」の替わりに「0」と入力してもよい。

続いて曜日名を「日」「月」……のようにしたい場合。こちらもカスタム列の追加で。

新しい列名:曜日
カスタム列の式:= Date.ToText([日付],"ddd")

とすればできる。「Date.ToText」や「Number.ToText」は、ワークシート関数の TEXT関数のように使えるので便利。

ここまでくれば後は簡単。最後は日付を「yyyymmdd形式」にしたい場合。これもカスタム列の追加で。

新しい列名:年月日
カスタム列の式:= Number.From(Date.ToText([日付], "yyyyMMdd"))

「月(Month)」は「M」と大文字で書かないとダメ。小文字の「m」を使うと「分(Minute)」と解釈されるのでご注意。