太令人沮丧了!我收到的数据是这样的:
a 1
a 2 2
a 3 3
b 1
b 2 2
b 3 3
b 4 4
b 5 5
b 6 6
我需要它看起来像这样:
a 1 2 2 3 3
b 1 2 2 3 3 4 4 5 5 6 6
我有大约 30 列需要移动到其组中的顶部值,然后删除重复项(其中大约有 33 行重复项,试图将其减少到大约 8 行)。我已经在论坛上搜索了好几天,并尝试了一些代码。我在使用 VBA 时遇到了很多困难!!!!
同样的插图,但图形如下:
→
答案1
您可以在几秒钟内无需 VBA 即可实现此目的。只需按照以下步骤操作即可。
警告:此过程将覆盖您的原始数据。如果您想保留原始数据,请不要执行此操作。
选择您的数据,尽可能向右选择所有内容。
按F5。单击
Special...
弹出的转到对话框。选择Blanks
并单击OK
。这将选择数据中的所有空白单元格。无需单击任何地方,将以下内容粘贴到公式栏中。请务必调整单元格引用以匹配您的数据。
=如果($A2=$A1,C2,"")
按Ctrl+ Enter。这会将公式应用于所有选定的单元格。公式检查下一行在 A 列中是否具有相同的值。如果是,则返回紧接着下一行的值。如果不是,则不返回任何值。
现在,再次选择所有数据,将其复制并
Paste Special...
返回Values
到同一范围。这将删除您刚刚输入的公式,但会保留值。最后,选择所有数据,转到数据功能区并选择
Remove Duplicates
。根据 A 列(值为 a 和 b 的列)删除重复项。这将保留 A 列中每个值的顶行并删除其余值。您应该会得到您想要的内容。