- ベストアンサー
エクセルで抽出の関数は?
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列に表示する行を作成したいのです。教えてください。
- みんなの回答 (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」と見なされて、思わぬ結果になってしまいますから。
その他の回答 (4)
- daiku164
- ベストアンサー率34% (151/437)
こんにちは、 私もこの質問で勉強させていただきました、 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で確定しました、
お礼
ありがとうございます。参考になりました。
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 C6に、 =VLOOKUP(B6,IF($A$1:$A$5=A6,$B$1:$C$5),2,FALSE) と入力して、[Ctrl]と[Shift]を押しながら[Enter]を押して確定します。 (数式の両端に「{}」が付きます。)
- shiotan99
- ベストアンサー率68% (140/203)
こんにちは~ C6に =IF(COUNTA(A6:B6)<2,"",VLOOKUP(B6,IF(($A$1:$A$5=A6),$B$1:$C$5),2,FALSE)) と入れて、Ctrl+Shiftを押しながらEnterで確定(配列数式)。
お礼
ありがとうございます。参考になりました。 御礼が遅くなり申し訳ございませんm(_ _)m
- mshr1962
- ベストアンサー率39% (7417/18945)
=INDIRECT("C"&SUMPRODUCT(($A$1:$A$5=A6)*($B$1:$B$5=B6)*ROW($B$1:$B$5)))
お礼
ありがとうございます。参考になりました。 御礼が遅くなり申し訳ございませんm(_ _)m
お礼
たびたびありがとうございます。エクセルって奥が深いんですね~。難しすぎます(>_<) ちなみに、[Ctrl]+[Shift]+[Enter]で確定する時とそのまま確定する時の違いってなんですか??配列なんとかって・・・。