ARRAYFORMULAがカッコいい

=ARRAYFORMULA(VLOOKUP(G:G,{B:B,A:A,C:E},{2,1,3,4,5},0))

このやり方だと、Queryのように抜き出す列を複数にしたり、並び替えたりできる照合する列が一番左になくてもいい。一つのセルに入れるだけ。なんてスマート。

  • A列からE列までの表がある。新たにG列を追加して、この列にある文字列をB列内で検索する。同じ文字列があった場合、同じ行のA〜Eの値を指示通りの並びで抜き出す。
  • G列が検索キー
  • 次の{}内が検索範囲だが、照合する列が1番左になるように小分けにして記述する。
    この場合はB列が照合相手。(A:Eのようにまとめて指定しないのがポイント)
  • 次の{}内が表示する列。ここの順番を変更すれば好きなように列の変更ができる。
    (この例ではB,A,C,D,Eの順に表示される。元の表は触らなくていいので作業が楽)

列ごと全部を検索、抽出する時に便利。

固定の文字列を指定の列全部から抽出するならQUERYを使う。

=QUERY(A:E,"select B where C = FALSE ",)

A列からE列までの表がある。Cの列に「FALSE」が入っている行のB列の値をすべて抽出する。これも便利。

=QUERY(A:E,"select C where D != E",)

もう一つメモメモ
A〜E列の表で、D列とE列の値が異なる場合に、その行のC列の値を抽出