- ベストアンサー
Excelの関数で
お願いします。 Index関数とMatch関数を使用して表の中の値を求めようとしましたが、 検索行が複数あるため、うまくいきません。 検索する列は1列(a,b,c)ですが、検索行(あ、い、う~)が複数になっています。 更に空白もあります。 こんな感じ↓です。 --------------------- あ い う え お か --------------------- a 10 20 30 b 40 50 60 c 70 80 90 --------------------- こういった場合にはどんな関数を使って一致する値を求めたら良いのでしょうか? 大変困っております。よろしくお願いします。
- みんなの回答 (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,""))))
その他の回答 (2)
- wisemac21
- ベストアンサー率39% (171/429)
とりあえず、たたき台としてください ┌─┬─┬─┬─┬─┬─┬─┐ │ │ 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,))))
お礼
回答ありがとうございます。 おかげ様で問題を解決することができました。 本当に助かりました。 ありがとうございました。
- nihonjinn
- ベストアンサー率39% (79/200)
どのデータを検索して、どういう結果になればいいか、もっと具体的に書いた方がみんなが考えやすいですよ
補足
Index関数とMatch関数を使用して表の中の値を求めることができますよね。 その行の選択肢が複数になっているということです。 MATCH関数で「検索範囲」を指定するときに、通常は1行内の範囲だと思いますが、 それを複数行にまたがって検索範囲に指定したいのですが、エラーになってしまうのです。 なので、それに変わる関数があるのか、あるいは全然違う方法でもあればご教示願いたいです。 よろしくお願いします。
お礼
回答ありがとうございます。 見慣れた関数と短縮された式で非常にわかりやすかったです。 自分の表に取り入れやすかったです。 本当にありがとうございました。 また機会がございましたら、よろしくお願い致します。