首页 > 解决方案 > 查找没有第二个值的值

问题描述

我正在寻找 A 列的列表,其中 B 列中没有特定值以及 B 列中的任何其他值。

例子:

COLUMN A        COLUMN B
LEFT            ALPHA
LEFT            BETA
LEFT            CHARLIE
RIGHT           BETA
RIGHT           CHARLIE
UP              ALPHA
UP              CHARLIE
DOWN            ALPHA

我想知道所有有 Alpha 的 A 列以及 A 列的至少一个其他值。

这可以在另一个最好的工作表上填充一个列表。我想我必须走 VBA 路线,但我不确定从哪里开始。

标签: excelvba

解决方案


这使用 COUNTIFS。如有必要,根据您的设置调整工作表名称。我应该补充一点,您的数据(用于 AF)需要一个标题行,因此如有必要,请插入一行。

Sub x()

Dim r As Range, wf As WorksheetFunction, r1 As Range

Set wf = WorksheetFunction

Set r1 = Sheet1.Range("A1").CurrentRegion
r1.Columns(1).AdvancedFilter xlFilterCopy, , Sheet2.Range("A1"), unique:=True

With Sheet2
    For Each r In .Range("A2", .Range("A" & Rows.Count).End(xlUp))
        If wf.CountIfs(r1.Columns(1), r, r1.Columns(2), "ALPHA") > 0 And _
           wf.CountIfs(r1.Columns(1), r, r1.Columns(2), "<>ALPHA") > 0 Then
            r.Offset(, 1) = "Yes"
        Else
            r.Offset(, 1) = "No"
        End If
    Next r
End With

End Sub

推荐阅读