用excel算平均值,第一步先搞清楚分母要纳入哪些记录,再对应选普通average、条件平均、可见行平均或者加权平均就行。我们这次演示用的分值里有0、60、90还有一个空白单元格:普通平均会把数值0算进去,自动忽略真正的空白单元格;要是你要排除0、按部门筛选或者按权重计算,出来的结果本来就对应不同统计口径。下面分六种实际场景演示怎么算,除了套公式,你还要核对空值的实际含义、条件范围和权重,别随便挑个看着顺眼的结果就用。
场景一:普通平均,零值与空白分开看
F7输入 =AVERAGE(B2:B5),结果50,是0、60、90三个数值加总后除以三算出来的。B5这种完全空白的单元格不会被算进分母,数值0反而会参与计算;如果你的数据里0代表缺测,先回去查对应的业务定义,别偷偷直接把0删掉。统计范围内的文本内容也不会被识别成数值零。

场景二:明确排除零值,再求正数平均
如果你的统计口径明确只统计正分值,F7写 =AVERAGEIF(B2:B5,">0"),结果75,刚好对应60与90两个数的平均。这个条件也会自动排除负数,要是你只想排除零但保留负值,得自己调整对应条件;这不是在修复普通平均的50,而是换了一套明确的样本范围。

场景三:只算某部门,用 AVERAGEIF
F7写 =AVERAGEIF(A2:A5,"采购",B2:B5),结果45,对应采购部门两条记录0与90的平均。选部门区域和分值区域的时候要保证逐行对应,别不小心把两个区域错开一行;平均条件要放在部门列,别因为金额或分值列恰巧有相同文字就误选了条件范围。

场景四:部门且已完成,用 AVERAGEIFS
F7写 =AVERAGEIFS(B2:B5,A2:A5,"采购",C2:C5,"已完成"),结果90。这个函数要把求平均的区域放在最前面,后面跟着成对的条件,采购部门的待处理零分不会参与计算;如果完全找不到合格数值时可能出现#DIV/0!,这时候先核对条件和数据,不要直接认定平均是0。

场景五:只看可见行,用 SUBTOTAL
先隐藏第2、5行,F7写 =SUBTOTAL(101,B2:B5),结果75,对应可见的60、90。参数101代表求平均值并忽略手动隐藏行,筛选出来的隐藏行也不会计入统计;普通AVERAGE仍会把原范围里的零算进去,最后交付结果的时候要把口径不同的情况讲清楚。

场景六:数量不同,用加权平均
E9:E10单价为10、20,F9:F10数量为1、3,F12写 =SUMPRODUCT(E9:E10,F9:F10)/SUM(F9:F10),结果17.5,分母总数量为4。这里不能把两个单价直接取普通平均得到15,因为各自对应的数量不同;先确认权重为有效正数且总和不为0,核对口径后保存平均值口径.xlsx。











