Office中国论坛/Access中国论坛

标题: 求助:工作表名称可否在单元格拖拽过程中按规律加1 [打印本页]

作者: zhaoming4865    时间: 2007-12-2 12:41
标题: 求助:工作表名称可否在单元格拖拽过程中按规律加1
如图所示:在第23行想录入前面所有工作表中C15单元格的数据,工作表名称为每天的日期,请问老师们能否在第一个单元格内输入“='07.11.01'!$C$15”后,通过拖拽的方法,自动录入以后的数据。谢谢了!!

[ 本帖最后由 zhaoming4865 于 2007-12-2 12:43 编辑 ]
作者: pureshadow    时间: 2007-12-2 12:49
虽然用INDIRECT可以解决这个问题,但仍建议楼主把这些工作表并到一个工作表内,这样不仅输入方法,统计更方便。
作者: zhaoming4865    时间: 2007-12-2 12:52
请问这么大量的工作表,如何快速合并到一个工作表中呀?谢谢了。
作者: pureshadow    时间: 2007-12-2 13:00
用代码当然是可以合并的,最好的做法就是初期做的时候就放在一起,现在。。。。。。如果楼主是一天一个SHEET,现在已是11月,我可想而知有多少了。
作者: zhaoming4865    时间: 2007-12-2 13:02
那么,版主,用Indirect如何做呀!
作者: pureshadow    时间: 2007-12-2 13:07
不好意思,把最核心的忘了
=indeirct("07.11."&row(a1)&"!a1")是实现向下拉的
=indeirct("07.11."&column(a1)&"!a1")是实现向右拉的

[ 本帖最后由 pureshadow 于 2007-12-2 13:30 编辑 ]
作者: zhaoming4865    时间: 2007-12-2 13:19
谢谢!版主能再帮一下吗,我试过了能实现,但不理解是如何计算的,版主在给解释以下吧。在=indirect("07.11."&row(a1)&"!a1")中,"&row(a1)&"是什么意思呀?
作者: pureshadow    时间: 2007-12-2 13:28
row(a1)就当成1来看,唯一不同的是,下拉会变成2。
&就是接接符号,把两个东东连起来。
作者: lisj    时间: 2007-12-2 13:44
学习学习学习学习学习
作者: zhaoming4865    时间: 2007-12-2 14:34
再问老师一个问题:在拖拽过程中“ =indeirct("07.11."&row(a1)&"!a1")”最后面的a1没有写成$a$1,却没有随着拖拽而发生改变,但前一个a1在拖拽过程中却改变成a2,a3,a4........
作者: pureshadow    时间: 2007-12-2 15:14
后面的A1用引号引起来了,所以不会变。
作者: zhanghdong    时间: 2007-12-19 17:34
版主,我也遇到了类似的问题,我的情况跟他有一点点的不一样,我的每个月表都在同一个工作表里,而且都是固定的,我想在另一个工作表里下拉显示每个月固定列的财务数据。

比如 第一个格显示一月份的数据就是  “=台帐!D23”        第二个格显示二月份的数据就是 “=台帐!D47”     第三个格显示二月份的数据就是 “=台帐!D71”     

以此类推就是固定的加23就可以。

他们之间是有规律的,我把这三个格全选下拉拖拽不好使,本人是新手别见笑,能否请版主或者给个公式啊。

先谢谢啦。
作者: pureshadow    时间: 2007-12-19 20:41
同样是用INDIRECT函数
=indirect("台帐!D"&23*row(a1))
作者: yh0825    时间: 2007-12-20 00:11
好招,真得很好哦,正好用上!谢谢!
作者: yh0825    时间: 2007-12-20 00:31
原帖由 zhanghdong 于 2007-12-19 17:34 发表
第一个格显示一月份的数据就是  “=台帐!D23”        第二个格显示二月份的数据就是 “=台帐!D47”     第三个格显示二月份的数据就是 “=台帐!D71”     

以此类推就是固定的加23就可以。


是不是搞错了呀,23……47……71,相差是23吗?应该是24哦,

学习后试着做一下!这个公式应该是:=indirect("台帐!D"&24*row(a1)-1)
作者: zhanghdong    时间: 2007-12-20 01:25
原帖由 pureshadow 于 2007-12-19 20:41 发表
同样是用INDIRECT函数
=indirect("台帐!D"&23*row(a1))



没想到初来乍到,版主这么热情,先谢谢了。感动中,这里实在是比其它论坛强多了,以后我会经常混这里的。

请问扩展的问一下,如果从第五行开始呢,开始每隔24行取数呢。 台帐!D5      台帐!D29         台帐!D53    应该怎么编呀??

解决了,我用了0825的方法把公式改成:=INDIRECT("台帐!D"&24*COLUMN(A1)-19)/10000

嘿嘿,不知道是不是断章取义,不过数据是对的。谢谢各位了。祝你们晚上好梦。我还在加班中。。。。。。


再问一个小问题如果要是取  台帐!D5  台帐!E5  台帐!F5 以此类推,不知道英文该用什么方法呢??

如果是跳两个英文呢?台帐!D5  台帐!F5  台帐!H5 呢?

嘿嘿,不知道我提的问题是不是有点太那个那个了,先谢了。。

感觉真爽,自己弄出来了。借用了别人的一个函数,再结合版主的帮忙。嘿嘿。
如下:

=INDIRECT(((CHAR(ROW(65:65))&"1")))  

=INDIRECT(("[分解表.xls]月度分解!"&(CHAR(ROW(65:65))&"1")))

不知道公式对不对,但是提取的数是对的,本人刚入门,不对的地方可以提点一下。谢谢了。

晕了,这个好象只能下拉,不能横拉。再研究一下。

[ 本帖最后由 zhanghdong 于 2007-12-20 05:41 编辑 ]
作者: pureshadow    时间: 2007-12-20 16:20
横拉的用ROW,竖拉的用COLUMN,不过要用RICI样式,CHAR就不用了,吼吼.....
=indirect("r1c1",)
=indirect("r"&column(a1)&"c"&row(a1),)
作者: zhanghdong    时间: 2007-12-20 16:28
原帖由 pureshadow 于 2007-12-20 16:20 发表
横拉的用ROW,竖拉的用COLUMN,不过要用RICI样式,CHAR就不用了,吼吼.....
=indirect("r1c1",)
=indirect("r"&column(a1)&"c"&row(a1),)




谢谢谢谢。还得版主帮忙。。
作者: 刘志文    时间: 2008-12-15 19:04
学习一下!![:50] [:50]




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3