【问题标题】:Excel - Cleaning Financial Dataset to only have latest transactionsExcel - 清理财务数据集以仅包含最新交易
【发布时间】:2019-03-22 22:55:59
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: excel data-cleaning


    【解决方案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
    

    【讨论】:

    • 非常感谢!像魅力一样工作!
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-14
      • 2017-07-03
      • 1970-01-01
      • 2019-08-27
      • 2016-07-27
      • 1970-01-01
      相关资源
      最近更新 更多