• ベストアンサー

エクセルで抽出の関数は?

  A B C   ----------- 1 A 1 あ 2 A 2 い 3 B 3 う 4 B 1 え 5 C 2 お 上記のようなA1からC5までの表があるとします。 例えばA6に「A」B6に「2」と入力した時に、C6に「い」と表示したいのですが、どのような関数を使って表示すればいいのですか? A列とB列の条件が合致するものをC列に表示する行を作成したいのです。教えてください。  

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

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

No.3です。 >maruru01さんのやり方ではABに数値など入っていない場合 >#N/Aとでてしまいますね ご指摘とおり、エラー処理は省略しています。 daiku164さんの方法は、結局No.2の方のエラー処理と同じ内容だと思いますが、どちらも表に存在しない値("A"の"3"など)だとやはりエラーになります。 それらも回避してエラーがまったく出ないようにするのなら、 =IF(SUMPRODUCT(($A$1:$A$5=A6)*($B$1:$B$5=B6)),VLOOKUP(B6,IF($A$1:$A$5=A6,$B$1:$C$5),2,FALSE),"") で、[Ctrl]+[Shift]+[Enter]になりますね。 ところで、daiku164さん。 今回のような完全一致検索の場合は、VLOOKUPの第4引数の「FALSE」は省略しない方がいいですよ。 省略すると、「TRUE」と見なされて、思わぬ結果になってしまいますから。

rinrin01
質問者

お礼

たびたびありがとうございます。エクセルって奥が深いんですね~。難しすぎます(>_<) ちなみに、[Ctrl]+[Shift]+[Enter]で確定する時とそのまま確定する時の違いってなんですか??配列なんとかって・・・。

その他の回答 (4)

  • daiku164
  • ベストアンサー率34% (151/437)
回答No.4

こんにちは、 私もこの質問で勉強させていただきました、 shiotan99さんmaruru01さんありがとうございました、 ただ、maruru01さんのやり方ではABに数値など入っていない場合 #N/Aとでてしまいますね、そこで私はこうしてみました、 =IF(A6="","",IF(B6="","",VLOOKUP(B6,IF($A$1:$A$5=A6,$B$1:$C$5),2))) と入れて、Ctrl+Shiftを押しながらEnterで確定しました、

rinrin01
質問者

お礼

ありがとうございます。参考になりました。

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

こんにちは。maruru01です。 C6に、 =VLOOKUP(B6,IF($A$1:$A$5=A6,$B$1:$C$5),2,FALSE) と入力して、[Ctrl]と[Shift]を押しながら[Enter]を押して確定します。 (数式の両端に「{}」が付きます。)

  • shiotan99
  • ベストアンサー率68% (140/203)
回答No.2

こんにちは~ C6に =IF(COUNTA(A6:B6)<2,"",VLOOKUP(B6,IF(($A$1:$A$5=A6),$B$1:$C$5),2,FALSE)) と入れて、Ctrl+Shiftを押しながらEnterで確定(配列数式)。

rinrin01
質問者

お礼

ありがとうございます。参考になりました。 御礼が遅くなり申し訳ございませんm(_ _)m

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

=INDIRECT("C"&SUMPRODUCT(($A$1:$A$5=A6)*($B$1:$B$5=B6)*ROW($B$1:$B$5)))

rinrin01
質問者

お礼

ありがとうございます。参考になりました。 御礼が遅くなり申し訳ございませんm(_ _)m

関連するQ&A

専門家に質問してみよう