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

Excel - Cleaning Financial Dataset to only have latest transactions

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

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

我只想要第三行(即 INV123-1),因为前两行是相互抵消的发票和退款。

我尝试创建一个根据预订和金额删除的宏,但最终删除了整个内容。请帮忙。示例数据集的 link 如下所示:

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

试试这个用于查找重复项的简单公式,放置一个过滤器并删除所有 true,您将得到您想要的结果。

=COUNTIF(C4:$C,C4)>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