提问人:Alex 提问时间:9/19/2019 更新时间:9/20/2019 访问量:81
Excel:如果这些行中的某些条目仅在一列中重复,如何删除几整行?
Excel: How to delete several entire rows if some entries in these rows are duplicated only in ONE column?
问:
我有千分之一行和几列的电子表格。我想删除所有行,但一个初始行除外,该行在某个指定列中有重复的值。
例如:下面我有 3 列和 7 行。我想删除所有实例,除了第一个实例,从“电子表格的底部向上”开始计算,第 1 列包含相同文本的行。在这种情况下,应删除第 1 行(因为第 1 行和第 2 行在第 1 列中都有“aa”),第 5 行和第 6 行也应该删除(因为第 5、6 和 7 行在第 1 列中有“cd”)。
所以最后我应该只剩下:第 2、3、4、7 行。
我正在使用 Excel、Windows 10。请注意,我是一个彻头彻尾的 Excel 菜鸟,所以我真的需要最简单的解决方案。我不知道该怎么做,在谷歌上搜索各种解决方案令人困惑。请原谅我的回答中缺少官方电子表格术语。我将非常感谢您的帮助。谢谢。
aa alex jones
aa tom graham
ab scott paul
ba scott williams
cd amy wiggins
cd amy wilson
cd frank spencer
答:
1赞
Plato77
9/19/2019
#1
如果您使用公式在名称旁边再放一列,该公式指向具有“aa”等值的列,然后说 =IF(E6=E7,0,1),那么如果该值是您要保留的值,它将放置一个 1,如果它是一个需要删除的值,它将放置一个 0。然后,您可以按此列进行筛选并删除不需要的值。下图显示我让它起作用了:
评论
0赞
riskypenguin
9/19/2019
我认为这是错误的方式,因为 OP 想要一些“从电子表格底部向上计数”的东西
0赞
Alex
9/19/2019
我已经尝试过 Data>Remove 重复项,问题是删除了 A 列中唯一的重复值,但像以前一样删除了相应的行@Plato77
0赞
Alex
9/19/2019
在我上面给出的假设示例中,Data>Remove 重复项有效,但在我真正的电子表格中则不行。我不明白为什么。
0赞
Plato77
9/19/2019
保留底值的标准是什么?就因为它是最后一个?还是有日期字段/其他原因?
0赞
Alex
9/19/2019
根据另一列中的其他一些值,还有另一个原因。但为了论证,让我们说“仅仅因为它是最后一个”
1赞
Marcucciboy2
9/19/2019
#2
这只是一个快速而肮脏的函数,它假设您从 A 列开始具有这些值。
Sub UniqueFromBottom()
Dim dict As Object
Set dict = CreateObject("Scripting.Dictionary")
Dim i As Long
For i = Range("A" & Rows.count).End(xlUp).Row To 1 Step -1
If Not dict.exists(Range("A" & i).Value2) Then
dict.Add Range("A" & i).Value2, ""
Else
Range("A" & i).EntireRow.Delete
End If
Next i
End Sub
评论
0赞
Plato77
9/20/2019
这是一个非常优雅的解决方案
2赞
Terry W
9/20/2019
#3
首先,在数据集中添加一个索引列,如下所示:
将索引列从大到小排序,并将选择范围扩展到所有列:
突出显示并使用选项卡下的“删除重复项”功能来删除重复项,如下所示:Column A
Data
那么你应该有以下内容:
您可以选择将索引列从最小到最大排序,以便数据将按原始顺序显示。
评论
data