我有一个非常复杂的条件公式,适用于列的每一行(对不起,没有excel 2016 IFS),我想在一个公式中获得一个范围内所有实例的总和,而不必使所有行作为中间步骤。
在其他方面做了很多工作,但是由于某种原因,我坚持使用了这个。
每个单元格的公式为:
=IF((IF(IF(AND(ISNUMBER(Test_Samples!B2),Test_Samples!B2>0.1),Reference_Dataset!$H:$H,"")="N",Test_Samples!B2,0)<1),0,IF(IF(IF(AND(ISNUMBER(Test_Samples!B2),Test_Samples!B2>0.1),Reference_Dataset!$H:$H,"")="N",Test_Samples!B2,0)<2,1,IF(IF(IF(AND(ISNUMBER(Test_Samples!B2),Test_Samples!B2>0.1),Reference_Dataset!$H:$H,"")="N",Test_Samples!B2,0)<5,2,IF(IF(IF(AND(ISNUMBER(Test_Samples!B2),Test_Samples!B2>0.1),Reference_Dataset!$H:$H,"")="N",Test_Samples!B2,0)<13,3,IF(IF(IF(AND(ISNUMBER(Test_Samples!B2),Test_Samples!B2>0.1),Reference_Dataset!$H:$H,"")="N",Test_Samples!B2,0)<34,4,IF(IF(IF(AND(ISNUMBER(Test_Samples!B2),Test_Samples!B2>0.1),Reference_Dataset!$H:$H,"")="N",Test_Samples!B2,0)<91,5,IF(IF(IF(AND(ISNUMBER(Test_Samples!B2),Test_Samples!B2>0.1),Reference_Dataset!$H:$H,"")="N",Test_Samples!B2,0)<245,6,IF(IF(IF(AND(ISNUMBER(Test_Samples!B2),Test_Samples!B2>0.1),Reference_Dataset!$H:$H,"")="N",Test_Samples!B2,0)<666,7,))))))))
我想将其转换为一个公式,该公式可以一次性汇总B:B(或B2:B499)范围内的所有内容。
我尝试了一些SUM和SUMIF(S),然后将B2更改为B:B。这似乎行不通。
哦,如果有人提示将嵌套的IF公式简化为更易读的内容,那也是受欢迎的。公式的想法是将计数转换为类。
所引用的数据集如下:
Test_Samples:
Reference_Dataset:
If语句构成如下分类:
0 = 0
1 = 1
2 = 2-4
3 = 5-12
4 = 13-33
5 = 34-90
6 = 91-244
7 = 245-665
8 = 666+
在这里您看到“ Test_samples”中的计数为2,并且在“ Reference_dataset”中将其标记为“ N”,因此结果将其归类为“ 2”(为避免混淆:如果计数为5,则将其标记为根据课程标准为“ 3”)。 假设如果有5个实例的结果“ 2”在B2:B499范围内,则总和应为10。
答案 0 :(得分:2)
为您的“结果值 在此示例中,我将其放在公式所在的同一工作表上,放在单元格A1:A10中(A1中的标题,因此A2:A10中的数据值)。然后,您可以简化公式并使其像这样引用数据范围: 请注意,这是一个数组公式,因此必须使用 Ctrl Shift Enter (而不是仅 Enter < / kbd>)。Test_Samples B Value
0
1
2
5
13
34
91
245
666
=SUM(MATCH(IF(ISNUMBER(Test_Samples!$B$2:$B$499)*(Reference_Dataset!$H$2:$H$499="N"),Test_Samples!$B$2:$B$499,0),$A$2:$A$10)-1)