Power AutomatePower Platform

【Power Automate】Excelフィルタークエリの利用方法

今回の記事では、Excel Online (Business) の「表内に存在する行を一覧表示」アクションにてフィルタークエリを利用する方法をお伝えします。
フィルタークエリを利用すると予めデータを絞り込むことができるため、その後の処理時間の短縮・効率化につながります。

スポンサーリンク

フィルタークエリとは

フィルタークエリとは、データソース(今回はExcel)のデータを絞り込んで取得するための条件式です。
フィルタークエリを利用した場合と利用しなかった場合では、下記のような違いがあります。

元データ

Excel元データ

フィルタークエリ利用比較

フィルタークエリなし

フィルタークエリなし
下矢印
取得結果(フィルタークエリなし)

フィルタークエリあり

フィルタークエリあり
下矢印
取得結果(フィルタークエリあり)

このように、予め不要なデータを取り除くことができます。

フィルタークエリの種類

Excelの「表内に存在する行を一覧表示」アクションで利用できるフィルタークエリは下記の通りです。
(※ SharePointのアクションに比べ、利用できるフィルタークエリの数が少なくなっています)

忘れやすい内容のため、ブックマークしておくことをお勧めします。

条件演算子書式詳細・使用例
~と等しいeq
列名 eq '値'
~と等しくないne
列名 ne '値'
~を含むcontains
contains(列名, '値')
~で始まるstartswith
startswith(列名, '値')
~で終わるendswith
endswith(列名, '値')
スクロールできます

詳細・使用例

サンプルとして利用したExcelは下記の通りです。

Excel元データ

eq (~と等しい, equal)

文字列の場合

タスク eq 'フローの作成'

上記は「タスク」列の値が「フローの作成」となっている行を取得するためのフィルタークエリです。

数値の場合

所要時間 eq '2'

または

所要時間 eq 2

上記は「所要時間」列の値が2となっている行を取得するためのフィルタークエリです。
私の環境で試したところ、シングルクォーテーションあり/なしのどちらでも機能するようでした。

日付の場合

期限 eq '2025/01/14'

上記は「期限」列の値が「2025/01/14」となっている行を取得するためのフィルタークエリです。

日時の場合

開始日時 eq '2025/01/12 16:00'

上記は「開始日時」列の値が「2025/01/12 16:00」となっている行を取得するためのフィルタークエリです。

ne (~と等しくない, not equal)

文字列の場合

タスク ne 'フローの作成'

上記は「タスク」列の値が「フローの作成」でない行を取得するためのフィルタークエリです。

数値の場合

所要時間 ne '2'

または

所要時間 ne 2

上記は「所要時間」列の値が2でない行を取得するためのフィルタークエリです。
私の環境で試したところ、シングルクォーテーションあり/なしのどちらでも機能するようでした。

日付の場合

期限 ne '2025/01/14'

上記は「期限」列の値が「2025/01/14」でない行を取得するためのフィルタークエリです。

日時の場合

開始日時 ne '2025/01/12 16:00'

上記は「開始日時」列の値が「2025/01/12 16:00」でない行を取得するためのフィルタークエリです。

contains (~を含む)

特定の文字列を含む行を取得するために利用します。

contains(タスク, 'フロー')

上記は「タスク」列に「フロー」の文字が入っている行を取得するためのフィルタークエリです。

containsの使い方

startswith (~で始まる)

特定の文字列から始まる行を取得するために利用します。

startswith(タスク, 'フロー')

上記は「タスク」列の値が「フロー」から始まる行を取得するためのフィルタークエリです。

startswithの使い方

endswith (~で終わる)

特定の文字列で終わる行を取得するために利用します。

endswith(タスク, '作成')

上記は「タスク」列の値が「作成」で終わる行を取得するためのフィルタークエリです。

endswithの使い方

よくあるエラー・不具合

「Invalid filter clause: unsupported operation. 」エラー

上記で紹介した演算子以外を利用しようとすると、下記のエラーが発生します。
(※ SharePointリストの場合に利用できる gt, ge, lt, le, substringof, and, or等の演算子が利用できません)

Invalid filter clause: unsupported operation. Only single ‘eq’, ‘ne’, ‘contains’, ‘startswith’ or ‘endswith’ is currently supported.

この場合、Excelのデータを予め加工・工夫するか、一度すべてのデータを取得してから「アレイのフィルター処理」アクションで絞り込む必要があります。
アレイのフィルター処理については以下の記事の一部をご確認ください。

「Syntax error at position ~. 表©鷗字㌍!」エラー

Excelの列名に、サポートされていない文字・記号が入っていることで下記のエラーが発生します。

この場合、Excelの列名を変更するか、「アレイのフィルター処理」アクションを使うことでエラーを回避することができます。
詳しくは以下の記事をご確認ください。

「Unable to match columns in the filtered view.」エラー

Excelの列を非表示にしていると、下記のようなエラーが発生します。

Unable to match columns in the filtered view. Filtered columns count: 3, actual columns count: 4. To use ordering or filtering, please try to make all the columns visible.

この場合、非表示になっている列を再表示することで、エラーを解消することができます。

列の再表示

256行分のデータしか取得できない

Excel「表内に存在する行を一覧表示」アクションでは、デフォルトで256行分のデータを取得します。
それより多くのデータを取得したい場合は、設定 > 改ページをON にして、取得したい行数以上の値を入力してください。

アクション設定
行の制限設定

取得したデータの日付が数値(シリアル値)になってしまう

Excel「表内に存在する行を一覧表示」アクションでデータを取得した場合、日付/日時列の値は数値(シリアル値)となります。
ただし、詳細オプションを表示する > DateTime形式 を「ISO 8601」に設定することで、日付形式で取得できます。

DateTime形式設定

まとめ

Excel Online (Business) の「表内に存在する行を一覧表示」アクションにてフィルタークエリを利用する方法をお伝えしました。

Excelのフィルタークエリに重点を置いて紹介している記事が少ないため、ブックマークしてご活用いただければと思います。

スポンサーリンク
Hiromaru

普段からPower Platform・SharePointの技術を広めています!
デザインに力を入れて、見やすい・分かりやすい記事を投稿していきます

Hiromaruをフォローする
シェアする
Hiromaruをフォローする
タイトルとURLをコピーしました