Excel中不同列怎样计算条件平均值
A1,B1,C1,D1,四列数据,F1中的值为ABCD四列数的平均值(要求:1、如果ABCD全为空值,则F为空;2、如果ABCD有一列不为空,则F为不为空值列的数值;3、...
A1,B1,C1,D1,四列数据,F1中的值为ABCD四列数的平均值(要求:1、如果ABCD全为空值,则F为空;2、如果ABCD有一列不为空,则F为不为空值列的数值;3、如果ABCD有2列不为空,则F为不为空值列的平均数(和的2分之1);4、如果ABCD有3列不为空,则F为不为空值列的平均数(和的3分之1);5、ABCD无空值,F为ABCD和的4分之1
下面是我自己写的,提示超出范围
=IF(ISBLANK(F5)*ISBLANK(G5)*ISBLANK(H5)*ISBLANK(I5),"",IF(ISBLANK(F5)*ISBLANK(G5)*ISBLANK(H5),I5,IF(ISBLANK(F5)*ISBLANK(G5)*ISBLANK(I5),H5,IF(ISBLANK(F5)*ISBLANK(H5)*ISBLANK(I5),G5,F(ISBLANK(G5)*ISBLANK(H5)*ISBLANK(I5),F5,IF(ISBLANK(F5)*ISBLANK(G5),((H5+I5)/2),IF(ISBLANK(F5)*ISBLANK(H5),((G5+I5)/2),IF(ISBLANK(F5)*ISBLANK(I5),((G5+H5)/2),IF(ISBLANK(G5)*ISBLANK(H5),((F5+I5)/2),IF(ISBLANK(G5)*ISBLANK(I5),((F5+H5)/2),IF(ISBLANK(H5)*ISBLANK(I5),((F5+G5)/2),IF(ISBLANK(F5),((G5+H5+I5)/3),IF(ISBLANK(G5),((F5+H5+I5)/3),IF(ISBLANK(H5),((G5+F5+I5)/3),IF(ISBLANK(I5),((G5+H5+F5)/3),(SUM(F5:I5)/4)))))))) 展开
下面是我自己写的,提示超出范围
=IF(ISBLANK(F5)*ISBLANK(G5)*ISBLANK(H5)*ISBLANK(I5),"",IF(ISBLANK(F5)*ISBLANK(G5)*ISBLANK(H5),I5,IF(ISBLANK(F5)*ISBLANK(G5)*ISBLANK(I5),H5,IF(ISBLANK(F5)*ISBLANK(H5)*ISBLANK(I5),G5,F(ISBLANK(G5)*ISBLANK(H5)*ISBLANK(I5),F5,IF(ISBLANK(F5)*ISBLANK(G5),((H5+I5)/2),IF(ISBLANK(F5)*ISBLANK(H5),((G5+I5)/2),IF(ISBLANK(F5)*ISBLANK(I5),((G5+H5)/2),IF(ISBLANK(G5)*ISBLANK(H5),((F5+I5)/2),IF(ISBLANK(G5)*ISBLANK(I5),((F5+H5)/2),IF(ISBLANK(H5)*ISBLANK(I5),((F5+G5)/2),IF(ISBLANK(F5),((G5+H5+I5)/3),IF(ISBLANK(G5),((F5+H5+I5)/3),IF(ISBLANK(H5),((G5+F5+I5)/3),IF(ISBLANK(I5),((G5+H5+F5)/3),(SUM(F5:I5)/4)))))))) 展开
5个回答
展开全部
直接用平均函数就可以了。
F1单元格公式如下:
=AVERAGEIF(A1:D1,"<>0")
这个公式表示计算A1到D1单元格中数值不为0的平均值。
F1单元格公式如下:
=AVERAGEIF(A1:D1,"<>0")
这个公式表示计算A1到D1单元格中数值不为0的平均值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
思路:统计不为空的个数A 不为空的值求和B
那么有B/A就是帖主要的结果吧。
所以写公式是SUM(A1:D1)/COUNT(A1:D1)
希望楼主明确空是没有东西,而不是0
那么有B/A就是帖主要的结果吧。
所以写公式是SUM(A1:D1)/COUNT(A1:D1)
希望楼主明确空是没有东西,而不是0
追问
可以解释详细写吗?
追答
还要详细?
SUM(A1:D1)其实就是A1+B1+C1+D1,空单元格相加当然默认为0
COUNT(A1:D1)就是统计有多少个非空单元格
为避免全是空返回0,可以用IF判断
所以完整公式就是TEXT(SUM(A1:D1)/COUNT(A1:D1),"#;;;")
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-06-24
展开全部
我没细看,但你可以增加几列,先对这4列的情况进行判断,各种情况赋一个值,然后你只需对所赋的值再进行判断,再用你的公式计算。或许可以达到你的要求。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不用那么复杂的公式。
=IF(COUNTIF(F5:I5,"<>"),AVERAGE(F5:I5),"")
=IF(COUNTIF(F5:I5,"<>"),AVERAGE(F5:I5),"")
更多追问追答
追问
这个公式不可以啊
追答
COUNTIF(F5:I5,"")计算四个单元格中,非空单元格的个数。并作为IF的条件,如果结果大于0,条件成立,返回单元格区域的平均值AVERAGE(F5:I5);如果个数为0,说明全是空值,返回空值""。
AVERAGE会忽略文本,求平均值。
公式不可用,应先检查数据格式是否为文本。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if函数最多嵌套7层,你这太多层了
追问
那用什么公式替代,麻烦帮我解答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询