SharePoint Onlineのリストに対する「日付と時刻」列を使ったフィルターの書き方をよく忘れるので、メモ。
フィルタークエリで使う関数と演算子
基本的には以下の関数や演算子と組み合わせてフィルターを作っていく。
関数
- formatDateTime関数 : タイムスタンプを日付文字列に変更する関数
- addHours(utcNow(), 9) : 関数2つを組み合わせて、日本時間の現在時刻を取得
- addDays関数 : 日付の加減算に使用。n日前とかn日後とか。
フィルター式の比較演算子
- eq : イコール
- gt : より大きい
- ge : 以上
- le : 以下
- lt : 未満
フィルター式のその他演算子
- and : かつ
- or : または ※こっちはあんま使わないかも
実例
ここから実例。実験日は「2024/10/19」で、用意したデータはこちら。


これから載せていく式を「複数の項目の取得」アクションのフィルタークエリに設定し、結果をCSVアクションで確認していく。


今日のデータの抽出
式
date eq '@{formatDateTime(addHours(utcNow(), 9), 'yyyy-MM-dd')}'
結果
ちょうど1週間前のデータの抽出
式
date eq '@{formatDateTime(addDays(addHours(utcNow(), 9), -7), 'yyyy-MM-dd')}'
結果
ちょうど3日後のデータの抽出
式
date eq '@{formatDateTime(addDays(addHours(utcNow(), 9), 3), 'yyyy-MM-dd')}'
結果
1週間以前のデータを抽出
式
date le '@{formatDateTime(addDays(addHours(utcNow(), 9), -7), 'yyyy-MM-dd')}' // 1週間前より前の場合は「lt」に変更
結果
3日後より後のデータを抽出
式
date gt '@{formatDateTime(addDays(addHours(utcNow(), 9), 3), 'yyyy-MM-dd')}' // 3日後移行の場合は「ge」に変更
結果
1週間前から今日までのデータを抽出
式
date ge '@{formatDateTime(addDays(addHours(utcNow(), 9), -7), 'yyyy-MM-dd')}' and date le '@{formatDateTime(addHours(utcNow(), 9), 'yyyy-MM-dd')}'
結果
今日より後から1週間後より前のデータを抽出
式
date gt '@{formatDateTime(addHours(utcNow(), 9), 'yyyy-MM-dd')}' and date lt '@{formatDateTime(addDays(addHours(utcNow(), 9), 7), 'yyyy-MM-dd')}'
結果
日付に加えて時間も考慮したフィルター
関連記事

Power Automate SharePointリスト「複数の項目の取得」のフィルターなどで使える、OData演算子まとめ|フィルタークエリ
Power Automateの「複数の項目の取得」アクションでフィルタークエリを設定するとき、ODataフィルタークエリで指定する必要がある。このODATAクエリの情報が意外と少ないので、使い方をまとめてみた。2024/2/14追記:最近は...

Power Automate フィルタークエリでSharePointリストの型「はい/いいえ」の列を扱う方法|OData
Power Automateのアクション「複数項目の取得」で、型「はい/いいえ」の列をフィルターする方法を聞かれたので、メモ。やりたいこと画像のような「はい/いいえ」型の列を持つSharePointリストを、Power Automateフィ...

Power Automate Excelの「表内に存在する行を一覧表示」を徹底調査|委任、フィルタークエリ、最大行数
Excelのテーブルからデータ(行)を複数取得するアクション「表内に存在する行を一覧表示」の細かな挙動が気になったので、色々調べてみた。アクション「表内に存在する行を一覧表示」Excel Onlineのアクション「表内に存在する行を一覧表示...