当前位置: 袁怀宾的菜地 > 数据与分析, 精华推荐 > 文章正文

【Excel2007】高级技巧2:数组公式在求整体平均值上的应用

袁怀宾 发表于 2009-05-15 15:17 | 来源: | 阅读 1,425 views

(声明,以下技巧均只在Excel2007中保证没问题,其它版本,您自己爽!)

(转技巧1)

【描述】先分别计算各行值,然后就计算结果整体求平均

【实现】

方法1:
常规方法

方法2:

解法2(数组公式,记得按shift+ctrl+enter,同时哦!)

{=AVERAGE(C2:C11/B2:B11)}

问题1:当行数增加删除时结果怎么样能够相应动态变化?
解法2改进1:使用offset动态指定计算区域

{=AVERAGE(OFFSET(C2:C2,0,0,COUNTA(A:A)-1,1)/OFFSET(B2:B2,0,0,COUNTA(A:A)-1,1))}

问题2:如果有的公司来访量为0怎么办?(分母=0会发生除0错误)
解法2改进2:增加对分母的非0判断

{=AVERAGE(IF(OFFSET(B2:B2,0,0,COUNTA(A:A)-1,1)>0,OFFSET(C2:C2,0,0,COUNTA(A:A)-1,1)/OFFSET(B2:B2,0,0,COUNTA(A:A)-1,1),0))}

问题3:我手头有几个条件我希望只计算满足条件的数据行,不满足当它不存在怎么处理?
解法2改进3:使用if来进行条件判断,同时对于if的返回结果进行处理,只返回符合条件的数据,丢弃不符合条件数据

{=AVERAGE(IF(OFFSET(B2:B2,0,0,COUNTA(A:A)-1,1)>0,OFFSET(C2:C2,0,0,COUNTA(A:A)-1,1)/OFFSET(B2:B2,0,0,COUNTA(A:A)-1,1)))}

(备注:发现改进3和改进2之间的区别了吗?对少了“,0”,对计算结果的影响是改进2将分母为0的行的结果记为0,然后这个0参与了正题的求平均计算,
而改进3则丢弃了分母为0的行)

(转技巧3)

您可能还喜欢

喜欢袁怀宾的菜地的文章,那就马上阅吧!RSS Feed

已经有2 个评论

  1. 熙雨 说:

    我只知道选中”D2:D11″,输入“=C2/B2”,按“F2”键,再同时按下“c
    trl+shift+enter”,”D2:D11″的值都算出来了
    “{=AVERAGE(C2:C11/B2:B11)}”这个好强啊,省了好多步骤,再配上“offset”更完美了
    我决定了,要好好利用“offset”这个函数,太灵活了

  2. 袁怀宾 说:

    offset好,offset秒,offset灵活定位呱呱叫!

我要评论

*

* 绝不会泄露



返回首页 | 关于地主 |