Vlookup関数の使い方【スプレッドシート基本〜応用】


Vlookup関数が、よく分からなくて困っています。基本から、使い方をおさらいしたいし、できればよく使う応用も教えて欲しい。


今回は、こんなお悩みを解決します。


本記事の内容
・スプレッドシートのVlookup関数の使い方
・Vlookup関数の実践例【基本】
・Vlookup関数の実践例【応用】
※ 本記事はエクセルのVlookupにも対応しています。


Vlookup関数は、空港の電光掲示板と基本は同じです。

ずらっと垂直(Vertical)に並ぶ左端のフライトNo.。これをてがかりに、行き先や搭乗時刻を横に辿っていく…。そう、左端列の検索キーに紐づく、横情報を取ってくる関数です。


初めての方でも分かりやすいように、分かりやすい解説を心がけています。

まずは基本から、いってみましょう!

 スプレッドシートのVlookup関数の使い方


Vlookupの構文と各項目について

= Vlookup(① 検索キー, ② 表範囲, ③ 列番号, ④ 検索方法

① 検索キー
 表範囲の左端列から垂直検索する値(例:”FA275″, “山田健”, D3, 15)。
※ 文字列には2重引用符がつきます。
② 表範囲
 検索キーを左端列に含む(検索方法1の場合は除く)、情報を含む全表範囲。

③ 列番号
 表範囲中、取り出したい情報がある列の番号。左端を1として、横何列目かで指定。

④ 検索方法
 0(false)か、1(ture)。0は、検索キーと完全一致する値を左端列から検索します。一方、1の場合は、検索キー以下で最も近い一致値を検索します。


Vlookupの使用例


本例では表範囲の上に、検索ウィンドウを作成し、B3セルを詮索キーにしています。該当フライトNo.の出発時刻(3列目)を取り出しています。
= Vlookup (B3,$C$6:$G$13,3,0)

ここのポイント
・検索キーはB3セル(フライトNo.入力済み)
・取得する出発時刻は左端から3列目なので、3
・検索キーを検索ウィンドウセルに作れば、フライト検索の変更が簡単に

ヒント
検索キーをセル番にすると、式内にフライト番号を直接入力する手間が省けます。
プルダウンリストを予め用意しておくと、選択時に便利なのでよりオススメです。


Vlookup関数の実践例【基本】


別のシートの範囲をVlookupする方法

  1.  同じスプレッドシートの別シートをVlookupする

  2. シート2の目的地情報を、シート1に参照するには…
    = Vlookup(B3,’シート2′!$C$3:$G$10,2,0)
     Vlookupは別のシートの表範囲から検索キーを使用してデータを取り出すことも可能です。別シートからの参照は、「’別シートの名前’!A1:B1」でした。




  3.   完全に別のスプレッドシートファイルをVlookupする

  4. 完全に分離したスプレッドシートファイルのデータ範囲も、参照することができます。
    =Vlookup(B3,IMPORTRANGE(“1V34d6p_xxxxyyyE9JWdhB0tqiA”,”C3:G10″),5,0)
     Importrangeは、ある範囲(range)を別シートから取り込む(import)関数です。これを利用して、Vlookupの表範囲も効率よく取り込むことが出来ます。
    使い方は、取得したいシートのURLで、「d/××××/edit#」の部分を、Importrange(”×××ד, “取得する範囲”)のように挿入するだけです。



    Left関数と組み合わせて前〇〇文字を検索キーに

    各航空会社は、短縮アルファベットで表記されます。フライトNo.の左2文字がそれにあたります。
    =Vlookup (LEFT(C3,2),$F$12:$H$15,2,0)
     Left(セル番, 情報を取り出す文字数)で、対象のセルの文字の左から〇〇文字を取り出すことができます。これを利用して、Vlookupと組み合わせると、前2文字を検索キーにして、航空会社名を表から取り出せます(右下の航空会社とアルファベットの表は事前作成)。


    ヒント
    ・本例の列番号は2です。表範囲が別にあるケースの列指定は要注意です。



    検索方法1で近似値検索する方法

    各航空会社のアンケート結果(点数)を、S〜C評価に変更したい
    =Vlookup(D3,$G$8:$I$11,2,1)
     検索方法1(false)は、検索キー以下で、最も近い数を、表範囲の左端列から検索します。
    例えば55は、それ以下で最も近い数が「0」なので、C評価に分類されます。このように、数値(検索キー)をある評価に分類する際に有効です。
    表範囲の左列が、昇順である(下から上へ大きくなる)ことが条件です。



    Iferror関数でエラー「#VALUE」「#N/A」を削除・書き換える方法

    =iferror(Vlookup(D4,$G$8:$I$11,2,1),”未回答”)
     回答が未記入(-)の場合、検索キー(点数)を右下の表から検索することが出来ないので、「#N/A」が返されます。IFERROR関数は、IFERROR(エラーを消したい関数)の形で、このエラーを非表示にできます。
    また、IFERROR(関数, “エラー時に表示したい内容”)の形で、「#N/A」の代わりに表示させたい内容を設定できます。



    ここまでのポイント
    ・検索する表範囲は別のシートでもOK
    ・LEFTを使えば、検索キーの前〇〇文字で検索可能
    ・検索方法1はバラバラの数字を大まかに分類する際に有効
    ・Iferror関数で、検索キー不明のエラー表示を消せる


     Vlookup関数の実践例【応用】



    ArrayFormula関数で動作を軽く&効率アップ

    =ARRAYFORMULA(VLOOKUP(LEFT(A3:A130,2),E2:G5,2,0))
     表範囲が大きすぎて、マウスを下までドラッグする&絶対参照が面倒くさい。関数を複雑で動作が重く、フリーズしてしまった。

    そんなときはArrayformula関数の出番です。通常、すべてのセル内に数式を書く必要がありますが、ArrayFormulaであれば入力箇所が最初の1つで済みます。代わりに、検索キーを全範囲(A3:A130)に指定します。



    1セルへの入力で、複数列の情報を取得する方法

    C3セルへの関数入力だけで、B3セルの検索キーに当てはまる行情報全てを抜き出せています。
    =ARRAYFORMULA(VLOOKUP(B3,B6:G13,{2,3,4,5,6},0))
     {2,3,4,5,6}で、列番号を一気に指定することが出来、複数セルのVlookupを一セルで済ますことができます。
    { } 「中括弧(なかかっこ)」は、入力を1セル上で済ます一方、アコーディオンのように複数情報を入力後に広げる配列機能を持っています。(詳しくはこちら
    arrayformula関数は以下のショートカットで入力できます。

    Windows Ctrl + Shift + Enter  | Mac  + Shift+ Enter



    その他のVlookupの応用例

    VLOOKUP関数で、列番指定を0より左にする方法【スプレッドシート】

    2019.12.31

    【スプレッドシート】MATCHをVlOOKUPにする方法 |「位置」でなく「検索値」を答えに

    2020.02.29