クエリのステップの中で、複数キーを指定して抽出したい時、数が多くなれば抽出用のリストを用意することになるでしょう。ただ「~と一致する」なら抽出条件に List.Containsを使えばいいんですが、「~を含む」を条件にしたい場合には、そうはいきません。
例えば「リストの値と等しい行を抽出」する場合は、Table.SelectRowsの条件を下記のように記述すれば抽出できます。
each List.Contains(
{"中央区", "西淀川区", "東淀川区", "住吉区", "東住吉区"}, [行政区名]
)
ところが、これを「中央」「淀川」「住吉」を指定して、「リストの値を含む行を抽出」場合は、List.Containsを入れるだけでは上手くいきません。
この場合、ひとつには抽出条件に List.Accumulateを使う方法が考えられます。
(x)=> List.Accumulate(
List.Transform(
{"中央", "淀川", "住吉"},
each x[支店名]="東京" and Text.Contains(x[行政区名], _)
),
false,
(x,y)=>x or y
)
もちろんこれでもいいんですが、若干面倒です。
ちょっと考え方を変えて、Splitter.SplitTextByAnyDelimiterで「リストの文字列で区切れるかどうか」をチェックしてみたらどうでしょうか。
each [支店名]="東京" and List.Count(
Splitter.SplitTextByAnyDelimiter(
{"中央", "淀川", "住吉"}
)([行政区名])
)>1
こっちのほうが、処理としては分かりやすい気がします。