Column C Column D Column E
14 6 1
11 16.52
5 82.64
30 0
60 0
12 0
9 0
4 0
我有这三列,它们都是用户输入的,因此它们在数值上是动态的。 C列有一个数字范围,比D列的值小一些。 E列的值大于0。 E列中的0表示不计算C列中的同一行。 我需要做的是在E列中获取相应的“非零”值,并测试C列中的值是否小于D列。 然后,计算D列与C列中任何小于D列的值之间的差,然后将该值除以C列的COUNT等于或大于D列。 例如现在。在C列中,我不会评估第5:9行,因为E列在那些行中为0。 C列第4行是值5,比D列6小1,所以差为1。C列中有2个值等于或大于D列 所以结果是1/2 = .5
另一个例子:
Column C Column D Column E
14 6 1
11 16.52
5 82.64
30 0
60 0
12 0
9 0
4 19.56
在此示例中,列C的第2、3、4、9行中有4个使用的值。其中两个值比D列小D2-C4 + D2-C9 = 3。 结果是3/2 = 1.5
另一个例子:
Column C Column D Column E
14 6 1
11 16.52
5 0
30 0
60 0
6 18.66
9 0
4 0
结果为0/3 = 0
我试图用INDEX / MATCH,SUMPRODUCT,COUNTIFS,SMALL,INDIRECT,MIN来解决问题,但这超出了我的EXCEL能力。
答案 0 :(得分:2)
应该使用SUMIFS,几个COUNTIFS和一些数学运算。
=(D2*COUNTIFS(E:E, "<>"&0, C:C, "<"&D2)-SUMIFS(C:C, E:E, "<>"&0, C:C, "<"&D2))/COUNTIFS(E:E, "<>"&0, C:C, ">="&D2)