我有一本工作簿W1其中包含一个表格W1T1. 一列(通过输入字母“x”)表示此行W1T1Rx必须复制到另一个工作簿中W2。
W2包含一个表格W2T1有一些相同的列W1T1。这些列应该自动填充(因为在某行中有一个“x”W1T1)。此外W2T1有列,用户可以在其中输入自定义值,以响应自动填充的列。
我针对上述情况使用了 INDEX 和 LARGE 函数的组合,效果很好。
现在,在填写自定义信息后,Excel 应该将该行W2T1Rx跨列链接。现在,如果另一行W1T1Rx标记为“x”,具体取决于此行在W1T1它将被放置在其他行之间W2T1Rx,并且不一定添加在W2T1(由函数LARGE引起的行为)。
这会导致一些已经存在的行W2T1Rx向下移动,到目前为止,没有移动链接到该行的自定义信息。此外,删除W1T1Rx导致行被删除W2T1,随后移动行W2T1Rx向上,同样不移动非自动化单元。
这就是我被困住的地方。我需要 Excel 移动整行W2T1Rx,而不仅仅是该行的自动填充单元格。我想要行W2T1Rx跨列链接。
关于如何解决这个问题有什么想法吗?
欢迎使用 VBA,但更倾向于非 VBA。
答案1
我建议使用下面的公式来填充工作表 2 中的表 2。
但是让我来说明一下我用来测试公式的场景。
工作表 1 包含范围 A2:E50 中的数据。
在 Sheet 2 的单元格 A1 中写入X(标准)。
在 Sheet 2 的单元格 A2 中写入此公式并向下拖动至最大值。
=IF(Sheet1!A2=$A$1,ROW(),"")
在工作表 2 的 B2 单元格中写入以下公式。
=IF(ROWS($1:1)>COUNT($A:$A),"",INDEX(Sheet2!B:B,SMALL($A:$A,ROWS($1:1))))
将公式拖至 E 列并向下拖至最大行数。
注意:您会发现所有记录都将被拉到工作表 2 中,该工作表以工作表 1 中 A 列中的 X 开头。
我建议尽量将公式向下拖,因为每当你插入行时,行开头都是X在 Sheet 1 中作为新记录,将自动为两个公式填充 Sheet 2 中的空白行。
笔记, 根据需要更改数据范围。
希望这对你有帮助。