VLOOKUP関数は、検索対象の右側に抽出データが並ぶ表でなければ抽出できないため左側に抽出データがある場合は表の右側に抽出データを作成しなければならない。INDEX+MATCH関数を使えば、表をそのままにして抽出できる。
指定の検索/抽出範囲から抽出
例題1|抽出範囲から抽出する
- 「氏名」を求めるセル(B2セル)を選択し、「=INDEX(」と入力する。
- [参照]…抽出する「氏名」のセル範囲を選択する。
- [行番号]…MATCH関数で検索値のセルが表の「電話番号」の何番目にあるかを求める数式を入力する。
- [列番号]…省略して、「Enter」キーで数式を確定する。
【数式】=INDEX(B5:B7,MATCH(A2,C5:C7,0))
数式の解説
「MATCH(A2,C5:C7,0)」の数式は、B1セルの「080-****-0003」が表の「電話番号」の何番目にあるかを求める。求めた番目をINDEX関数の引数の[行番号]に使い「=INDEX(B5:B7,MATCH(A2,C5:C7,0))」の数式を作成すると、その番目と同じ行にあるB5~B7セルの範囲の「堀川千里」が抽出される。
Excelデータダウンロード
以下のリンクを右クリックし、Excelデータをダウンロードください
Excel-sample1.xlsx
応用1|
上記の手順ではINDEX+MATCH関数の数式を解説しているが、検索範囲と抽出範囲が別々に設定できるVLOOKUP関数でも可能。ただし、引数の[検査範囲]に指定する範囲のデータは、以下のように文字コードの昇順に並べ替えたデータでなければ正しく抽出できない。したがって、五十音順に並べられた名前などからは正しく抽出できないので注意が必要。
❶[担当者]を求めるセル(B2セル)を選択し、「=LOOKUP(」と入力する。
❷[検査値]…検索する「会員ID」のセルを選択する。
❸[検査範囲]…検索する「会員ID」のセル範囲を選択する。
❹[対応範囲]…抽出する「氏名」のセル範囲を選択して、「Enter」キーで数式を確定する。
Excelデータダウンロード
以下のリンクを右クリックし、Excelデータをダウンロードください
Excel-application1.xlsx
コメント