
次の値を持つテーブルがあるとします。
- 0
- 100
- 200
- 300
次の列には 250 のデータ入力セルがあります。250 の下に、次のような数式を入力します。
- 250が100より小さいが0より大きい場合、「A」
- 250が200より小さいが100より大きい場合は「B」
- 250が300未満だが200より大きい場合は「C」
この数式に基づくと、下のセルは自動的に「C」になります。
その数式はどのように作成するのでしょうか?
答え1
ここではLOOKUPが使えます。
=LOOKUP(C1,A1:A4,{"A","B","C","Error"})
C1 >= 300 の場合はエラーが返されますが、その場合はあなたが望んでいることを言っていません......
答え2
IF
および関数を探しているようですAND
。Excel が手元にありませんが、これを試してください。
=IF(AND(A1>0;A1<100);"A";IF(AND(A1>100;A1<200);"B";IF(AND(A1>200;A1<300);"C";"")))
形式は です=IF(condition;true-value;false-value)
。この場合、 はcondition
の呼び出しでありAND()
、 はfalse-value
別の (同様の) IF ステートメントです。括弧の数が正しいことを願っています。上記を A1 以外のセルに貼り付け、A1 の値を調整して、期待どおりに動作するかどうかを確認します。期待どおりに動作しない場合は、条件を適宜調整します。1 つのセルで期待どおりに動作するようになったら、範囲全体を範囲入力するだけです。
IF
ただし、条件リストが長い場合は、すぐに扱いにくくなります。IF のレベルが 2 ~ 3 を超える場合は、代わりに VBA の使用を検討した方がよいでしょう。VBA は、読みやすい形式で構造化するのがはるかに簡単です。
さらに例を挙げると、Excel で AND、OR、NOT を使用してネストされた IF ステートメントを使用する方法ファイナンスの実験ブログ。
また、0 未満かつ 100 を超える数値は存在しないため、最初の箇条書きは 0 から 100 の範囲であるはずだと推測しました。
答え3
MATCH
ここではと を非常に効率的に使用できますCHOOSE
。A1:A4
と を比較する値はどこにあり、C1
はデータ入力セルです。
=CHOOSE(MATCH(C1,$A$1:$A$4,1),"A","B","C")