从 table 中删除值的最佳方法,复制到列表

Best way to delete the Values from the table, duplicate to the list

简介

我有一个 table 有超过 50 个用户和他们安装的软件,其中有超过 180 个不同名称的软件。我还有一个包含 70 个标准软件的列表。我想知道最好的方法是找出哪个软件安装在每个用户的标准旁边。

问题

所以基本上我想从 table 中减去标准软件和已安装的软件,并得到额外的软件。我正在使用 Excel 2016.

例子

我做了一个简单的例子来解释

Excel(否 VBA)中的答案是用相同的 header 创建一个新的 sheet,然后在每个单元格中放入一个公式你的 table:

=IF(COUNTIF(Standard!$A:$A;Sheet1!A2)>0;"";Sheet1!A2)

在我的示例中,名为 "Standard" 的 sheet 包括您的示例中的标准软件,而名为 "Sheet1" 的 Sheet 是您的第一个 Sheet .

如果您需要 VBA 解决方案,可以使用以下方法:

Sub Extract_Standard()

Dim RowsToProcess As Long
RowsToProcess = ActiveCell.SpecialCells(xlLastCell).Row
Dim LastCol As Long
LastCol = Cells(1, Columns.Count).End(xlToLeft).Column

Dim a As Integer
Dim i As Integer

For i = 1 To LastCol
For a = 1 To RowsToProcess
    If Excel.WorksheetFunction.CountIf(Sheets("Standard").Range("$A:$A"), Cells(a, i).Value) > 0 Then
    Cells(a, i).ClearContents

    End If
Next a
Next i

End Sub