みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excelの関数で

お願いします。

Index関数とMatch関数を使用して表の中の値を求めようとしましたが、
検索行が複数あるため、うまくいきません。

検索する列は1列(a,b,c)ですが、検索行(あ、い、う~)が複数になっています。
更に空白もあります。
こんな感じ↓です。

---------------------
  あ  い   う
  え      お
  か
---------------------   
a  10  20  30
b  40  50  60
c  70  80  90
---------------------

こういった場合にはどんな関数を使って一致する値を求めたら良いのでしょうか?

大変困っております。よろしくお願いします。

投稿日時 - 2008-08-06 21:31:42

QNo.4233041

すぐに回答ほしいです

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

 あ い う
 え   お
 か
a102030
b405060
c708090

このデータが、A1からD6にはいっていたとして、

検索値 a が、A9、検索値 あ が、B9にはいっているとして、
C9に以下の計算式を入力します。
=INDEX($B$4:$D$6,MATCH($A9,$A$4:$A$6,0),IF(COUNTIF($B$1:$B$3,$B9)=1,1,IF(COUNTIF($C$1:$C$3,$B9)=1,2,IF(COUNTIF($D$1:$D$3,$B9)=1,3,""))))

投稿日時 - 2008-08-07 13:53:22

お礼

回答ありがとうございます。
見慣れた関数と短縮された式で非常にわかりやすかったです。
自分の表に取り入れやすかったです。
本当にありがとうございました。
また機会がございましたら、よろしくお願い致します。

投稿日時 - 2008-08-07 18:47:58

このQ&Aは役に立ちましたか?

11人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

とりあえず、たたき台としてください
┌─┬─┬─┬─┬─┬─┬─┐
│ │ A│ B│ C│ D│ E│ F│
├─┼─┼─┼─┼─┼─┼─┤
│1 │ │あ│い│う│ │a │
├─┼─┼─┼─┼─┼─┼─┤
│2 │ │え│ │お│ │お│
├─┼─┼─┼─┼─┼─┼─┤
│3 │ │か│ │ │ │30│
├─┼─┼─┼─┼─┼─┼─┤
│4 │a │10│20│30│ │ │
├─┼─┼─┼─┼─┼─┼─┤
│5 │b │40│50│60│ │ │
├─┼─┼─┼─┼─┼─┼─┤
│6 │c │70│80│90│ │ │
└─┴─┴─┴─┴─┴─┴─┘

F1に行検索値 (上の例ではa)
F2に列検索値 (上の例ではお) 
F3に
=INDEX(B4:D6,MATCH(F1,A4:A6,0),IF(NOT(ISNA(VLOOKUP(F2,B1:B3,1,0)=F2)),1,IF(NOT(ISNA(VLOOKUP(F2,C1:C3,1,0)=F2)),2,IF(NOT(ISNA(VLOOKUP(F2,D1:D3,1,0)=F2)),3,))))

投稿日時 - 2008-08-07 09:03:40

お礼

回答ありがとうございます。
おかげ様で問題を解決することができました。
本当に助かりました。
ありがとうございました。

投稿日時 - 2008-08-07 18:46:12

ANo.1

どのデータを検索して、どういう結果になればいいか、もっと具体的に書いた方がみんなが考えやすいですよ

投稿日時 - 2008-08-06 22:13:47

補足

Index関数とMatch関数を使用して表の中の値を求めることができますよね。
その行の選択肢が複数になっているということです。

MATCH関数で「検索範囲」を指定するときに、通常は1行内の範囲だと思いますが、
それを複数行にまたがって検索範囲に指定したいのですが、エラーになってしまうのです。

なので、それに変わる関数があるのか、あるいは全然違う方法でもあればご教示願いたいです。

よろしくお願いします。

投稿日時 - 2008-08-06 22:56:26

あなたにオススメの質問