Power Query:いずれかの検索ワードに部分一致する行を抽出する
条件指定に List.Contains関数を使うのは同じですが、第3引数が追加されています。「(x)=>」の部分に「?」マークがついた方がいるかもしれませんが、これは「each(関数型の引数をパラメータなしで指定する時に使うキーワード)」を別の形で表現したものと理解してください(「each」は「()=>」の簡易的な表記方法です)。何故こんなことをするかというと、ここを「each」にしてしまうと、Table.SelectRows関数の「each」とパラメータの「_」が競合してエラーになってしまうからです。説明を端折ってしまうと「(x)=>」を使うことで「_」で指定しているところが「x」で表現できるようになるので、どっちの関数のパラメータなのかが明確になってエラーが起きなくなります。
検索リストの値と部分一致する行の抽出(数式版) =FILTER( テーブル1[列1], BYROW(テーブル1[列1],LAMBDA(x,COUNT(FIND(テーブル2[列1],x)))) ) 別バージョン(LAMDA関数省略版)=FILTER( テーブル1[列1], BYROW(FIND(TRANSPOSE(テーブル2[列1]),テーブル1[列1]),COUNT) ) 検索リストのすべての値と部分一致する行の抽出 = Table.SelectRows( ソース, each List.MatchesAll(テーブル2[列1], (x)=> Text.Contains([列1], x)) )パワークエリで条件抽出する場合、単純にはフィルタ機能を使え…
2025年は、基礎的な操作についても取り上げていきたいと考えて…
クエリのステップの中で、複数キーを指定して抽出したい時、数…
Power Queryは、ファイル内のデータを読み込む以外にも色んな使…
検索用の条件テーブルを使って一致するデータを抜き出す場合、…
最終更新: 2026-02-10 16:05
- 数式/関数 (58)
- Power Query (94)
- Power Query 基礎 (22)
- おしらせ (2)
- ピボットテーブル (1)