Excelの関数についてのPart4、今回は、VLOOKUP関数というとても便利な関数について、説明させていただきます。よく使われる関数のひとつなので是非覚えてみてください。
VLOOKUP関数
VLOOKUP関数は、指定された範囲において、特定の値を検索し、検索した値の行と指定した列が交わるセルにある値を取り出す関数になります。
ということになりますが、これでわかる方はいないと思うので、もう少し詳しく見ていきましょう。
VLOOKUP関数を見るにあたって、いつも通り、例を挙げてみます。図1をご覧ください。商品コード、商品名、単価、在庫数を列に持つ表があります。ここで、商品コードA001と一致する商品名を取り出してみようと思います。まずは、VLOOKUP関数の書式を見てみましょう。
VLOOKUP関数の書式
第一引数:検索値
検索値には、検索をしたい値を指定します。
今回の例は、商品コードA001と一致する商品名を取り出すので、検索値には、A001を入力します。
第二引数:範囲
範囲には、検索で使用する範囲を指定します。今回の例では、表のE6からH10に商品コードや商品名表があるので、E6:H10を設定します。
第三引数:列番号
列番号は、取り出したい列を指定します。番号は、第二引数で指定した範囲において、左から1列目、2列目、・・・となります。今回の例では、商品コードが1、商品名が2、単価が3、在庫数が4となります。商品名を取り出したいので、2を設定します。
第四引数:検索方法
検索方法には、TRUEまたはFALSEを指定します。TRUEは、近似一致を検索する場合、FALSEは完全一致を検索する場合です。
VLOOKUP関数の使い方
それでは、VLOOKUP関数を使ってみましょう。図1をご覧ください。
はじめに第一引数の検索値を見てみると、C3と入力されています。C3のセルにはA001という値が入っているので、A001が検索値になりますね。
第二引数の範囲には、E6:H10と入力されています。これは、商品テーブルの範囲になります。
第三引数の列番号には、C4と入力されていて、C4のセルには、2という値が入っています。列番号は、第二引数の範囲において、左から1列目が1、2列目が2、3列目が3、・・・というようになります。今回は商品名を取り出したいので、列番号は2になります。C4には、2が入力されていますね。
最後の第四引数の検索方法ですが、商品コードのA001と完全に一致した場合のみで取り出したいので、FALSEを指定します。
さあ、結果はどうなったでしょうか。
VLOOKUPの出力結果には「のり」が表示されています。確かに、商品コードA001の商品名である「のり」が取り出せていることがわかります。
図1のC3セルの内容(商品コード)とC4セルの内容(取り出したい列)を変更してみたらどうなるでしょうか。例えば、商品コードのC3セルをA004にして、取り出したい列を4にしてみましょう。
取り出したい列が4なので、商品テーブルの範囲において、左から4つ目の列である在庫数が取り出す対象の列になります。A004の行と在庫数の列が交わったセルでる321が出力されるはずです。
HLOOKUP関数
HLOOKUP関数は、VLOOKUP関数と似た関数です。VLOOKUP関数の検索方向が上から下になるのに対し、HLOOKUP関数は検索方向が左から右になります。VLOOKUP関数よりは、使用頻度は少ないと思いますが、VLOOKUP関数と同じような系列の関数ですので、一緒にご紹介します。
言葉ではわかりにくいので、はじめに、HLOOKUP関数の書式をお伝えして、例を使って説明させていただこうと思います。
HLOOKUP関数の書式
第一引数:検索値
検索値には、検索をしたい値を指定します。
第二引数:範囲
範囲には、検索で使用する範囲を指定します。
第三引数:行番号
列番号は、取り出したい行を指定します。番号は、第二引数で指定した範囲において、上から1行目が1,2行目が2,3行目が3、・・・となります。
第四引数:検索方法
検索方法には、TRUEまたはFALSEを指定します。TRUEは、近似一致を検索する場合、FALSEは完全一致を検索する場合です。
図2をご覧ください。教科と点数と判定の表があります。この表に対して、例えば、検索したい教科が算数、取り出したい行が点数のときは、HLOOKUP関数を使います。
図2のHLOOKUPの部分を見ると次のようになっています。
検索値はD3で算数という値が入っています。範囲はC7からG9ですので、C7:G9となります。行番号は、第二引数の範囲で指定した範囲において、上から2行目の点数を取り出したいので2を入力します。最後の検索方法は、完全一致で検索したいのでFALSEとなっています。
実際に、=HLOOKUP(D3,C7:G9,D4,FALSE)の出力は65と正しく取り出せていることがわかります。
コメント