Excel唯一值查询
我对excel不是很有经验——我更喜欢c语言——我希望一些excel大师能在这里帮助我 基本上,我有一个电子表格,只有一列文本数据a列。我需要查询这个数据列表 我基本上需要将更多的文本数据复制到另一列,比如b列,然后过滤掉b列中已经存在于a列某处的记录,只留下b列中唯一的记录,而不是a列 我尝试过使用高级过滤器,但似乎无法使其工作。任何关于我如何做到这一点的提示或建议都会很好Excel唯一值查询,excel,vba,Excel,Vba,我对excel不是很有经验——我更喜欢c语言——我希望一些excel大师能在这里帮助我 基本上,我有一个电子表格,只有一列文本数据a列。我需要查询这个数据列表 我基本上需要将更多的文本数据复制到另一列,比如b列,然后过滤掉b列中已经存在于a列某处的记录,只留下b列中唯一的记录,而不是a列 我尝试过使用高级过滤器,但似乎无法使其工作。任何关于我如何做到这一点的提示或建议都会很好 谢谢这应该可以满足您的需要。它在A列的B列中查找每个值,如果找到匹配项,则删除该单元格。将数据粘贴到B列后运行代码。请注
谢谢这应该可以满足您的需要。它在A列的B列中查找每个值,如果找到匹配项,则删除该单元格。将数据粘贴到B列后运行代码。请注意,它不会删除B列中的重复项,而是删除A列中B列中的所有值。要删除B列中的重复项,请选择该列,然后从“数据”选项卡中选择“删除重复项” 您需要向工作簿中添加模块,并在模块中插入以下代码: 代码: 运行子RemoveMatchesFrom列。您可以单步进入它查看它在做什么,或者使用F5运行它。非VBA方法 把这个公式放在单元格C1中
=IF(VLOOKUP(B1,A:A,1,0)=B1,"DELETE ME","")
拖到最后。然后过滤C列上的数据以删除我,然后删除重复的数据
VBA方法
您可以动态地过滤数据,比如说使用如下公式将数据过滤到C列
=IF(ISNA(VLOOKUP(B1,A:A,1,FALSE)),B1,"")
然后过滤C列中的非空单元格
否则,此简单宏将清除重复项
Sub FilterDuplicates()
Dim r As Range
For Each r In ActiveSheet.Columns("B").Cells
If r.Value <> "" Then
On Error Resume Next
WorksheetFunction.VLookup r, ActiveSheet.Columns("A"), 1, False
If Err.Number = 0 Then r.ClearContents
On Error GoTo 0
End If
Next r
End Sub
=IF(ISNA(VLOOKUP(B1,A:A,1,FALSE)),B1,"")
Sub FilterDuplicates()
Dim r As Range
For Each r In ActiveSheet.Columns("B").Cells
If r.Value <> "" Then
On Error Resume Next
WorksheetFunction.VLookup r, ActiveSheet.Columns("A"), 1, False
If Err.Number = 0 Then r.ClearContents
On Error GoTo 0
End If
Next r
End Sub