我是岛叔,你好。
下面是兰色大大做的很实用的技能。请诸位考友查收,一定不要忘了练习!!
前几天兰色推过一期跨表公式合集,其中有一个是利用sum进行多表求和
【例】如下图所示,需要在汇总表中统计1~30日的各个商品销量合计(日报表和汇总表格式、位置完全一样)
在汇总表B2中输入公式:
=sum(‘*’!b2)
输入后会自动替换为多表引用方式
=SUM(‘1日:30日 ‘!B2)
有同学提问:如果各个表中商品的位置(所在行数)不一样,该怎么求和?兰色今天要分享一个更强大的支持行数不同的求和公式。
分析及公式设置过程:
如果对单个表(比如1日)进行对A商品进行求和,可以直接用sumif函数搞定:
1日表
在汇总表中设置求和公式:
=SUMIF(‘1日’!A:A,A2,’1日’!B:B)
依此类推excel汇总求和,如果对30天求和,公式应为:
=SUMIF(‘1日’!A:A,A2,’1日’!B:B)+SUMIF(‘2日’!A:A,A2,’2日’!B:B)
+…….+SUMIF(‘30日’!A:A,A2,’30日’!B:B)
这公式也太长了吧……
细心的同学会发现,公式虽然excel汇总求和,但还是有规律的:对各个表的求和除了表名外,其他公式部分都相同。
利用这个特点,我们可以用row函数自动生成对1~30天的引用。
=Row(1:30)的结果为
{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30}
为证明这一点,可以在单元格中输入公式后,选中row(1:30)按F9键
连接成对各个表A列和B列的引用
=ROW(1:30)&”日!A:A”
=ROW(1:30)&”日!B:B”
连接成的只是字符串,并不能代表1:30日的A列和B列。把字符串地址转换成真正的引用,这是indirect函数的特长:
=Inidrect(ROW(1:30)&”日!A:A”)
=Indirect(ROW(1:30)&”日!B:B”)
有地址了,把它套进sumif函数中会怎么样?
=SUMIF(Inidrect(ROW(1:30)&”日!A:A”),A2,Indirect(ROW(1:30)&”日!B:B”))
结果是会把各个表中的A产品销量分别进行求和,查看结果按F9。
最后用sumproduct函数进行求和(这里不用sum的原因是:sum无法直接支持数组运算,本公式中同时对多数组进行运算属数组运算)
最终的公式为:
=SUMPRODUCT(SUMIF(INDIRECT(ROW($1:$30)&”日!a:a”),A2,INDIRECT(ROW($1:$30)&”日!b:b”)))
由于公式复制后row(1:30)中的行数会发生变化,所以这里必须要添加绝对引用符号$
注:如果是多表多条件求和,可以用sumifs函数,原理相同。
兰色说:这是兰色第1次对多表求和进行这么详细的解释,这种解释公式的形式如果同学们觉得好就点右下角在看支持,以后兰色会继续用这种形式剖析更多excel公式。
▼
若感觉能帮助到你
岛叔希望你转发分享给更多人看到哦
岛叔的这个月的鸡腿就靠大家了
近期热文
▼
<section label="Copyright © 2016 playhudong All Rights Reserved." donone="shifuMouseDownPayStyle('shifu_uix_005')
" style="margin: 0.5rem auto; max-width: 100%; letter-spacing: 0.544px; text-align: center; font-family: 微软雅黑; border-width: initial; border-color: initial; border-style: none; width: 663.453px; box-sizing: border-box !important; word-wrap: break-word !important;">岛叔跪求转个发,点个在看
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: muyang-0410声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,请联系我们进行处理。