エクセルの関数は数あれど、よく使う関数や、知っていて損のない関数はごく一部。
今回はその中でも、特に便利で利用しやすい「VLOOKUP関数」についてご説明します。
「エクセルでこういう表を作りたいんだけど…」というご相談をよくいただきますが、このVLOOKUP関数を使えば解決できるものも多々あります。
「使ったことあるよ」という方も、「関数はちょっと苦手で」という方も、どうぞご覧下さい。
VLOOKUPとは、指定した範囲の中から検索条件に一致したデータを検索し、取り出してくれる関数です。
例えば、商品コードを入力しただけでその商品の単価や商品名を表示させることができます。
(もちろん、元となる商品一覧表は必要です)
-
図1(画像クリックで拡大)
【@】に商品コードを入力すると、商品一覧表【A】から製品名や
単価を検索し、結果を【B】に表示します。
【図:1】において関数の式が入力されているのは、B のセル です。
入力されている式は以下の通りです。
=VLOOKUP(検索値〔@〕,範囲〔A〕, 列番号〔A:1〜3〕,検索方法の指定)
検索値〔@〕 | Bに関数を入力した後、商品コードを打ち込むセルです。 打ち込むと、Bに 商品名、及び単価が表示されます。 |
---|---|
範囲〔A〕 | 商品一覧表のセルです。 表内左端の列(「1」の列)に、検索に用いる商品コードが 入力されている必要があります。 |
列番号 | 範囲〔A〕内の、何列目に取り出したいデータがあるかを 指定します。 【図:1】の例の場合、商品名を取り出したい場合は「2」、 単価を取り出したい場合「3」となります。 ※列数に制限はありません。 |
検索方法の指定 | 「FALSE」または「TRUE」で指定します。 「FALSE」と指定すると、検索値と完全に一致する値だけを 範囲の中から検索します。 「TRUE」を指定すると、検索値と一致する値がない場合、 一番近い値を検索します。 |
例を用いて、具体的な式の入力法方法を見ていきましょう。
【図:2】では、関数式は セル D6 に入力されています。
- 図2(画像クリックで拡大)
-
- 範囲〔A〕のセルの “$” マーク
- 「$I$4 : $K$15」の“$”マークは、その範囲が「絶対セル番地」であることを示しています。
例えば、D6に入力されている式をD7へコピーした場合、範囲が絶対セル番地で指定されていないと、参照範囲もずれてコピーされてしまいます。
(この場合、I5 〜 K16になります)
範囲〔A〕を絶対セル番地で指定しておけば、 式をどこにコピーしても、範囲は必ずI4 〜 K15を参照するようになります。
セル C6 に商品コードが入力されると、検索範囲である I4 〜 K15 の一番左端のセルを検索し、合致する商品コードがあれば
2列目にある商品名を D6 に表示します。
検索の型が「FALSE」なので、合致する商品コードがなかった場合や、ブランクだった場合はエラーコード( 「#N/A」 )が表示されます【図:3】。
エラーコードは、商品コードに何も入力されていないときでも表示されます。
「商品コードがブランクのときはエラーコードを表示させたくない」といった場合は、
IF関数 を組み合わせてみましょう。
IF関数 とは、条件を満たしているかどうかで処理を分岐できる関数です。
今回の例だと「セル C6 はブランクである」が条件となり、条件を満たしていた場合
( C6 がブランクだった場合)は答えもブランクにし、
条件を満たしていなかった場合
( C6 に何か入力されていた場合)は、VLOOKUPを使った式を実行させるようにします。
-
- 「 "" 」(半角のダブルコーテーション)
- 二つの半角のダブルコーテーション(「 "" 」)は ブランク を表しています。
式の中で文字を表現したい場合は、「 " " 」で囲ってください。
(例: "パソコン" など)
今回ご紹介したVLOOKUP関数やIF関数を応用すると、様々なパターンの数式を設定することができます。
関数の応用は慣れないとちょっと難しいかもしれませんが、頭の体操だと思って、色々とトライしてみて下さい!