• ベストアンサー

Excelの関数で

お願いします。 Index関数とMatch関数を使用して表の中の値を求めようとしましたが、 検索行が複数あるため、うまくいきません。 検索する列は1列(a,b,c)ですが、検索行(あ、い、う~)が複数になっています。 更に空白もあります。 こんな感じ↓です。 ---------------------   あ  い   う   え      お   か ---------------------    a  10  20  30 b  40  50  60 c  70  80  90 --------------------- こういった場合にはどんな関数を使って一致する値を求めたら良いのでしょうか? 大変困っております。よろしくお願いします。

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

  • ベストアンサー
  • dghjty145
  • ベストアンサー率46% (42/90)
回答No.3

 あ い う  え    お  か a 10 20 30 b 40 50 60 c 70 80 90 このデータが、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,""))))

00_11
質問者

お礼

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

その他の回答 (2)

  • wisemac21
  • ベストアンサー率39% (171/429)
回答No.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,))))

00_11
質問者

お礼

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

  • nihonjinn
  • ベストアンサー率39% (79/200)
回答No.1

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

00_11
質問者

補足

Index関数とMatch関数を使用して表の中の値を求めることができますよね。 その行の選択肢が複数になっているということです。 MATCH関数で「検索範囲」を指定するときに、通常は1行内の範囲だと思いますが、 それを複数行にまたがって検索範囲に指定したいのですが、エラーになってしまうのです。 なので、それに変わる関数があるのか、あるいは全然違う方法でもあればご教示願いたいです。 よろしくお願いします。

関連するQ&A