我目前在工作表 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!A1
A1 等)
B 列包含=COUNTIF($A$1:A1,A1)
B1(请注意,单元格范围的第一部分使用 $ 进行阻止,因此第一行将保持固定...)然后向下复制公式。您将得到的是 A 列中出现的次数,从上到下依次增加。
您需要做的最后一件事就是在 B 列上放置一个过滤器,以隐藏 B 列上值 > 1 的所有行。
(请记住,如果您没有提前完成,则在 Sheet1 的 A 列中插入新数据时,您还需要向下复制 A 列和 B 列中的公式)
PS 有一个非常简单的方法使过滤器自动刷新...但是你需要一个宏(因此是一个简单的宏)