龙空技术网

多表数据计算很简单,Indirect函数来帮你

Excel函数与vba实例 1023

前言:

如今兄弟们对“c语言用if函数求和”大体比较关怀,姐妹们都想要知道一些“c语言用if函数求和”的相关内容。那么小编也在网络上收集了一些对于“c语言用if函数求和””的相关知识,希望你们能喜欢,同学们快快来学习一下吧!

如工作中我们会按照日、周、月、年等形式来统计各类数据,然后会在一种汇总表中对所有sheet页中统计的数据进行平均或者求和汇总。本节将会讲解怎么用函数来进行跨sheet指定条件求和。下节课将会讲解如何使用函数进行跨sheet指定条件求平均。

案例一:求出表中12个月人员总销售额。

我们都知道条件求和函数sumif,但是此函数只能使用单一条件,sumfis可以使用多条件求和,但是当条件过多时函数会显的特别长。如何避免这些问题,下面将引入一种新的函数INDIRECT引用函数。

条件求和函数:

=SUM(SUMIF(INDIRECT(ROW($1:$12)&"!B:B"),$B3,INDIRECT(ROW($1:$12)&"!F:F")))

此处思路与sumif条件求和一样,运用函数嵌套,使用indirect函数引用出各月条件区域,当sumif函数条件符合时引用出各月条件求和区域。

函数解析:

1、ROW($1:$12):引用各sheet页下标数字,1-12个月。

2、SUMIF(INDIRECT(ROW($1:$12)&"!B:B"),$B3,INDIRECT(ROW($1:$12)&"!F:F")):此处函数主要为引用出各月符合条件$B3的数据。选择这个函数区域按F9我们可以看到以下内容:

3、因为sumif与Indirect函数引用的函数是个月符合条件的数值,是以数组形式体现的。所以最后使用SUM对数组求和的时候需要使用:ctrl+shift+enter 三键求组。

案例二:求出表中12个月人员各月平均销售额。

与求和类似,averageif的条件区域去条件值在这里我们同样使用indirect进行引用。

条件区域:INDIRECT(ROW($1:$12)&"!B:B")

条件参数值:INDIRECT(ROW($1:$12)&"!F:F")

条件求和函数:

=AVERAGE(IFERROR(AVERAGEIF(INDIRECT(ROW($1:$12)&"!B:B"),$B3,INDIRECT(ROW($1:$12)&"!F:F")),""))

函数解析:

1:AVERAGEIF(INDIRECT(ROW($1:$12)&"!B:B"),$B3,INDIRECT(ROW($1:$12)&"!F:F")):当个月的条件区域等于B3时,对各月F:F列参数进行平均;

2:IFERROR(AVERAGEIF,“”):与求和函数相比,此处多了IFerror函数在这里做一次判断,当我们AVERAGEIF函数对各月参数进行判断时,如果这个月此人没有数据我们判断区域会显示错误值,如下图:

所以必须用IFEEROR函数做判断,当求出的为错误值时,计算为空,这样才不会计入到平均值里面去;

3:与求和一样结束后需要使用:ctrl+shift+enter 三键求组。

现在你学会如何根据实际情况使用Indirect函数进行数据处理了吗?

标签: #c语言用if函数求和