Excel で 2 つの変数を使用して IF-THEN ステートメントを作成するにはどうすればよいですか?

Excel で 2 つの変数を使用して IF-THEN ステートメントを作成するにはどうすればよいですか?
      A           B           C(Output)
   ----------- ----------- ------
 |  65      |    0       |   2   |
   ----------- ----------- ------
 |  31      |    99      |   3   |
   ----------- ----------- ------
 |  0       |    36      |   2   |
   ----------- ------------ -----
 |  9       |    4       |   1   |
   ----------- ------------ -----

Excel でステートメントなどの数式を作成しIF-THEN、列 A と列 B の両方を調べて、どちらの列が大きいかを計算し、値を 0、1、2、3 のいずれかに分類しようとしています。

1 つの列を表示するための数式はありますが、2 つの列を組み込むことができないようです。

=IF(A1=0,"0",IF(AND(A1>0,A1<=10),"1",IF(AND(A1>=11,A1<=80),"2",IF(AND(A1>=80),"3"))))

基準: 0=0, 1-10=1, 11-80=2, >80=3

答え1

関数を使用して、より大きな値を決定できますMAX(A1,B1)

IF(MAX(A1,B1)=0,0,IF(AND(MAX(A1,B1)>0,MAX(A1,B1)<=10),1,IF(AND(MAX(A1,B1)>10,MAX(A1,B1)<=80),2,IF(MAX(A1,B1)>80,3))))

すべての値が正の数である場合は、下限をチェックする必要がないため、次のように関数を簡略化できます。

IF(MAX(A1,B1)=0,0,IF(MAX(A1,B1)<=10,1,IF(MAX(A1,B1)<=80,2,3)))

答え2

もし私があなただったら、3番目の列をCにします。

=IF(A1 > B1, A1, B1)

次に、単一の列で計算を実行します。必要に応じて非表示にすることもできます。

とにかく方程式を簡略化しましょう。たとえば、値が 80 を超える場合は、それ以上テストする必要はありません。

=if(C1 >= 80, "3", if(C1 >= 11,"2",if(C1=0,"0","1"))))

テストがマッチしたら、残りの部分はif破棄されることに注意してください。つまり、80を超える場合は3を選択して終了します。11を超える場合は、しなければならない80 未満でなければ、2 回目のテストに到達できなかったでしょう。

したがって、2 つを組み合わせて、C1 をif最大値をテストするに置き換えます。

=if(IF(A1 > B1, A1, B1) >= 80, "3", if(IF(A1 > B1, A1, B1) >= 11,"2",if(IF(A1 > B1, A1, B1)=0,"0","1"))))

関連情報