excel - 如果整个值包含在当前行中,则 Excel 删除上一行,并且 A 列以前的值也相同
问题描述
我有一个计算机和用户列表。
- A 列是计算机的名称(有重复项)。
- C 列是我能够以 CSV 文件格式加入的用户列表。
例子:
- 在 A 列的第 1 行和第 2 行中,我们有
computer1
. - 在 C 列中,第 1 行有
user1
,第 2 行有user1,user2
。
我只需要为每台计算机保留最大的行,这样我就不必拥有Computer1
withuser1
我只有computer1
with user1,user2
。
解决方案
您可以使用match
来测试下面所有单元格的错误,然后将其用作True
/False
结果。这是我建立的一个公式:
=IF(ISERROR(MATCH(A2,A3:A$999999,0)),"Use Me","ignore")
如果您想删除它们,此宏也可以使用:
Sub KillRows()
Dim ws As Worksheet: Set ws = ActiveSheet
Dim killRNG As Range
Set killRNG = ws.Rows(Rows.Count)
Dim i As Long
For i = 1 To ws.UsedRange.Rows.Count
If Application.WorksheetFunction.CountIf(Range(ws.Cells(i + 1, 1), ws.Cells(Rows.Count, 1)), ws.Cells(i, 1)) > 0 Then
Set killRNG = Union(killRNG, ws.Rows(i))
End If
Next i
killRNG.EntireRow.Delete
End Sub
推荐阅读
- python - 用于报告的 xlsxwriter 和 pandas
- android - Android Studio,我更改了文件夹名称,项目不会加载
- python - 在python中编写IF语句以跳过None的干净方法?
- c# - 单击列表视图中的按钮时获取单元格值
- command-line - 无法在 Mac OS 上安装 fabric.js
- python - AttributeError:“list”对象没有属性“drug_name”(类属性)
- mysql - MySQL BIGINT 错误地截断为 0
- r - RStudio 以编程方式在“文件”选项卡中设置目录
- browser - 为什么我的 GitHub Pages URL 在 Chrome 中返回错误的页面?
- android - 如何通过gradle合并同一模块中的两个清单?