Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3472|回复: 10

[已解决]在线求助!表中有公式,待高手更改(统计求和问题)

[复制链接]
发表于 2014-12-17 19:20 | 显示全部楼层 |阅读模式
本帖最后由 linshi2004 于 2014-12-17 21:32 编辑

表中有公式,待高手大大更换或者重新写入公式,有关夸表格随意更换名称统计求和方面的问题~~感谢~~请高手大大解惑
最佳答案
2014-12-17 20:48
本帖最后由 tgydslr 于 2014-12-17 21:57 编辑

还是2007的吧,公式短些C5=IFERROR(SUMIFS(INDIRECT("'"&INDEX(MID(BIAO,FIND("]",BIAO)+1,9),COLUMN(B1))&"'!G4:G100"),INDIRECT("'"&INDEX(MID(BIAO,FIND("]",BIAO)+1,9),COLUMN(B1))&"'!C4:C100"),$A5,INDIRECT("'"&INDEX(MID(BIAO,FIND("]",BIAO)+1,9),COLUMN(B1))&"'!D4:D100"),$B5),"")横拉下拉
其中BIAO=GET.WORKBOOK(1)(插入-定义名称)
2003的公式
==IF(ISERROR(SUMPRODUCT(INDIRECT("'"&INDEX(MID(BIAO,FIND("]",BIAO)+1,9),COLUMN(B1))&"'!G4:G100")*(INDIRECT("'"&INDEX(MID(BIAO,FIND("]",BIAO)+1,9),COLUMN(B1))&"'!C4:C100")=$A5)*(INDIRECT("'"&INDEX(MID(BIAO,FIND("]",BIAO)+1,9),COLUMN(B1))&"'!D4:D100")=$B5))),"",SUMPRODUCT(INDIRECT("'"&INDEX(MID(BIAO,FIND("]",BIAO)+1,9),COLUMN(B1))&"'!G4:G100")*(INDIRECT("'"&INDEX(MID(BIAO,FIND("]",BIAO)+1,9),COLUMN(B1))&"'!C4:C100")=$A5)*(INDIRECT("'"&INDEX(MID(BIAO,FIND("]",BIAO)+1,9),COLUMN(B1))&"'!D4:D100")=$B5)))
BIAO=GET.WORKBOOK(1)(插入-定义名称)

求助帖.rar

5.88 KB, 下载次数: 11

详见表格

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2014-12-17 20:02 | 显示全部楼层
越等越没信心~~被下载5次~~题未解~~~10点再来看看~~希望有大大回复~~谢谢
回复

使用道具 举报

发表于 2014-12-17 20:14 | 显示全部楼层
如果你想表名改动,公式中也自动改动的话,就不要用INDIRECT函数
要不然,表格名称设置好了,就不要轻易变更
回复

使用道具 举报

发表于 2014-12-17 20:17 | 显示全部楼层

楼主:

增设问题:当表1或表2更换名称时需要公式计算保持不变,
例如:表2更换名称为表2014-2时公式会随着工作表改变
,如何在公式中更改或者重新写入新的函数


针对增设的问题,回复如下:

1.函数不是万能的,他是要按一定的规律进行计算,原写好的函数只能是用原来的表名,如果想更换表名,而函数公式也能使用的话,用函数就无法解决,当然没有哪个能帮忙解决了。

2.更换表名之后,ECXEL也不知道,也不会自动识别,只能重新设公式才可以,否则是不行的。不知VBA是否能办到。



回复

使用道具 举报

发表于 2014-12-17 20:48 | 显示全部楼层    本楼为最佳答案   
本帖最后由 tgydslr 于 2014-12-17 21:57 编辑

还是2007的吧,公式短些C5=IFERROR(SUMIFS(INDIRECT("'"&INDEX(MID(BIAO,FIND("]",BIAO)+1,9),COLUMN(B1))&"'!G4:G100"),INDIRECT("'"&INDEX(MID(BIAO,FIND("]",BIAO)+1,9),COLUMN(B1))&"'!C4:C100"),$A5,INDIRECT("'"&INDEX(MID(BIAO,FIND("]",BIAO)+1,9),COLUMN(B1))&"'!D4:D100"),$B5),"")横拉下拉
其中BIAO=GET.WORKBOOK(1)(插入-定义名称)
2003的公式
==IF(ISERROR(SUMPRODUCT(INDIRECT("'"&INDEX(MID(BIAO,FIND("]",BIAO)+1,9),COLUMN(B1))&"'!G4:G100")*(INDIRECT("'"&INDEX(MID(BIAO,FIND("]",BIAO)+1,9),COLUMN(B1))&"'!C4:C100")=$A5)*(INDIRECT("'"&INDEX(MID(BIAO,FIND("]",BIAO)+1,9),COLUMN(B1))&"'!D4:D100")=$B5))),"",SUMPRODUCT(INDIRECT("'"&INDEX(MID(BIAO,FIND("]",BIAO)+1,9),COLUMN(B1))&"'!G4:G100")*(INDIRECT("'"&INDEX(MID(BIAO,FIND("]",BIAO)+1,9),COLUMN(B1))&"'!C4:C100")=$A5)*(INDIRECT("'"&INDEX(MID(BIAO,FIND("]",BIAO)+1,9),COLUMN(B1))&"'!D4:D100")=$B5)))
BIAO=GET.WORKBOOK(1)(插入-定义名称)
回复

使用道具 举报

发表于 2014-12-17 20:50 | 显示全部楼层
本帖最后由 tgydslr 于 2014-12-17 21:58 编辑

2003版.rar (6.59 KB, 下载次数: 4)
回复

使用道具 举报

发表于 2014-12-17 20:51 | 显示全部楼层
工作表名称不统一只好用宏表了
回复

使用道具 举报

 楼主| 发表于 2014-12-17 21:31 | 显示全部楼层
tgydslr老师~~你的回复我已经看到了~但是显示不出数据~~能不能显示出来~~我只是菜鸟~~需要不断学习才行~~要是能显示出数据~~我可以慢慢研究学习一下~~不过~~以目前的状况~~实在是看不懂~~
回复

使用道具 举报

发表于 2014-12-17 21:46 | 显示全部楼层
linshi2004 发表于 2014-12-17 21:31
tgydslr老师~~你的回复我已经看到了~但是显示不出数据~~能不能显示出来~~我只是菜鸟~~需要不断学习才行~~要 ...

我不是说了吗,公式是2007的公式,只是说2003下公式长了些,主要是处理错误后公式会变长,关于你说的数据不能显示,看我上传的附件吧,没事的,要是你的excel是2003的话,可能会显示”#NAME?"错误
我可以在原楼上再写一个2003的公式
回复

使用道具 举报

 楼主| 发表于 2014-12-17 23:03 | 显示全部楼层
tgydslr 发表于 2014-12-17 20:48
还是2007的吧,公式短些C5=IFERROR(SUMIFS(INDIRECT("'"&INDEX(MID(BIAO,FIND("]",BIAO)+1,9),COLUMN(B1))& ...

老师实在太牛~~启动了宏~~这个还需要向你多多学习~~感谢~~我先学习学习~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-13 17:33 , Processed in 0.309090 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表