如何在 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。

我已经掌握了查看一列的公式,但似乎无法合并两列。

=如果(A1=0,"0",如果(AND(A1>0,A1<=10),"1",如果(AND(A1>=11,A1<=80),"2",如果(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 否则就无法进入第二次测试。

因此,将两者结合起来,用if测试最大值替换 C1:

=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"))))

相关内容