如何将excel表格中多行的部分数据分别提取到另一表格中指定的多行固定位置?

请教高手:
我有2个excel表格,现在我要将第1个表格中第2行至末行数据中,第B至M列(不含D列)的对应数据,按顺序分别按行提取到第2个表格中的第4、15、26、……2534行……(直至第1个表格中的数据全部提取完毕)的A至K列。
最终效果例为:第1表格中单元格B2-M2(不含D2)的数据按顺序显示在第2个表格的单元格A4-K4中,第1表格中单元格B3-M3(不含D3)的数据按顺序显示在第2个表格的单元格A15-K15中……依次提取。

我假设需要将表1.xls的数据插入到表2.xls,表1 格式如下

可以用公式实现,首先需要把待填充的行筛选出来,可以在第二张表格最后添加一列,添加公式如下 =IF(MOD(ROW(K1),11)=4,1,0) 然后将1的值筛选出来,如下图

然后再A4处写入公式 =INDIRECT(ADDRESS(ROW(A4)/11+1,COLUMN(A4)+1,4,TRUE,"[表1.xls]Sheet1"))  并复制到B4

在C4处写入公式 =INDIRECT(ADDRESS(ROW(C4)/11+1,COLUMN(C4)+2,4,TRUE,"[表1.xls]Sheet1"))  并一直复制到K4

然后将这一行复制到其他各行即可

其中如果表1中的首行不是1,只要修改ADDRESS(ROW(C4)/11+行号 即可

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-08-03
设表1名称为sheet1,则在表2的A1单元输入:=IFERROR(OFFSET(Sheet4!$A$1,IF(MOD(ROW()+7,11)=0,(ROW()+7)/11,""),COLUMN()),""),向右拖动,填充A2;在A3单元格内填充=IFERROR(OFFSET(Sheet4!$A$1,IF(MOD(ROW()+7,11)=0,(ROW()+7)/11,""),COLUMN()+1),"")并向右拖动填充到K1;
选中A1到K1,向下拖动,填充整个数据区域。
已经通过测试数据可行。追问

高手您的这个方法可行,只是会替换掉表2的格式,能不能保留表2原有位置的格式?

第2个回答  2018-08-03
写代码可以按你说的来
请给出excel文档,可以根据实际情况模拟数据,对了,鼠标悬浮我百度用户名,查看说明。
第3个回答  2018-08-03
用宏代码可以办到
如果需要我帮你提取,请用百度云分享文件来追问

文件不方便提供,能否给个模板

追答

数据对你来说要保密,你随便乱写数据发来,我给你写代码,再发文件给你再填写正常数据即可。我省得帮你造数据呀,

相似回答