• ベストアンサー

VLOOKUP関数について

VLOOKUP関数についてお尋ねいたします。 VLOOKUPで、下記のような事ができるでしょうか。 1 11 a 1 12 b 1 13 c 2 11 d 2 12 e 2 13 f 2の11を選択すると『d』を 引っ張ってくる。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.4

VLOOKUPにこだわらなければ 質問文のような、データの位置に規則性がある場合、 例えば、A1:C6にデータがあって C1(=2)とD1(=11)に検索する値が入っている場合 =OFFSET(C1,3*(D1-1)+(E1-11),0) の様に求められます。 また、#3様の様に変形した表にして A1:D4に次のように入っているなら 1 2 3 1 a b c 2 d e f 3 g h i =offset(A1,行の番号,列の番号) で求められます

その他の回答 (4)

  • Raistlin
  • ベストアンサー率63% (65/102)
回答No.5

DGET関数を使うのが一番の早道だと思いますが・・・。

  • miwaharu
  • ベストアンサー率25% (29/112)
回答No.3

こんなのはどうでしょう。 DBを整理してみました これで引数を別々指定できます    a列,b列,c列,d列 1行 "",11,12,13 2行 "",2,3,4 3行 1,a,b,c 4行 2,d,e,f 5行 3,g,h,i =vlookup(引数1,a3:d5,hlookup(引数2,b1;d2,2) 引数1=2 引数2=11 hlookupはvlookupを行列逆にしたものです。 この場合引数2が11なら、vlookupの抽出列の 指定にB列を示す2を返します。

noname#9268
noname#9268
回答No.2

#1さんに補足で・・・。 やり方は#1さんと同じです。 1 11 111 a 1 12 112 b 1 13 113 c 2 11 211 d 2 12 212 e 2 13 213 f で、 =VLOOKUP(211,C1:D6,2,FALSE) とすると"d"が設定されます。 引数の3番目(2)は2列目の値を返すという意味で、 2列目というのは2番目の引数C1:D6のことです。 1番目(C列)の値を返したければ1 2番目(D列)の値を返したければ2と設定します。

  • shkwta
  • ベストアンサー率52% (966/1825)
回答No.1

3列目を挿入し、=A1*100+B1 あるいは =A1&B1などを入れてインデックス用として使います。そして、3列目と4列目をVLOOKUPの検索範囲とします。つまり、2の11なら211で引っ張ってきます。 1 11 111 a 1 12 112 b 1 13 113 c 2 11 114 d 2 12 115 e 2 13 116 f

関連するQ&A