Office中国论坛/Access中国论坛

标题: 请教函数问题(已解决) [打印本页]

作者: 小猫    时间: 2007-1-25 17:28
标题: 请教函数问题(已解决)
[attach]22825[/attach]
[attach]22826[/attach]

请教各位大侠,怎样把表sheet2当中的每行的数据分段自动汇集到表sheet1当中,在sheet1表当中是列的形式,如图与附件,谢谢指教~~~感谢啦~~~~~~~~~急啊


[此贴子已经被作者于2007-1-26 14:26:35编辑过]


作者: cola    时间: 2007-1-25 17:57
这也能用公式解决呀?!

我也关注一下.
作者: 小猫    时间: 2007-1-25 18:14
嘿嘿,应该可以吧,
作者: 业余爱好者    时间: 2007-1-26 18:23
如果表二每组都一样的,就方便了,如果全调整到7列一组,没数据的就空着



用下面的公式就可以到位,先向右再向下填充



=OFFSET(Sheet2!$D$2,INT(ROW(1:1)/4),MOD(COLUMN(A1)-1+(ROW(1:1)-1)*7,28),,)&""
作者: 小猫    时间: 2007-1-26 19:30
谢谢指教,我试试看[em01][em01]
作者: 亚双木    时间: 2007-1-26 20:38
以下是引用业余爱好者在2007-1-26 10:23:00的发言:


如果表二每组都一样的,就方便了,如果全调整到7列一组,没数据的就空着

用下面的公式就可以到位,先向右再向下填充

=OFFSET(Sheet2!$D$2,INT(ROW(1:1)/4),MOD(COLUMN(A1)-1+(ROW(1:1)-1)*7,28),,)&""

先向右再向下填充后结果第二行的第一个数跑到第一行第七位去了。


[此贴子已经被作者于2007-1-26 12:49:14编辑过]


作者: 亚双木    时间: 2007-1-26 21:04
试试这个笨办法

在B2中输入

=IF(OR((ROW()-1)/4-TRUNC((ROW()-1)/4)=0,AND(IF((ROW())/4-TRUNC((ROW())/4)=0,16,IF((ROW()+1)/4-TRUNC((ROW()+1)/4)=0,8,2))=2,COLUMN()>6),AND(IF((ROW())/4-TRUNC((ROW())/4)=0,16,IF((ROW()+1)/4-TRUNC((ROW()+1)/4)=0,8,2))=16,COLUMN()>4),INDIRECT("Sheet2!"&ADDRESS((CEILING(ROW(A2)-1,4)/4)+1,COLUMN(Sheet2!A2)+IF((ROW())/4-TRUNC((ROW())/4)=0,17,IF((ROW()+1)/4-TRUNC((ROW()+1)/4)=0,9,3))))=0),"",INDIRECT("Sheet2!"&ADDRESS((CEILING(ROW(A2)-1,4)/4)+1,COLUMN(Sheet2!A2)+IF((ROW())/4-TRUNC((ROW())/4)=0,17,IF((ROW()+1)/4-TRUNC((ROW()+1)/4)=0,9,3)))))

然后向右拖7列再向下拖

式子真的令人见笑,我自己看到都头晕,人笨没办法,能达到效果就可以。
作者: 小猫    时间: 2007-1-26 22:22
嘿嘿,使用这个公式可以,可惜数据只能是从头开始的,不能从中间的某行开始,

=IF($A2="","",LOOKUP($A2,'sheet2'!$A$2:'sheet2'!$A1000,'sheet2'!C$2:'sheet2'!C1000))




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