• ベストアンサー

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

  • vlookup関数について

    vlookup関数について教えてください。    A       B         C      D      E        1  あじ    りんご     2  さば    みかん            3  さんま   ばなな        という内容で、D1セルに入力した内容に応じてE1セルに内容を転記させていました。 E1=VLOOKUP(D1$A$1$B3,2,FALSE) 上記で運用していたときはうまくいったのですが、 Cの列にも文字をいれ、E1セルにはCの内容を検索して、B列の内容を転記したいと 思って作りかえるとうまくいきません。 今回の新しいやり方では、 ・A列からの検索はいらない(でも他ファイルから参照されているので、削除、移動はできない) ・E1=VLOOKUP(D1$A$1$C2,2,FALSE)では #N/A となる ・A列からの検索がいらないから、E1=VLOOKUP(D1$B1$C2,1,FALSE) でも #N/A 調べてみたのですがわからなくて・・・ どこがおかしいのか、教えてください。宜しくお願いします。

  • ExcelでのVLOOKUP関数について

    キー1を1000倍したうえで完全一致のVLOOKUP関数を使うと#N/Aエラーが発生します。 表示上は同じように見えますが内部的に異なる値となっているのでしょうか? 試しにエラー行に対して、キーとターゲットとなる当該セルを「=」でつないで確認しても「TRUE」となります。 添付画像は、 検索先としてA列に基準キーを130.168~130.192(step 0.001)で各行へ入力し、B列はA列を1000倍、C列はB列をROUND関数で整数値に丸めたものをキーとしました。 D列にVLOOKUPで参照する値を入力し、E列以降で以下の異なるパターンで値を参照しています。 (1)【E・F列】 ・E列に整数値をキーとして130168~130192(step 1)で入力。 ・E列をキーとしてB~D列のVLOOKUP関数としています。   『=VLOOKUP(E3,B:D,3,FALSE)』 (2)【G・H列】 ・G列にE列/100をキーとして計算。 ・G列をキーとしてA~D列のVLOOKUP関数としています。   『=VLOOKUP(G3,A:D,4,FALSE)』 (3)【I列】 ・E列をキーとしてC~D列のVLOOKUP関数としています。   『=VLOOKUP(E3,C:D,2,FALSE)』 シートを複製し、キーの入力範囲を0.001~0.025(E列は1~25)にした場合はエラーがでませんでした。 その他の確認としてはTEXT、JIS、ASCなどを組み合わせて文字列としたキー同士のVLOOKUPではエラーにならず値を参照できています。

  • VLOOKUP関数について教えて下さい

    Excel97を使用しています。 VLOOKUP関数を使って二つのデータを照合したいのですが、 A    B     C    D    E        コード|内容 |    |コード |内容 | 0001 |ああ |ああ  |0001  |ああ | 0002 |ああ |    |0002  |   | 0003 |   |    0|0003  |   | D,E列の範囲からA列のコードを検索かけたいのですが、 =VLOOKUP(A2,ひかく,2,0)        ↑       D,E列 だと内容欄に空欄が入っていると0になってしまいます。 0でなく空欄にしたい場合はどうしたらよいのでしょうか?

  • VLOOKUP関数について

    VLOOKUP関数を使用して、大項目あ~うに該当する小項目a~dを拾い出します。 [Sheet1]  A B C D 1 あ a  c 2 い b 3 う d [Sheet2]  A B C 1 い  b Sheet1に大項目と小項目のデータを、Sheet2を検索シートとします。 A1には検索する大項目を、B1にはVLOOKUP関数を使って小項目を拾い出します。このときに、B項目がbというのは単純に拾えるのですが、小項目が2つ以上ある場合が拾い出せません。 2つ以上ある場合はC1、D1とに表示させたいのですが、どんな関数を使えばいいのか分かりません。 マクロを使うのでしょうか? 教えてください。

  • VLOOKUP関数で検索できません

    A列に勤務時間帯、B列に人数を入力したリストがあります。 E1にVLOOKUP関数を入力しましたがエラーになるので困っています。 A1 → 8:00~18:00  B1 = 5 A2 → 9:00~19:00  B2 = 7 D1 → 8:00~18:00 E1 → =VLOOKUP(D1,A1:B2,2,0) チルダを抜くと検索できるようになりますが、 VLOOKUP関数でチルダは使えないのでしょうか。 チルダありでも検索できるうまい方法があれば教えて下さい。

  • エクセルVLOOKUP関数の検索値について

      A   B     C     D     E 1 あ AAA 2 い  BBB 3 う  CCC 4 え  DDD 5         お   い  =VLOOKUP(C5,A1:A4,2,0) VLOOKUP関数にて、質問です。 検索値候補1=C5のセル 検索値候補2=D5のセル 範囲=A1:B4 E5=関数 (ここに式を入れたい) 検索値候補1がない時は、候補2を検索する そんな式はどうすればよいですか? 素人ですので、おたすけください

  • 【VLOOKUP関数】こんなこと出来ますか?

    VLOOKUP関数を使って、あるセルに特定の文字を入力すると、 自動的に任意のセルへ自動入力がされるシステムは多く見かけますが、 VLOOKUPを使ってこんなシステムは出来ますか?もちろん他の関数でもOKです! 上記システムの展開として、例えば Aという部にはA-1、A-2、A-3という人が、 Bという部にはA-1、B-2、B-3という人が、 Cという部にはC-1、C-2、C-3という人が所属しています。 こんな環境で 1.あるセルにA,B,Cが選択可能なプルダウン[入力規則>リスト]を設定します。 2.プルダウンから[A]を選択し、となりのセル入力時には同じようにプルダウンが表示され、中にはA-1、A-2、A-3だけが選択可能になる。 こんなシステム、関数だけを使って出来ませんか?

  • VLOOKUP関数について

    BとC列に抽出表があり検索範囲データがEとF、HとI列の2グループに分かれています。 VLOOKUP関数を使って検索範囲が2つのグループに分かれている場合の計算式を教えてください。 VLOOKUP関数以外でも出来る方法があれば教えてください。

  • VLOOKUP関数 エクセル関数教えてください

    =IF(ISERROR(VLOOKUP(B2,$E$1:$F$296,2,FALSE)),"",VLOOKUP(B2,$E$1:$F$296,2,FALSE)) という関数を入れて、品番をセルに入力して元表から品名を導く表を作成しました。うまく使えています。 これを元に =IF(ISERROR(VLOOKUP(B2,$F$1:$I$1000,2,FALSE)),"",VLOOKUP(B2,$F$1:$I$1000,2,FALSE)) という関数に直して、同じような表を作ろうとしたのですが、うまくいきません。 何が悪いのか分かりません。 どうすればうまくいきますでしょうか?

  • VLOOKUP関数の範囲をセルで指定したいと思っています。

    VLOOKUP関数の範囲をセルで指定したいと思っています。 B1:参照シート名(VLOOKUP関数で使用する範囲があるシート) C2:範囲の開始位置 E2:範囲の終了位置 B3:G3:列番号(B3の値は、B6:B8の範囲で使用する列番号、 D3の値は、D6:D8の範囲で使用する列番号) これらのセルに入力された情報をもとにB6:G8の範囲にVLOOKUP関数を 反映させたいと思っています。 例えば、 B1に参照シート名「2ケタ」 C2にVLOOKUP関数の範囲の開始位置「A5」 E2にVLOOKUP関数の範囲の終了位置「G7」 B3に範囲の列番号「2」がある場合 B6に「=VLOOKUP(A6,'2ケタ'!A5:G7,2,0)の関数を入力。 B2に参照シート名「3ケタ」 C5にVLOOKUP関数の範囲の開始位置「B5」 E2にVLOOKUP関数の範囲の終了位置「H7」 C3に範囲の列番号「3」がある場合 C6に「=VLOOKUP(A6,'3ケタ'!B5:H7,3,0)の関数を入力。 といった感じです。 現在、B6に「=VLOOKUP($A6,INDIRECT($B$1&"!a5:g7"),INDIRECT("$b$3"),0)」と 関数を入力して、VLOOKUP関数の「範囲の参照シート名」と「列番号」の情報は セルから持ってくることができました。 しかし、「a5:g7」という範囲だけは、INDIRECT関数をうまく入れることができません。 どのように関数を入力したら、上手くいくのか、教えていただけないでしょうか。

専門家に質問してみよう