はじめに
Excelの日付データはシリアル値で格納されており、そのままだとPower Automateでの扱いに難があったのですが、2021年1~2月ごろのアップデートにより、ISO 8601形式で取得できるようになりました。やった!
設定方法
「表内に存在する行を一覧表示」などで詳細オプションを開き、「DateTime 形式」で選択できるようになりました。
Serial Numberだとこれまで同様シリアル値、ISO 8691にすると日付になります。
(未指定時はシリアル値のまま)
挙動確認
元のExcelデータ
シリアル値で取得
日付は"44228"のようなシリアル値になります。
[
{
"@odata.etag": "",
"ItemInternalId": "8a39f0a9-a14e-40ac-b0e8-b2ba4dc80a9c",
"日付": "44228",
"曜日": "月"
},
{
"@odata.etag": "",
"ItemInternalId": "4e46e454-5b1d-4d57-9abd-b14375225d75",
"日付": "44229",
"曜日": "火"
},
{
"@odata.etag": "",
"ItemInternalId": "0b61debf-9368-4dc5-beaf-4449bf5d5276",
"日付": "44230",
"曜日": "水"
}
]
ISO 8601形式で取得
"2021-02-01T00:00:00.000Z"のような日付データで取得できます。
[
{
"@odata.etag": "",
"ItemInternalId": "af096b14-9592-41b7-88c1-4a86ee33900e",
"日付": "2021-02-01T00:00:00.000Z",
"曜日": "月"
},
{
"@odata.etag": "",
"ItemInternalId": "d89ebaa0-b30e-49e2-a117-e966cfb60911",
"日付": "2021-02-02T00:00:00.000Z",
"曜日": "火"
},
{
"@odata.etag": "",
"ItemInternalId": "06fd955c-17a9-4921-8fdb-46f634cab404",
"日付": "2021-02-03T00:00:00.000Z",
"曜日": "水"
}
]
日付として処理をする
日付になっているなら日数を足したり引いたりもできるはずなので試してみました。
日付の追加
一週間分日付を足してみましたが、ちゃんと計算してくれます。
日付のフィルター
「アレイのフィルター処理」で絞込が可能でした。
ただし、Excelのフィルタークエリで「日付 eq '2021-02-02T00:00:00.000Z'」のように書いてもダメでした。
2021/2/18追記
が、フィルタークエリが使えないわけではなく、「日付 eq '2021-02-02'」などでフィルタ可能でした。
日付により条件分岐
これもちゃんと動きます。
おわりに
この機能は嬉しいですね。何とかシリアル値を計算しようとしていたり、Excelで日付解釈用の文字列を入れた列を用意したりしていたのですが、その必要がなくなりました。