删除与第一列标准不匹配的行

时间:2018-02-20 20:39:27

标签: excel

我有下表:

Date        Value
1/2/1970    100
1/5/1970    99.99
1/6/1970    100.37
1/7/1970    100.74
1/8/1970    101.26
1/9/1970    100.74
1/12/1970   100.79
1/13/1970   101.27
1/14/1970   101.95
1/15/1970   101.97
1/16/1970   101.76
1/19/1970   102.21
1/20/1970   102.70
1/21/1970   102.00
1/22/1970   101.46
1/23/1970   101.49
1/26/1970   100.97
1/27/1970   101.45
1/28/1970   101.70
1/29/1970   102.08
1/30/1970   102.19
2/2/1970    102.02
2/3/1970    101.85
2/4/1970    101.69
2/5/1970    101.69
2/6/1970    101.66
2/9/1970    102.64

我需要删除日期不是该月第二天的所有行,我设计了以下条件,但我不确定如何使用它:

=IF(A2<>EOMONTH(A2-1,2), B2)

但是,当我将该公式应用于C列时,它根本不起作用。我不确定我做错了什么。

1 个答案:

答案 0 :(得分:2)

运行这个短宏(使用neilsen的测试)

Sub RowKiller()
    Dim i As Long, N As Long, d As Date
    N = Cells(Rows.Count, "A").End(xlUp).Row
    For i = N To 2 Step -1
        d = Cells(i, 1).Value
        If Day(d) <> 2 Then Cells(i, 1).EntireRow.Delete
    Next i
End Sub

将产生:

enter image description here

手动,您可以使用AutoFilter来获得相同的结果。