「エクセル使いこなせていますか?」
サラリーマン歴十数年で培ったエクセルスキルを基に、エクセルの使いこなし方を紹介していきます。
今回は、エクセル関数のうち最初につまずきそうな関数No.1(個人の感想)の「VLOOKUP関数」の【基礎編】です。
例えば、次のような人にぜひ読んでもらいたいです。
- そもそもVLOOKUP関数って何?
- VLOOKUP関数って難しそう…
それでは一緒に見ていきましょう!
【基礎編】VLOOKUP関数の使い方を知ろう
最初は【基礎編】です。関数の意味や構文、基本の使い方について押さえましょう。
そもそもVLOOKUP関数は、簡単に説明すると「ある値を検索して、その値と同じ行の別の値を返す」という関数です。ですが、これだけだとわかりませんよね?では、早速どのような関数なのか具体的に説明していきます。
VLOOKUP関数の構文
まず、VLOOKUP関数はどのような引数を取って、どのような戻り値を取るのか説明します。
ここでの説明はとりあえず「ふーん」という感じ眺めてもらう感じでOKです。一言一句覚える必要はありません。
書き方 | =VLOOKUP(検索値, 範囲, 列番号, [検索方法]) |
引数「検索値」 | 「範囲」の先頭列で検索する値を指定します。 値、セル参照、または文字列を指定します。 |
引数「範囲」 | 目的のデータが含まれる文字列、数値、または論理値のテーブルを指定します。 セル範囲の参照、またはセル範囲名を指定します。 |
引数「列番号」 | 「範囲」の列番号を指定します。ここで指定された列で一致する値が返されます。 「範囲」の先頭列には1を指定します。 |
引数「検索方法」 | 「検索値」と完全に一致する値だけを検索するか、その近似値を含めて検索するかを、論理値で指定します。 ・近似値を含めて検索=TRUEまたは省略(1でも可) ・完全一致の値を検索=FALSE(0でも可) |
戻り値 | 指定された「範囲」の1列目で特定の値(「検索値」)を検索し、指定した列(「列番号」)と同じ行にある値を返します。(テーブルは昇順で並べ替えておく) |
引数と戻り値の説明はこんな感じなのですが、この説明だけだとわかりませんよね。ここまでで「よくわからない」と挫折してしまう方もいるのではないでしょうか?
次から具体的な使い方を説明しますね。ここで諦めてはいけませんよ!
基本の使い方
例を交えながら基本の使い方を具体的に説明していきます。
例えば、次のような店舗リストがあったとします。そして、「H2セルに入力した店舗の住所を返すというVLOOKUP関数」をI2セルに書いてみましょう。
検索値の考え方
まず検索値には、H2セルに入力される値が入ります。
例えば、上の画像ではH2セルに「A店」と値が入っていますので、検索値として「A店」と入力…したいところですが、違います。
「A店」と入力してもいいのですが…そうすると、H2セルに「B店」や「C店」と入力しても、「A店」の住所しか返ってこないことになります。
検索値にはセル参照も使用してもOKですので、ここでは「H2」と入力するのがベストです。そうすれば、H2セルに入力した店舗名に応じて戻り値も変わってくれます。
=VLOOKUP(H2,「範囲」,「列番号」,「検索方法」)
範囲の考え方
次に範囲ですが、ここは非常に重要なポイントになりますので、しっかり理解してくださいね。
前述の引数の説明のところで、範囲は「目的のデータが含まれる文字列、数値、または論理値のテーブルを指定」と説明されていました。つまり、今回は住所を返したいので、住所が含まれるテーブルを指定することになりますね。
ということで、住所が含まれるテーブルとしては、セル参照を使って「A1:F8」と指定する…というのは間違いです。
というのも、前述の戻り値の説明に「指定された「範囲」の1列目で特定の値(「検索値」)を検索し、」と書かれてありますよね。
実は、検索値を含む列を1列目とする範囲を指定しなければならないのです。ここが重要ポイントです。
ここでは、検索値は「店舗名」ですので、B列が1列目となるように範囲を指定しなければなりませんね。つまり、セル参照を使って「B1:F8」とするのが正しいということになります。
=VLOOKUP(H2,B1:F8,「列番号」,「検索方法」)
◆補足◆
実際には、検索値を含む列が1列目にあればよいため、他にも色々な書き方があったりします。例えば、上のような場合は1行目は含まなくてもいいのでB2:F8でもOKです。
列番号の考え方
続いて列番号です。ここも勘違いしやすいところなので、しっかり押さえておきましょう。
前述の引数の説明のところでは「「範囲」の列番号を指定します。」と書かれてありますが…何の列番号を指定すればいいんですかねぇ?いや、範囲の列番号を指定すればいいんですが、範囲内の何の列番号なのかいまいちわかりづらいですね。
列番号は、範囲内で目的のデータが含まれる列の番号という意味なので覚えておきましょう。つまり例では、住所の列の番号ということです。
ということで、住所の列は「D列」ですので、列番号はDということ…にはなりませんので注意してください。勘違いポイントなので要注意です。
列番号のポイントは2つあります。
- 列番号は数値で指定する
- 目的のデータを含む列が範囲内で左から何番目の列なのかを表す値である
つまり例では、範囲は「B1:F8」だったので、B列が1列目、C列が2列目、D列が3列目…となり、目的のデータ=住所を含む列の列番号は「3」ということがわかります。
=VLOOKUP(H2,B1:F8,3,「検索方法」)
検索方法の考え方
最後に検索方法です。論理値(TRUEかFALSE)のいずれかを指定します。
今回、例のように検索値として文字列を使う場合は、絶対に「完全一致の値を検索」することになるので、ここでは「FALSE」を指定します。(文字列の場合、近似値というのがないので、完全一致の値を検索するしかないからです。)
ちなみに、検索値として数値を使う場合には、検索方法として近似値を含むのか完全一致なのかを検討する必要が出てきます。
=VLOOKUP(H2,B1:F8,3,FALSE)
VLOOKUP関数を使おう!
ということで、VLOOKUP関数が書けました。実際にI2セルに関数を入力すると、店舗の住所が表示されていますね。
ここまでVLOOKUP関数の基本の使い方について紹介しました。最初は引数の考え方が定着するまで大変かもしれませんが、徐々に慣れていきましょう。
次の【実践編】では、もう少し突っ込んだVLOOKUP関数の使い方を紹介します。バリバリ使えるようになりましょう!
コメント