徹底解説(VLOOKUP,MATCH,INDEX,OFFSET)
検索されるキーワードで最も多いのが、
この4つの関数です
そこで、これらの関数を徹底解説します。
解説に使うシート
VLOOKUPが使用出来ないような場合に、他の関数を使って同様の機能を実現する必要が出てきます。
その時の基本として、VLOOKUPを他の関数で実現する、さまざまな方法を紹介します。
INDEXとMATCHの組み合わせ
OFFSETとMATCHの組み合わせ
VLOOKUP関数
VLOOKUP関数は、
指定された範囲の 1 列目で特定の値を検索し、その範囲内の別の列の同じ行にある値を返します。
検索値には、値またはセル参照を指定します。
範囲の左端の列の値が、検索値で検索される値です。
昇順に並べ替えておく必要があります。
FALSEを指定すると、検索値と完全に一致する値だけが検索されます。
検索値と一致する値が見つからない場合は、#N/Aエラー値が返されます。
上記の数式は、
一致した行の、2列目のデータを取得しています。
INDEX関数とMATCH関数の組み合わせ
指定された照合の型に従って検査範囲内を検索し、検査値と一致する要素の、配列内での相対的な位置を表す数値を返します。
MATCH(検査値,検査範囲,照合の型)
1を指定すると、検査値以下の最大の値が検索されます。
0を指定すると、検査値に一致する値のみが検索の対象となります。
-1を指定すると、検査値以上の最小の値が検索されます。
省略すると1を指定したものと見なされます。
上記の数式は、
範囲(A2~A7)を検査し、
一致した行の、A2からの位置(A2が1、A3が2)である4が返されます。
"B02"(D2)で、A列を探し、一致した5行目(A5)の、A2からの位置である4を返します。
この4を使用して、以下のINDEX関数で値を取得します。
行番号と列番号で指定されるテーブルまたは配列の要素の値を返します。
INDEX(配列,行番号,列番号)
配列が1行または1列のみの場合、それぞれ行番号または列番号を省略することができます。
行番号を省略した場合は、必ず列番号を指定する必要があります。
列番号を省略した場合は、必ず行番号を指定する必要があります。
上記の数式は、
A2~A7の範囲で、上から4番目、左から2番目のセル(B5)を取得します。
OFFSET関数とMATCH関数の組み合わせ
上記の数式は、
A2から、下に3、右に1ずれた、B5を取得します。
ここでは、高さ1、幅1を指定していますので、1つのセルが取得されています。
他の関数との組み合わせで力を発揮する関数です。
VLOOKUPを他の関数でやる方法
上記以外では、配列を使用した方法もあります。
徹底解説(VLOOKUP,MATCH,INDEX,OFFSET)の最後に
INDEX関数
OFFSET関数
さらに次の次元のエクセルへと進む事が出来ます。
セルの参照範囲を可変にする(OFFSET、COUNTA、MATCH)
同じテーマ「エクセル関数応用」の記事
セルの参照範囲を可変にする(OFFSET,COUNTA,MATCH)
新着記事NEW ・・・新着記事一覧を見る
TRIMRANGE関数(セル範囲をトリム:端の空白セルを除外)|エクセル入門(2024-08-30)
正規表現関数(REGEXTEST,REGEXREPLACE,REGEXEXTRACT)|エクセル入門(2024-07-02)
エクセルが起動しない、Excelが立ち上がらない|エクセル雑感(2024-04-11)
ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.RangeとCellsの使い方|VBA入門
6.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
7.セルのクリア(Clear,ClearContents)|VBA入門
8.メッセージボックス(MsgBox関数)|VBA入門
9.条件分岐(Select Case)|VBA入門
10.マクロとは?VBAとは?VBAでできること|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。