原公式:=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)
即可得到你想要的总和了…………
测试老师您的公式,确实ok,就是我需要的,感激万分!
把工作表的名称改为中文,公式又该怎么写,详情见图:
我想这样,但是不成功:
{=SUM(SUMIF(INDIRECT(ROW(裥花:薄垫)&"!$C:$C"),C3,INDIRECT(ROW(裥花:薄垫)&"!$G:$G")))}
再次感谢,请不吝赐教!
对于中文名的工作表名,要提取只能使用宏表函数或者VBA来实现,或者使用cell每个sheet设置一个公式,麻烦程度都不算低,最简单直接打字得了。
把ROW(1:10)替换成{"裥花","剪裁",……,"薄垫"}
所有工作表名打出来,用英文双引号括起来,用逗号连接,最外面扩上花括号。