我的数据集长30,000行,宽约30列。它是按预订分组的金融交易数据。例如,预订123ABC可能有3笔交易-2张发票和1笔退款。
我想要的是一个“干净”的数据集,该数据集仅显示最近的发票交易。例如:
我只希望第三行(即INV123-1),因为前两行是发票和退款,彼此抵消。
我尝试创建一个基于预订和金额删除的宏,但最终删除了整个东西。请帮忙。样本数据集的链接如下:
https://drive.google.com/file/d/1eDNMwZE389_-kTnYSS_etgtFhofv-lKn/view?usp=sharing
答案 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)