0
0

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 1 year has passed since last update.

【脱VLOOKUP】XLOOKUPとFILTERの紹介

Posted at

はじめに

エンジニアといえども保守運用の現場ではプログラミングとは縁遠く、Excelベースので業務を実施することが多いのではないでしょうか。
僕の常駐している現場でも連携される手順書等でこれでもかというほどVLOOKUPが使われており、挙句の果てにVLOOKUPを使う為に手順が増えてしまっている始末です。
今回紹介する関数はVLOOKUPの完全上位互換といっても差し支えないので、業務でExcelを使う方は是非使いこなしてもらえればと思います。

VLOOKUP

VLOOKUP(検索値,検索範囲,列番号,検索方法)

念の為VLOOKUPについておさらいします。
検索値、検索範囲を指定し検索値を基準として何列目の値が欲しいのかを列番号で指定します。検索方法は基本False。
例:以下の表でD子のIDが欲しい場合
=VLOOKUP("D子",A:C,3,FALSE)
image.png

以上のように値を持ってこれるので膨大なデータから値を持ってきたいとき等に使えます。
しかし、検索値は検索範囲の再左になければならない制限があるのでこの表だとIDから名前を持ってきたりすることはできません。
それこそ元の表の列を入れ替える等のデータの加工が必要になります。

XLOOKUP

XLOOKUP(検索値,検索範囲,戻り範囲,見つからない場合,一致モード,検索モード)

検索値と検索範囲を指定し、欲しい値を範囲で指定します。それ以外の3つはここでは省略します。
例:以下の表でID1003の名前が欲しい場合
=XLOOKUP(1003,C:C,A:A)
image.png

以上のようにどの列からでも値を持ってこれます。
ちなみに以下のように戻り範囲を広げると複数の値を持ってこれます。
=XLOOKUP(1003,C:C,A:B)
image.png

FILTER

=FILTER(配列,含む,空の場合)

配列で欲しい値の範囲を指定し、含むで条件を指定する。空の場合はここでは省略します。
例:以下の表で役職が技術の名前がすべて欲しい場合
=FILTER(A:A,B:B="技術")

image.png
以上のように条件に当てはまる名前をすべて持ってこれます。

縦ではなく横に出力したいときはTRANSPOSEを使いましょう
例:TRANSPOSE(FILTER(A:A,B:B="技術"))
image.png

1セルに収めたいときはTEXTJOINを使いましょう
例:TEXTJOIN(",",TRUE,FILTER(A:A,B:B="技術"))
image.png

終わりに

いかがでしたでしょうか。かなり省略したので細かい使い方までは理解できないかもしれませんが、こんなものもあるんだと知っていただき、業務内で選択肢の一つとして思い出してもらえれば幸いです。特にFILTER関数知れば世界が変わるのでこの機会に調べてみてはいかがでしょうか。

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?