我有一个包含超过50个用户及其安装的软件的表,这些软件包含180多个不同的软件名称。我还有一个包含70个标准软件的列表。我想知道最好的方法是找出每个用户标准旁边安装的软件。
所以基本上我想用软件从表中减去标准软件,并得到额外的软件。我正在使用Excel 2016。
我做了一个简化的例子来解释。
答案 0 :(得分:1)
Excel(无VBA)中的答案是创建一个具有相同标题的新工作表,然后在表格的每个单元格中放置一个公式:
=IF(COUNTIF(Standard!$A:$A;Sheet1!A2)>0;"";Sheet1!A2)
在我的示例中,名为“Standard”的工作表包含您的示例中的标准软件,名为“Sheet1”的工作表是您的第一个工作表。
如果您需要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