分享

indirect万能引用函数,你学会使用了吗

 L罗乐 2017-08-30

我们在统计各项数据的时候,经常会碰到一个问题就是,当跨工作表的时候我们应该怎么去处理。如何对多个工作表里面的数据按照对应的条件进行求和,或者是按照对应的条件求平均,这里我们就需要用到一个万能函数indirect。下面我们来讲解具体使用方法。


    iindirect函数讲解    

语法=INDIRECT(ref_text,[a1])

含义:引用所在的区域内容

表现形式:

1、加引号:代表引用对应单元格文本,如indirect('A1'),当出现引号时代表的是引用文本A1;

2、不加引号:代表引用对应的值,如A1单元格为10,indirect(A1)代表的是10.

 

求出1-6号个人销售总金额

如上图,表格中有1号-6号人员每天的数据,怎么求出6天这个人的销售总金额?

函数:=SUM(SUMIF(INDIRECT(ROW($1:$6)&'!A:A'),A2,INDIRECT(ROW($1:$6)&'!g:g')))

1、此处运用条件求和的方式,因为每天每人的数据都是有不一样的情况,所以最开始用sumif条件求和;

2、INDIRECT(ROW($1:$6)&'!A:A')代表将1-6号每天的人名提取出来;

3、INDIRECT(ROW($1:$6)&'!g:g'),代表将提前出来的人名=A2时,提取出1-6号G列的销售数据。

4、用sumif函数与indirect函数查找出每一个符合条件的销售金额后,最后用sum函数进行求和即可。

 

求出1-6号个人平均销售额

函数:=AVERAGE(IFERROR(AVERAGEIF(INDIRECT(ROW($1:$6)&'!A:A'),A2,INDIRECT(ROW($1:$6)&'!g:g')),''))

1、此处运用条件求平均的方式来计算,如上因为每天每人的数据都是有不同,所以最开始用averageif条件求平均;

2、INDIRECT(ROW($1:$6)&'!A:A')代表将1-6号每天的人名提取出来;

3、INDIRECT(ROW($1:$6)&'!g:g'),代表将提前出来的人名=A2时,提取出1-6号G列的销售数据。

4、用averageif函数与indirect函数查找出每一个符合条件的销售金额后;

5、因为每天可能会有人没有数据,数据出来的时候会显示错误值,此时就需要用iferror函数来进行判断,当匹配出的数据有错误时,用空值代替。

6、最后用average函数对剔除错误值后的数据进行求平均即可。

文章声明:本文发布于作者公众号:excel实例,未经允许,如有抄袭,责任必究。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多