• ベストアンサー

エクセルの関数を教えて下さい。

エクセルの関数を教えて下さい。 例えば、A1からC10までの表があり、A列は人の名前、B列は住所、C列は年齢であるとき、「〇〇に住む△才」と指定したら、該当するA列の名前が表示されるようにしたいのですが、方法が分かりません。 (実際にはB列を選んだあとC列を選べば、該当するA列は必ず1つになります。無いという事もありません。) エクセルのヘルプを見て、INDEXとMATCHを組み合わせた関数の使い方が出ていたので、それにANDを加えて何とかならないかと頑張ってみたり、VLOOKUPとかCHOOSEとか、あれこれ探すのですが1時間たっても分からず、自分のアホさ加減にあきれるやら眠くなるやらで、とうとうまた質問させて頂くことにしました。 どなたかご存知の方が見て頂けましたら、ご教授のほどよろしくお願いします。

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.5

MATCH関数を使うなら以下のような数式になります。 =INDEX($A$1:$A$100,MATCH(E2&F2,INDEX($B$1:$B$100&$C$1:$C$100,),0))

RSKQ8B2C
質問者

お礼

早速お答え頂き有難うございました。 一番簡単で、私にとっては一番馴染みのある(笑)関数が使われていたので、見た時に何故かホッとしました。 MATCHの中にまたINDEXを使う訳ですか。なるほど・・・ いろんな方に教えて頂いて、ホント有り難いです。 私が悪戦苦闘した1時間(ホントは1時間と20分・・)は一体何だったんでしょう。 早く質問すれば良かった・・ 有難うございました。

その他の回答 (5)

  • sumer45
  • ベストアンサー率17% (52/294)
回答No.6

オートフィルターじゃだめなの?

RSKQ8B2C
質問者

お礼

夜も遅いのに見て頂いて有難うございます。 私も時間がある時に「オートフィルタ-」ってどういうものなのか調べてみる事にします。 ご提案有難うございました。

回答No.4

複数条件の場合、一気に関数で行うのは難しいです。 よって、自分&後継者のために作業列を使用して計算させるのがお奨めですが、、、 酔っ払ってるので、面倒なので 難しい数式です。m(_ _)m G2セル =IF(SUMPRODUCT((B1:B6=E2)*(C1:C6=F2))<>1,"エラー", INDEX(A:A,SUMPRODUCT((B1:B6=E2)*(C1:C6=F2)*ROW(A1:A6)))) いちおう、エラー処理を入れときました。 添付図参照

RSKQ8B2C
質問者

お礼

早速お答え頂き有難うございました。 酔っててもわざわざ表まで作って頂いて。 作って頂いた表が、私が言いたかった表でした。 有難うございました。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

添付図のように丁寧に作成すれば,教科書に載っているその通りのやり方で簡単にできます。 A2に =C2&D2 以下コピー H2には =IF(COUNTA(F2:G2)=2,VLOOKUP(F2&G2,A:B,2,FALSE),"") しかしこのご相談をなさる98%の皆さんは,こういった丁寧な方法はやりたくありません。 計算例: =IF(COUNTA(F2:G2)=2,INDEX(B:B,SUMPRODUCT((C1:C10=F2)*(D1:D10=G2)*ROW(B1:B10))),"")

RSKQ8B2C
質問者

お礼

早速お答え頂き有難うございました。 実際に表まで作って頂き非常に分かりやすく助かりました。 AND(関数)じゃなくて&を使うんですね。 他にも応用してみたいと思います。 有難うございました。

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

一例です。 E2=〇〇 F2=△ として =INDEX(A1:A10,SUMPRODUCT(MIN(ROW(A1:A10)*11^((B1:B10<>E2)+(C1:C10<>F2)))))

RSKQ8B2C
質問者

お礼

早速お答え頂き有難うございました。 確かに〇〇と△は指定する訳ですから、その場所も例の中に書いておかないといけませんでした。 (たぶん)mshr1962さんが書いてくれたおかげで、その後の回答者の方も答え易くなられたのではないかと思います。 お答え頂いた数式の方は、関数だけでなく見た事のない記号まで幾つもあって、私の方が目が点になってしまいましたがこれから頑張って勉強してみます。 有難うございました。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

E2セルに住所、F2セルに年齢が入力されているなら、以下のような数式で名前を表示できます(必ず該当データがある場合)。 =INDEX(A:A,SUMPRODUCT(($B$1:$B$100=E2)*($C$1:$C$100=F2)*ROW($A$1:$A$100)))

RSKQ8B2C
質問者

お礼

早速お答え頂き有難うございました。 SUMPRODUCTとROWも勉強してみたいと思います。 有難うございました。