Excel精英培训网

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

[已解决]求助,关于2003数组问题!

[复制链接]
发表于 2011-3-30 16:31 | 显示全部楼层 |阅读模式
本帖最后由 xuying0936 于 2011-3-30 21:15 编辑

下面一个公式是Excel2007里的,请教如何改成试用2003版本的公式?可以改吗?谢谢各位老师了。
{=平衡表!E8+SUM(SUMIFS(会计分录!$H:$H,会计分录!$A:$A,ROW(INDIRECT("1:"&MONTH($F$2))),会计分录!$F:$F,平衡表!C8))}
其中会计分录H列是金额;分计分录A列是月份,F2单元格是一个日期;会计分录F列对应平衡表C8都是科目。
下面这个是我自己试着改的,不过好像不太成功,请老师指教。
{=平衡表!E8+SUM(SUMPRODUCT((会计分录!$H6:$H100)*(会计分录!$A6:$A100=ROW(INDIRECT("1:"&MONTH($F$2))))*(会计分录!$F6:$F100=平衡表!C8)))}


最佳答案
2011-3-31 10:24
哦,主要问题是,ROW()参数在两个公式里所代表的值虽然一样,但运算方式不一样,所以不能让A6:A100跟Row()直接相比较,个数不同时,就会有#N/A,
所以,要加一个Transpose()在Row参数的外面,如:
  1. =平衡表!E8+SUM(SUMPRODUCT((会计分录!$H6:$H100)*(会计分录!$A6:$A100=TRANSPOSE(ROW(INDIRECT("1:"&MONTH($F$2)))))*(会计分录!$F6:$F100=平衡表!C8)))
复制代码
但是,如果你要把表格内的SUMIFS全部都这样转化的话,那工程会相当大,转换后运算也会很慢的……

账套(EXCEL2007版本适用--可自动登记明细账).rar

39.97 KB, 下载次数: 15

发表于 2011-3-30 17:22 | 显示全部楼层
只是公式,没看到具体的表,也不知道啊,还是上传一个附件最好啊
回复

使用道具 举报

发表于 2011-3-30 17:22 | 显示全部楼层
只是公式,没看到具体的表,也不知道啊,还是上传一个附件最好啊
回复

使用道具 举报

发表于 2011-3-30 17:26 | 显示全部楼层
本帖最后由 zzmxy 于 2011-3-30 17:30 编辑

刚才改的公式跟楼主自己修改的一样,而根据逻辑,楼主对SUMIFS()部分的修改是正确的,只是外面的SUM()应该是可以省略掉……如果有问题,可能出问题的会是Indirect()部分……具体还是上附件才能明白……呵呵!!

回复

使用道具 举报

 楼主| 发表于 2011-3-30 21:16 | 显示全部楼层
回复 无爱无恨 的帖子

附件已上传,谢谢.
回复

使用道具 举报

 楼主| 发表于 2011-3-30 21:17 | 显示全部楼层
回复 ljzzlan 的帖子

附件已上传,谢谢.
回复

使用道具 举报

 楼主| 发表于 2011-3-30 21:17 | 显示全部楼层
回复 zzmxy 的帖子

附件已上传,谢谢.
回复

使用道具 举报

发表于 2011-3-30 21:30 | 显示全部楼层
你改的公式没有错啊……拜托!!
回复

使用道具 举报

 楼主| 发表于 2011-3-31 09:59 | 显示全部楼层
回复 zzmxy 的帖子

呵呵,你可以试试呀,上传的附件是2007版的,改过的那个输到2003里是错的。显示“#N/A”
回复

使用道具 举报

 楼主| 发表于 2011-3-31 10:20 | 显示全部楼层
回复 无爱无恨 的帖子

附件上传了,麻烦帮我看看吧。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-21 06:02 , Processed in 0.146830 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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