关于excel求平均值的问题 (高分求教excel函数高手)

来源:百度知道 编辑:UC知道 时间:2024/05/03 03:51:02
我现在有n行数值假如说:
第一行 1 2 3 4 9
第二行 2 3 4 5 12
第三行 3 4 3 2 9
第四行 4 2 4 4 9
第五行 5 7 8 4 19
第六行 6 3 5 1 9
我现在要在excel下方某个单元格内进行平均值的统计,这个平均值有几个必要条件以上面的数据为例:第一:第五列也就是最后一列数值必须是9,以上的例子就是第一行 第三行 第四行和第六行符合条件,第二个必要条件就是在第二列、第三列、第四列的单元格内必须含有数值3,以上的例子就是第一行 第三行和第六行符合条件现在挑选工作已经完成,现在我们看见第一行第一个数字是1第三行第一个数字是3第六行第一个数字是6我现在要求的平均值就是3-1=2,6-3=3以此类推就是下面一个数减去上面一个数,而这个例子中这个平均值就是(2+3)/2=2.5我就需要的是在这些下方某个单元格能用函数还是什么显示出来,不知道我说清楚了没有。如果那位高手提供帮助我将不胜感激。
我上面说的第二个必要条件 应该是在第二列、第三列、第四列的单元格内只要有一个单元格有数值3即可。

感谢四位对我问题的关注,正如三层和四层的兄弟所说“符合你条件的最后一行的值减去符合你条件的第一行的值然后除以(符合你条件的总行数减一)”这样求平均值。

我现在将我为什么当时要这样求平均值原因,例如:我现在挑选出来了N行数值他们的第一个数分别为5 10 15 30 45 80 105,如果单求平均值是可以用(105-5)/6=16.66这个方法,主要现在我还要求以下几个数值最大值和最小值还有就是最后被挑选出来的一行的对应的第一个数,那这个例子是10-5=5 15-10=5 30-15=15 45-30=15 80-45=35 105-80=25,那么最大值就是35,最小值就是5,最后被挑选出来的一行的对应的第一个数这里就是105,我现在都希望他们能用函数表达,如果那位高手肯帮忙我将不胜感激。

现在四楼提供的函数基本上正确但是现在问题是第二列、第三列、第四列出现的数值重复时这个函数就会出错,比如说出现2个3或者3个3时这个函数就不对了,我已经在excel上试验过了,如果第二列、第三

如楼上朋友所说,用符合你条件的最后一行的值减去符合你条件的第一行的值然后除以(符合你条件的总行数减一
数组公式(要以CTRL+SHIFT+ENTER 三键结束输入)
=(OFFSET(A1,MAX(MMULT((B1:D6=3)*1,{1;1;1})*(E1:E6=9)*ROW(A1:A6))-1,)-OFFSET(A1,MATCH(0,(0/(MMULT((B1:D6=3)*1,{1;1;1})*(E1:E6=9))),0)-1,))/(SUM(MMULT((B1:D6=3)*1,{1;1;1})*(E1:E6=9))-1)
或者:
=(OFFSET(A1,MAX(IF((E1:E6=9)*((B1:B6=3)+(C1:C6=3)+(D1:D6=3)),ROW(A1:A6),0))-1,)-OFFSET(A1,MIN(IF((E1:E6=9)*((B1:B6=3)+(C1:C6=3)+(D1:D6=3)),ROW(A1:A6),65536))-1,))/(SUM((E1:E6=9)*((B1:B6=3)+(C1:C6=3)+(D1:D6=3)))-1)

针对出现有2个以上3时的计算错误,现修改公式
=(OFFSET(A1,MAX(IF((E1:E6=9)*((B1:B6=3)+(C1:C6=3)+(D1:D6=3)),ROW(A1:A6),0))-1,)-OFFSET(A1,MIN(IF((E1:E6=9)*((B1:B6=3)+(C1:C6=3)+(D1:D6=3)),ROW(A1:A6),65536))-1,))/(SUM((E1:E6=9)*((B1:B6=3)+(C1:C6=3)+(D1:D6=3)>0))-1)


=(OFFSET(A1,MAX((MMULT((B1:D6=3)*1,{1;1;1})>0)*(E1:E6=9)*ROW(A1:A6))-1,)-OFFSET(A1,MATCH(1,(MMULT((B1:D6=3)*1,{1;1;1})>0)*(E1:E6=9),0)-1,))/(SUM((MMULT((B1:D6=3)*1,{1;1;1})>0)*(E1:E6=9))-1)

这个为什么必须用函