• ベストアンサー

エクセル関数で2個条件がある場合のVlookup

エクセル2002使用です。 2個条件がある場合の表の検索方法(Vlookup?)を考えているのですが、名案が浮かびません。お知恵を貸してください。 表1   A  B  C  D 1  1 2  2 検索1    3  3 4  4 検索2 表2   A  B  C  D 1  2 妻 名前1 2  2 子 名前2 3  4 妻 名前3 4  4 子 名前4 表1のB列に関数での入力式を考えています。 表1のA列の番号と表2のA列の番号が一致し、なおかつ表2のB列が"妻"であるC列の名前を表1のB列に入れたいのです。例えば、上記の表1の検索1は名前1を、検索2は名前3を入力できるようにしたいのでが・・・ Vlookup(A2,表2!A1:C4,3,0) にどのようにネストしたら良いのかわかりません。 方法は、問いませんので複数の条件が合うときの検索方法を考えています。 よろしくお願いします。

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 表1のB1に、 =IF(SUMPRODUCT((表2!$A1:$A4=A1)*(表2!$B1:$B4="妻")),VLOOKUP("妻",IF(表2!$A1:$A4=A1,表 2!$B1:$C4),2,FALSE),"") と入力して、[Ctrl]+[Shift]+[Enter]で確定します。 (数式の両端に「{}」が付いて、配列数式になります。) これを、下の行へコピーします。 ちなみに、妻が複数は多分ないでしょうが、子が複数ある場合は、上の行の子の名前しか検索出来ません。 その場合は、「子1」「子2」とか、「長男」「長女」などと区別させる必要があります。

ken123
質問者

お礼

maruru01 様いつもありがとうございます。 バッチリいけました。関数の配列ってこういうふうに使うんですね。 子の振り分けについてはあきらめて手入力します。 ありがとうございました。 今後ともよろしくお願いします。

その他の回答 (1)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

表2のA列の左に1列挿入 現在のA列とB列を連結した式を入力 A1=B1&C1 表1で B1=IF(ISNA(VLOOKUP(A1&"妻",表2!$A$1:$D$4,4,0)),"",VLOOKUP(A1&"妻",表2!$A$1:$D$4,4,0)) として下方にコピー(オートフィル)

ken123
質問者

お礼

mshr1962様、早速のご回答ありがとうございました。 ISNA関数を初めて使わせていただきました。 ありがとうございました。今後ともよろしくお願いします。

関連するQ&A