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
我有一个超过 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