检查2列中的值是否与Excel匹配,如果另一行通过了某个条件,则删除行

感谢有人能帮助我。 我一直在寻找任何相关的问题,但无济于事。

我不知道这是否可以通过VBA(如果是的,更好),虽然我目前正在研究公式(比赛,VLookup),仍然很难。

我有三组列(列A,B,C)

DATE INVOICE PAYMENT* 1/10/2015 131.08 1/10/2015 1220 2/10/2015 1232.4* 3/10/2015 1220* 

目标是删除包含列B(发票)和列C(支付)中find的相同值的行,但仅当列A(date)中的数据在两者中find的匹配date之后3天内列。 这两个标准中的两行都应该被删除。 2015年1月10日+ 3天= 04/10/2015可以考虑,否则行不应删除。

期望的结果是。

 DATE INVOICE PAYMENT* 1/10/2015 131.08 2/10/2015 1232.4* 

先谢谢你。

假设你只有2行将相等,必须删除,创build的macros。 试试看,

 Sub delrow() Dim i As Long, j As Long Columns("A:C").Sort key1:=Range("A2"), _ order1:=xlAscending, Header:=xlYes For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row For j = 2 To Cells(Rows.Count, 1).End(xlUp).Row If Cells(i, 2) = Cells(j, 3) And Cells(i, 1) < Cells(j, 1) And Cells(i, 1) + 3 >= Cells(j, 1) Then Rows(i).ClearContents Rows(j).ClearContents End If Next j Next i For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1 If Cells(i, 1) = "" Then Rows(i).Delete End If Next i End Sub