Excel中多条件筛选后的平均值
可能通过数组{=AVERAGE(IF($B$3:$B$37=G5,$D$3:$D$37))}来完成(输入完成后在编辑栏中按ctrl+shift+enter三键确认),但这时如果单价没有数的话也计算在内的,导致实际平均数要小。
如果要把单价是0的排除在外,则把公式改为=AVERAGE(IF(($B$3:$B$37=G4)*($D$3:$D$37<>0),$D$3:$D$37))(数组),见I列。
如果价格为空格的话就用=IF(ISERROR(AVERAGE(IF(($B$3:$B$37=G4)*($D$3:$D$37<>0)*($D$3:$D$37<>""),$D$3:$D$37))...全部
可能通过数组{=AVERAGE(IF($B$3:$B$37=G5,$D$3:$D$37))}来完成(输入完成后在编辑栏中按ctrl+shift+enter三键确认),但这时如果单价没有数的话也计算在内的,导致实际平均数要小。
如果要把单价是0的排除在外,则把公式改为=AVERAGE(IF(($B$3:$B$37=G4)*($D$3:$D$37<>0),$D$3:$D$37))(数组),见I列。
如果价格为空格的话就用=IF(ISERROR(AVERAGE(IF(($B$3:$B$37=G4)*($D$3:$D$37<>0)*($D$3:$D$37<>""),$D$3:$D$37)))=FALSE,AVERAGE(IF(($B$3:$B$37=G4)*($D$3:$D$37<>0)*($D$3:$D$37<>""),$D$3:$D$37)),0)
因为average()只能求出所选区域的平均值 ,如果附加条件的话只能用数组,以去掉不要的数据项。
当然用数组比较麻烦,运算速度也变慢了,所以尽可能不用数组来解题。
另外,你原来筛选出来的类型号有重复的,我又重新筛选了一下,去掉了几个重复的类型号。
具体见附件。收起