跨表并且满足条件求和,你一定没用过Excel这条公式,真的很简单

2019-08-17     跟小小筱学办公技能

跨工作表求和,之前的文章有跟大家详细讲过,这个是比较基础的,也是比较简单的。但是如果说在跨表的基础上还要满足一定的条件进行求和,这个该怎么做呢?

实例:下图中的工作簿有7张工作表,前面6张表是6个月的销售表,这6张表中只有4个姓名,但是每个人卖几种产品,最后一张表是汇总表。现在我们要做的就是将这4个人这6个月所卖的产品销售额加起来,显示到汇总表对应的单元格内。

具体操作步骤如下:

1、选中C5单元格 -- 在编辑栏中输入公式“=SUMPRODUCT(SUMIF(INDIRECT(ROW($1:$6)&"月!$A:$A"),$B5,INDIRECT(ROW($1:$6)&"月!$C:$C")))”-- 按回车键回车 -- 选中C5单元格并将鼠标光标移到右下角出现“十”字符号时往下拖动至C8单元格即可。

2、动图演示如下。

3、公式解析。

(1)ROW($1:$6)&"月":

该公式主要是得到1月到6月工作表的名称。

(2)ROW($1:$6)&"月!$A:$A":

该公式主要是得到每个工作表A列的单元格区域,即{"1月!$A:$A";"2月!$A:$A";"3月!$A:$A";"4月!$A:$A";"5月!$A:$A";"6月!$A:$A"}。

(3)INDIRECT(ROW($1:$6)&"月!$A:$A"):

INDIRECT函数的作用是返回由文本字符串指定的引用。该公式的意思是表示对1月到6月表格中A列单元格的引用。

(4)INDIRECT(ROW($1:$6)&"月!$C:$C"):

该公式的意思是表示对1月到6月表格中C列单元格的引用。

(5)SUMIF(INDIRECT(ROW($1:$6)&"月!$A:$A"),$B5,INDIRECT(ROW($1:$6)&"月!$C:$C")):

使用SUMIF函数可以对表格范围中符合指定条件的值求和。第一个参数INDIRECT(ROW($1:$6)&"月!$A2:$A13")表示用于条件判断的单元格区域,即1月到6月每个工作表的“姓名”列,第二个参数$B5表示要求和的条件,第三个参数INDIRECT(ROW($1:$6)&"月!$C2:$C13")表示实际的求和区域,即1月到6月每个工作表的“销售额”这一列。该公式返回的是每个表的求和结果{4900;5665;5055;4420;3670;3800}。

由第(5)步的返回结果可看出,是一组数,所以最后我们需要用SUMPRODUCT函数进行求和。

以上就是我们本期的详细教程,如有不懂之处,可在评论区留言!更多常用Excel函数组合,请持续关注本头条号!

如有需要本期教程的练习文件,私信发送“007”即可获取下载链接。

您的每一份赞赏、转发、评论、点赞、收藏都将成为我们写出更多优质教程的动力!感激不尽!

文章来源: https://twgreatdaily.com/zh-hans/XtCAy2wBJleJMoPMfOkC.html