- ベストアンサー
エクセルのIF関数とVLOOKUP関数について教えてください。
A B C 1 A1 B1 C1 2 A2 B2 C2 ・ ・ ・ 上記のような表があり、セルX、Yに入力した値が2つの条件に合致した場合、セルZにC列の値を返すような数式を作っています。 たとえば、セルXの値がA1より小さく、かつ、セルYの値がB1より小さい場合にはセルZにC1の値を表示する、という数式を作りたいのです。 (ちなみにAn、Bn、Cnにはそれぞれ数字が入ります) =IF(AND(X<=A1,Y<=B1),C1,IF(AND(X<=A2,Y<=B2),C2,・・・ AND関数を利用してこのように数式を入れると、途中まではうまくいくのですが、引数が多いため途中からエラーが出てしまいます。 (引数の数は10個以上あります) IF関数とVLOOKUPを組み合わせればいいというところまではわかるのですが、どのように条件設定をすればいいのかがわかりません。 エクセル初心者で恐縮ですが、どなたか詳しい方いらっしゃいましたらご回答よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
A列、B列ともに昇順でデータが並んでいるのであれば =INDEX(C列,INDEX(MATCH(0,0/((A列>=X)*(B列>=Y)*ROW(A列)),0),0)) こんな計算式で表示することも可能です。 内容 C列のデータの並びの中から、A列データ>=XとB列データ>=Yが成立した最初のセル行のデータを拾い出す。 配列計算の応用的な式。
その他の回答 (3)
- 374649
- ベストアンサー率38% (203/527)
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 複数条件によるデータの抽出という事と認識していますので相違していた場合、読み捨て下さい。 =INDEX(C:C,SUMPRODUCT(($A$1:$A$100<=x)*($B$1:$B$100<=y)*ROW($A$1:$A$100)))
- A88No8
- ベストアンサー率52% (836/1606)
こんにちは 例えば A1-B1 から An-Bn までの組合せがすべて成立しても何らかの基準で1組だけ採用するのですか? それとも成立するものは、すべて知りたいのですか?
お礼
なるほど、INDEX関数を使えばいいんですね! わかりにくい説明だったのにも関わらず、ありがとうございました。 やりたかったことが見事に解決しました。