如何在 Excel 中建立包含兩個變數的 IF-THEN 語句?

如何在 Excel 中建立包含兩個變數的 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.

我有查看一列的公式,但我似乎無法合併兩列。

=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

如果我是你,我會製作第三列 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分以下,否則達不到第二次測試。

因此,將兩者結合起來,將 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"))))

相關內容