0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

~のうち一つと一致する / ~のすべてと一致しない(+別テーブルのデータと比較する)

Posted at

いずれかに一致する(いずれとも一致しない)という判定がしたい!

たとえば、こんな感じで、「関東地方FlG」を立てたい場合
image.png
条件列の追加から…だと、
image.png
条件を6つも書かないといけないのって面倒ですよね。
この条件について、とくに序列(東京都と千葉県に同時に合致した場合に、東京都を優先する!)もないので、わざわざ条件列で作る必要はない。。

つまり、リストにあるかどうか判定したいってこと!

ほかの言語でよくある、In(A,B,C)とかNot In(X,Y)に対応するようなあれをやりたいな、ってことなので

カスタム列の追加から
image.png

=List.Contains({"茨城県","栃木県","群馬県","埼玉県","千葉県","東京都","神奈川県"},[県名])

image.png
 青:判定したいリスト(リストなので{}で囲む!)
 黄色:比較したいカラム

もちろん、いずれとも一致しないも判定できる

その場合はこんな感じ
image.png

=not(List.Contains({"茨城県","栃木県","群馬県","埼玉県","千葉県","東京都","神奈川県"},[県名]))

さっきの式を全体()でくくって、notつける。
すると、反転した結果が得られる
image.png

比較したいリストがめっちゃ長いとか、更新される可能性があるときは?

別テーブルにこんな感じに、1列の比較したいデータの一覧を作って
image.png
で、元のテーブルのほうにこんなカスタム列を追加
image.png

=List.Contains(Table.ToList(関東一覧),[県名])

image.png

 さっきと比べて、青いところが変わっただけ。{}でくくって、リストの中身を全部記載していたのを、Table.ToList()で、テーブルをリストに変えて読ませている。

もちろん、結果は同じになります!
image.png
…もっと簡単にできる方法もある気がしますが、とりあえずやりたいことはできたのでヨシとする!

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?