Excel-清理财务数据集仅包含最新交易

时间:2018-10-18 07:14:37

标签: excel data-cleaning data-cleansing

我的数据集长30,000行,宽约30列。它是按预订分组的金融交易数据。例如,预订123ABC可能有3笔交易-2张发票和1笔退款。

我想要的是一个“干净”的数据集,该数据集仅显示最近的发票交易。例如:

Sampledataset

我只希望第三行(即INV123-1),因为前两行是发票和退款,彼此抵消。

我尝试创建一个基于预订和金额删除的宏,但最终删除了整个东西。请帮忙。样本数据集的链接如下:

https://drive.google.com/file/d/1eDNMwZE389_-kTnYSS_etgtFhofv-lKn/view?usp=sharing

2 个答案:

答案 0 :(得分:1)

使用正确的工作表和列尝试以下代码:

Sub Test()

Dim LastrowE As Long
Dim i As Long
Dim j As Long

With Sheet4

    LastrowE = .Range("E" & Rows.Count).End(xlUp).Row

    For i = LastrowE To 1 Step -1
        For j = LastrowE To 1 Step -1
            If (.Range("E" & i).Value = .Range("E" & j).Value) And ((.Range("E" & i).Offset(0, 4).Value) + (.Range("E" & j).Offset(0, 4).Value) = 0) Then
                Rows(i).Delete
                Rows(j).Delete
                Exit For
            End If
        Next j
    Next i

End With

End Sub

答案 1 :(得分:0)

尝试使用这个简单的公式查找重复项,然后放置一个过滤器,并删除所有真实的结果,并保留所需的结果。

  

= COUNTIF(C4:$ C $ 12,C4)> 1

enter image description here