在Excel中根据2列中的数据按优先级删除重复项

在Excel中根据2列中的数据按优先级删除重复项,excel,excel-formula,vba,Excel,Excel Formula,Vba,我试图通过比较两列和优先级来删除Excel中的重复项,这意味着: 我有按类别划分的优先级,如类别1>类别2>类别3>类别4 我想匹配如果第2列和第4列中出现的某些文本与任何其他行匹配,它将删除类别优先级较低的行 这是一张图片: 图像说明: 橙色单元格应该删除,蓝色单元格应该保留 更新: 我试图实现的是:我在B列中有一个URL列表(源URL),在C列中有另一个URL列表(链接的目标URL),在D列中有锚文本,a列包含数据源,以帮助我确定从何处提取数据。我只是想确保所有数据源之间没有任何重复项,但

我试图通过比较两列和优先级来删除Excel中的重复项,这意味着:

我有按类别划分的优先级,如类别1>类别2>类别3>类别4

我想匹配如果第2列和第4列中出现的某些文本与任何其他行匹配,它将删除类别优先级较低的行

这是一张图片:

图像说明: 橙色单元格应该删除,蓝色单元格应该保留

更新:


我试图实现的是:我在B列中有一个URL列表(源URL),在C列中有另一个URL列表(链接的目标URL),在D列中有锚文本,a列包含数据源,以帮助我确定从何处提取数据。我只是想确保所有数据源之间没有任何重复项,但保持一定的优先级,如果确切的源URL和锚出现在类别1中,则更愿意从类别2中删除重复项,等等。

我似乎一直在建议这种方法,好像这是我最喜欢的爱好一样。。。但是你有没有想过使用“键”列?使用公式
=B1和D1
创建列E。然后,您可以使用公式
=countif(E:E,E1)
创建另一列,或者更好的
=and(countif(E:E,E1)>1,A1“Category1”)
这将为您提供一个可用于筛选/删除的布尔列


唯一的问题是,对于大型电子表格,计数方法变得非常慢。。。在这种情况下,使用具有相同理论的VBA可能

删除重复项命令对您不起作用?不,它不起作用,我尝试过这种解决方案:问题是此脚本仅基于一列,而不是2列。为什么它不起作用?这似乎是一个完美的解决方案。这个脚本的问题是它根据B列删除重复项,我需要根据出现在两列中的文本(例如B和D)删除重复项。我不是想问你关于示例脚本的问题。我不是那里的会员,我也不打算加入,只是为了看看你提到的一个甚至不起作用的例子。我想问你为什么删除重复项不起作用。与我所知道的任何其他方法相比,它能更快更好地完成您所描述的内容。PS以这种方式标记行,然后一次对所有行进行排序和删除要比一个接一个快得多。如果您打算使用VBAI,请尝试您所建议的方法,但我遇到一个
#name
错误,我做错什么了吗?我试图做的是:我在B列中有一个URL列表(源URL),在C列中有另一个URL列表(链接的目标URL),在D列中有锚文本,a列包含数据源,以帮助我确定从何处提取数据。我只想确保所有数据源之间没有任何重复项,但保持一定的优先级,如果确切的源URL和锚点出现在类别1中,则更愿意从类别2中删除重复项,等等。countif中的名称错误?抱歉有点懒/psudo,将更新我的答案:检查“编辑”注释:)