复制列以在 Excel 中自动更新

复制列以在 Excel 中自动更新

我目前在工作表 A 中有一列数字。我想将此列复制到工作表 B,这很容易。
但是,如果我更改了工作表 A 中列中的值,是否有办法让工作表 B 中的值自动更改?(我正在使用 Mac,但 Windows 或 Mac 中的答案会很有帮助)。

目前,工作表 A 是一长串数字,工作表 B 完全相同,但删除了重复项。如果我在 AI 中添加一个新值,我希望它会自动出现在 B 中。

答案1

您需要一个宏来实现此目的。您可以创建此宏,然后将其分配给按钮或键盘快捷键。

子删除重复项()

'清除目标列
Sheets("Sheet2").Columns(1).ClearContents

'将 Sheet1 中的值复制/粘贴到 Sheet2
Sheets("Sheet1").Columns(1).Copy Sheets("Sheet2").Cells(1, 1)

'从 Sheet2 中删除重复项
Sheets("Sheet2").Columns(1).RemoveDuplicates Columns:=Array(1), Header:=xlNo

子目录结束

答案2

如果您不想为此使用宏,并且可以忍受在更新数据时手动刷新过滤器的需要,那么我可以给您一个想法:

在 Sheet2 中,只需使用公式通过从 Sheet1 复制相应的单元格来复制 Sheet1 列(您说这很容易,所以我就不再解释)。

然后,在 Sheet2 的相邻列中输入一个公式,用于计算从第一行到您要查找的行中值的出现次数。

例子:

A 列包含相同的 Sheet1 值(类似于=Sheet1!A1A1 等)

B 列包含=COUNTIF($A$1:A1,A1)B1(请注意,单元格范围的第一部分使用 $ 进行阻止,因此第一行将保持固定...)然后向下复制公式。您将得到的是 A 列中出现的次数,从上到下依次增加。

您需要做的最后一件事就是在 B 列上放置一个过滤器,以隐藏 B 列上值 > 1 的所有行。

(请记住,如果您没有提前完成,则在 Sheet1 的 A 列中插入新数据时,您还需要向下复制 A 列和 B 列中的公式)

PS 有一个非常简单的方法使过滤器自动刷新...但是你需要一个宏(因此是一个简单的宏)

相关内容