-PR-
  • 困ってます
  • 2007-05-31 17:44:37
  • 質問No.3045886
解決
済み

excelのVLOOKUPで検索値を2つにできますか?

  • 閲覧数24673
  • ありがとう数16
  • 気になる数1
  • 回答数6
  • コメント数0
hiroki-73

お礼率 73% (525/712)

excelのVLOOKUPで検索値を2つにしたいです
私の知っているVLOOKだと下記のことは対応できます
例えば、A列に会社名、B列に住所、C列に電話番号 とあった場合
「住所が検索値と同一なら電話番号を表示しなさい」という指示は出せます

そこで質問です
「会社名と住所が検索値と同一なら電話番号を表示しなさい」
というような、複数の検索値を持つ事はできないのでしょうか?

参考になるURLなどでも結構ですので、ご存知の方よろしくお願いいたします
  • 回答数6
  • 気になる数1
  • みんなの回答(全6件)

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

    • 2007-05-31 18:25:00
    • 回答No.1
    mshr1962 レベル14

    ベストアンサー率 39% (6944/17612)

    元の表をA列に会社名、B列に住所、C列に「=A2&B2」、D列に電話番号のようにして
    =VLOOKUP(会社名&住所,$D$2:$C$100,2,FALSE)
    のようにすれば可能です。
    • ありがとう数1
    -PR-
    -PR-

    その他の回答 (全5件)

    • 2007-05-31 18:47:09
    • 回答No.4
    fred2000 レベル8

    ベストアンサー率 30% (6/20)

    No.2の方と同じ範囲でつくってみました。 =IF(ISERROR(VLOOKUP(A7,A1:C4,3,0)),"",IF(ISERROR(VLOOKUP(B7,B1:C4,2,0)),"",IF(VLOOKUP(A7,A1:C4,3,0)=C2,VLOOKUP(B7,B1:C4,2,0),""))) チョット範囲を変えるのが大変で、実用的 ...続きを読む
    No.2の方と同じ範囲でつくってみました。
    =IF(ISERROR(VLOOKUP(A7,A1:C4,3,0)),"",IF(ISERROR(VLOOKUP(B7,B1:C4,2,0)),"",IF(VLOOKUP(A7,A1:C4,3,0)=C2,VLOOKUP(B7,B1:C4,2,0),"")))
    チョット範囲を変えるのが大変で、実用的でないかもしれませんね。
    • ありがとう数0
    • 2007-05-31 18:53:37
    • 回答No.5
    fred2000 レベル8

    ベストアンサー率 30% (6/20)

    No.4です。 4行目の C2 は C1 でした。 すみません
    No.4です。
    4行目の C2 は C1 でした。
    すみません
    • ありがとう数0
    • 2007-05-31 18:32:19
    • 回答No.3
    zap35 レベル14

    ベストアンサー率 44% (1383/3079)

    VLOOKUP関数は検索条件は一つしかありません。VLOOKUP関数を使用するならA列に会社名と住所を連結したセルを設けるしかありません。 B列が会社名、C列が住所ならA列に  =B1 & C1 のようにすれば連結ができます。A列を「会社名+住所」で検索することはVLOOKUP関数で可能です 文字列を連結した列を使用しない方法は過去の質問にたくさんあります 「エクセル 複数条件検索」で探すと ...続きを読む
    VLOOKUP関数は検索条件は一つしかありません。VLOOKUP関数を使用するならA列に会社名と住所を連結したセルを設けるしかありません。
    B列が会社名、C列が住所ならA列に
     =B1 & C1
    のようにすれば連結ができます。A列を「会社名+住所」で検索することはVLOOKUP関数で可能です

    文字列を連結した列を使用しない方法は過去の質問にたくさんあります
    「エクセル 複数条件検索」で探すと他にも見つかります。
    でも「例えば、A列に会社名、B列に住所、C列に電話番号」に対して回答しても、実際のシートでは修正が必要になります。式が結構複雑になりますので、まずは過去の例をじっくり眺めて再質問されるのが良いと思います

    http://oshiete1.goo.ne.jp/qa2982881.html
    • ありがとう数1
    • 2007-05-31 18:28:52
    • 回答No.2
    mu2011 レベル14

    ベストアンサー率 38% (1910/4994)

    VLOOKUP関数ではできませんので次の方法は如何でしょうか。 表範囲はA1:C4とし、A7、B7に検索値としています。 案1 =INDEX(C:C,SUMPRODUCT((A1:A4=A7)*(B1:B4=B7)*ROW(A1:A4))) 案2 数式は配列数式の為、入力完了時にshift+ctrl+enterキーを同時押下して下さい。 =INDEX(C:C,MATCH(A7&B7,C ...続きを読む
    VLOOKUP関数ではできませんので次の方法は如何でしょうか。
    表範囲はA1:C4とし、A7、B7に検索値としています。
    案1
    =INDEX(C:C,SUMPRODUCT((A1:A4=A7)*(B1:B4=B7)*ROW(A1:A4)))
    案2
    数式は配列数式の為、入力完了時にshift+ctrl+enterキーを同時押下して下さい。
    =INDEX(C:C,MATCH(A7&B7,CONCATENATE(A1:A4,B1:B4),0))
    • ありがとう数0
    • 2007-06-01 08:55:28
    • 回答No.6
    fred2000 レベル8

    ベストアンサー率 30% (6/20)

    No.4です。 思いっきり間違えてました。 =IF(ISERROR(VLOOKUP($A$7,$A$1:$C$4,3,0)),"",IF(ISERROR(VLOOKUP($B$7,$B$1:$C$4,2,0)),"",IF(VLOOKUP($A$7,$A$1:$C$4,3,0)=VLOOKUP($B$7,$B$1:$C$4,2,0),VLOOKUP($B$7,$ ...続きを読む
    No.4です。
    思いっきり間違えてました。
    =IF(ISERROR(VLOOKUP($A$7,$A$1:$C$4,3,0)),"",IF(ISERROR(VLOOKUP($B$7,$B$1:$C$4,2,0)),"",IF(VLOOKUP($A$7,$A$1:$C$4,3,0)=VLOOKUP($B$7,$B$1:$C$4,2,0),VLOOKUP($B$7,$B$1:$C$4,2,0),"")))
    です。
    すみません。
    • ありがとう数0
    • 回答数6
    • 気になる数1
    • ありがとう数14
    • ありがとう
    • なるほど、役に立ったなど
      感じた思いを「ありがとう」で
      伝えてください
    • 質問する
    • 専門家・企業を含めた、
      多くの人々が答えてくれます
    このやり方知ってる!同じこと困ったことある。経験を教えて!
    このQ&Aにはまだコメントがありません。
    あなたの思ったこと、知っていることをここにコメントしてみましょう。

    関連するQ&A

    -PR-
    -PR-

    その他の関連するQ&Aをキーワードで探す

    別のキーワードで再検索する
    -PR-
    -PR-
    -PR-

    特集


    うつ病による不安の正しい対処法をチェック

    -PR-

    ピックアップ

    -PR-
    ページ先頭へ