Excelのキーまたはルックアップ値を使用して列全体をルックアップしたい場合があります。その場合、従来のHLOOKUP式またはINDEXMATCH式を複数回使用できます。ただし、INDEX-MATCHを使用すると、1回のヒットで列全体を取得できます。方法を見てみましょう。

image

行全体を検索する一般的な式

{=INDEX(table,0,MATCH(lookup value, lookup range),0)}

注:これはマルチセル配列数式であり、出力範囲を選択した状態でCTRL + SHIFT + ENTERを使用して入力する必要があります。

テーブル:取得する列を含むテーブル全体の参照。

ルックアップ値:ルックアップのキー。

ルックアップ範囲:ルックアップ値を含む行。主に見出し。

物事を明確にするための例を見てみましょう。

例:学生テーブルからすべてのロール番号を取得する

ここに、Excelシートにいくつかの学生データがあります。見出し名ロール番号を使用してロール番号列全体を取得したい

image

F2:F10の範囲の出力が必要です。 F2:F10の範囲を選択し、この式を記述します。

{=INDEX(A2:D10,0,MATCH(F1,A1:D1,0))}

Ctrl + Shift + Enterを押します。これにより、この数式はマルチセル配列数式になります。

取得された列全体が表示されます。

image

どのように機能しますか?

それは基本的なINDEX-MATCH関数です。唯一の違いは、1行だけではなく、テーブル全体の参照をインデックスに指定したことです。

理解するためにそれを分解しましょう。

MATCH(F1、A1:D1,0):一致は、範囲A1:D1のF1(ロール番号)の値を探します。 2番目のインデックスにあります。したがって、2が返されます。したがって、式は= INDEX(A2:D10,0,2)

になります。 INDEX(A2:D10,0,2):INDEX関数は、範囲A2:D10の2番目の列を調べ、列の値全体を配列で返します。\ {101; 102; 103; 104; 105; 106; 107; 108 ; 109}。

単一セルの配列数式として入力すると、配列の最初の値のみが返されます。ただし、複数のセルを選択すると、各値がセルを占有してケース自体を表示します。

そうですね、これはINDEXMATCH式を使用してExcelで列全体を取得する方法です。このExcelの式、またはExcelやVBAの他の機能について疑問がある場合はお知らせください。下のコメントセクションのすぐ下。