Excel或wps跨工资表多条件求和

原公式:=SUMIF(1!$C:$C,$C1,1!$G:$G)+SUMIF(2!$C:$C,$C1,2!$G:$G)+SUMIF(3!$C:$C,$C1,3!$G:$G)+SUMIF(4!$C:$C,$C1,4!$G:$G)+SUMIF(5!$C:$C,$C1,5!$G:$G)+SUMIF(6!$C:$C,$C1,6!$G:$G)+SUMIF(7!$C:$C,$C1,7!$G:$G)+SUMIF(8!$C:$C,$C1,8!$G:$G)+SUMIF(9!$C:$C,$C1,9!$G:$G)+SUMIF(10!$C:$C,$C1,10!$G:$G)测试公式1(不成功):=SUMIF(1:10!$C:$C,$C1,1:10!$G:$G)测试公式2(不成功):=SUMIFS(1:10!$G:$G,1:10!$C:$C,$C1)测试公式3(不成功):=SUM(IF(1:10!$G:$G=$C1,1:10!$C:$C,""))请高手优化原公式,感激不尽!

你这样的结构,不如每一个工作表中固定位置都算出来条件求和,比如统一在1-10个工作表的A2单元格用统一公式:

=SUMIF(C:C,C1,G:G)

求得每一个工作表的条件和。

最后,只要使用公式:

=SUM('1:10'!A2)

  即可得到你想要的总和了…………

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-09-30
你要的公式:
=SUM(SUMIF(INDIRECT(ROW(1:10)&"!$C:$C"),C1,INDIRECT(ROW(1:10)&"!$G:$G")))
数组公式,同时按下Ctrl+Shift+Enter结束输入。追问

测试老师您的公式,确实ok,就是我需要的,感激万分!

把工作表的名称改为中文,公式又该怎么写,详情见图:

我想这样,但是不成功:

{=SUM(SUMIF(INDIRECT(ROW(裥花:薄垫)&"!$C:$C"),C3,INDIRECT(ROW(裥花:薄垫)&"!$G:$G")))}

再次感谢,请不吝赐教!

追答

对于中文名的工作表名,要提取只能使用宏表函数或者VBA来实现,或者使用cell每个sheet设置一个公式,麻烦程度都不算低,最简单直接打字得了。
把ROW(1:10)替换成{"裥花","剪裁",……,"薄垫"}
所有工作表名打出来,用英文双引号括起来,用逗号连接,最外面扩上花括号。

本回答被提问者采纳
相似回答