如何匹配具有2个单独匹配列的行

时间:2012-07-13 18:53:13

标签: excel-vba excel-formula excel-2010 vba excel

我有4列,A到D.我需要找到每行中C列相同的行,每行中D列相同。最好在E列中放置一个True或False值.VBA或公式有效,尽管我认为这样的事情可以用公式来做。

例如,我有以下内容:

第1行XX 123 XYZ
第2行XX 234 XYZ
第3行XX 234 YZX
第4行XX 234 YZX

在此示例中,第1行和第2行的列E为False,第3行和第4行为True。

1 个答案:

答案 0 :(得分:2)

这是你在尝试的吗?

Sub Sample()
    Dim ws As Worksheet
    Dim lRow As Long, i As Long

    Set ws = Sheets("Sheet1")

    With ws
        lRow = .Range("C" & .Rows.Count).End(xlUp).Row

        For i = 1 To lRow
            If i = 1 Then
                If .Range("C" & i).Value = .Range("C" & i + 1).Value And _
                .Range("D" & i).Value = .Range("D" & i + 1).Value Then _
                .Range("E" & i).Value = "True" Else .Range("E" & i).Value = "False"
            Else
                If (.Range("C" & i).Value = .Range("C" & i + 1).Value And _
                .Range("D" & i).Value = .Range("D" & i + 1).Value) Or _
                (.Range("C" & i).Value = .Range("C" & i - 1).Value And _
                .Range("D" & i).Value = .Range("D" & i - 1).Value) Then _
                .Range("E" & i).Value = "True" Else .Range("E" & i).Value = "False"
            End If
        Next i
    End With
End Sub

<强>快照

enter image description here