Vlookup関数と言えば、検索ウィンドウを手軽にスプレッドシートに挿入できる、便利な関数ですね。一方、困るのは以下のケース…
答えを見る
E2 =Vlookup(D2,{B2:B11,A2:A11},2,0)


こんな風に、アウトプット範囲が、検索範囲より左にあっても列番指定できたらなぁ…
Step # 1:どうして、列番指定できないの?
どし
Vlookup関数は、複合範囲で1番左の列を自動的に(あなたがいくらそうでないと思っても)「検索範囲」とします。これが列番「1」となるため、それよりも左にアウトプット範囲をおいて、列番指定はできません。
- Vlookup関数のつくりかた
- 実際につかってみよう
= Vlookup(① 検索値, ② 複合範囲, ③ アウトプット範囲の列番, ④ True or False)
③, ④ のつかいかた
③ 複合範囲中、アウトプット範囲となる列の番号。
正の整数で表現。よって、検索範囲の左隣にアウトプット範囲がある際、「-1」とすることは不可能。
④ 検索値を検索範囲で探す時の、ルール。
False(0も可)は、「完全一致」する値を探し、True(1も可)は、「最も近い数値」を探します。
正の整数で表現。よって、検索範囲の左隣にアウトプット範囲がある際、「-1」とすることは不可能。
④ 検索値を検索範囲で探す時の、ルール。
False(0も可)は、「完全一致」する値を探し、True(1も可)は、「最も近い数値」を探します。
E2 = Vlookup(D2,$A$2:$B$6,2,0)

Vlookup関数のヒント
Vlookup関数は、検索範囲に、検索値があるか探し、それがある場合は、③ で指定した列番のアウトプット範囲から、同行に位置する値を返します。False(0)=「完全一致」を使う方が無難です。

そう、初めからアウトプット値が右にあれば、列番指定も簡単なのにね!
-1.png?w=728&ssl=1)
元のスタイルを変えてもOKなら、列の前後を入れ替えてしまいましょう。何事も簡単が一番です。
Step # 2:どうする? → { } で、A・B列をいれかえる
- { } って?
- 実際につかってみよう
- を利用して、A・B列をいれかえてVlookupする【完成】
{ } は中括弧(なかかっこ)・curly brace(ブレース)と呼ばれ、「配列(array)」(= 複数のセル・列や行を一つのセルから展開したり、元の順番を変える際)に使用します。
例えば、A1={あ,い}であれば、「あ」をA1セルに、「い」をその右隣のB1に配置します。
つまり、A1={い,あ}にすれば、
2つの列をいれかえられます!
D2 ={B2:B6,A2:A6}

E2 =Vlookup(D2,{B2:B6,A2:A6},2,0)
