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