Excel - Очистка набора финансовых данных, чтобы иметь только последние транзакции - PullRequest
0 голосов
/ 18 октября 2018

У меня есть набор данных длиной более 30 000 строк и шириной около 30 столбцов.Это данные финансовой транзакции, сгруппированные по бронированию.Например, Booking 123ABC может иметь 3 транзакции - 2 счета и 1 возврат.

Я хочу иметь «чистый» набор данных, который показывает только последние транзакции, выставленные в счет.Например:

Sampledataset

Мне нужна только третья строка (т. Е. INV123-1), так как первые две строки представляют собой счет-фактуру и возврат средств, которые взаимно отменяются.из.

Я попытался создать макрос, который удаляет на основе резервирования и суммы, но в итоге удаляет все это.Пожалуйста помоги.Ссылка на образец набора данных приведена ниже:

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

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

Попробуйте приведенный ниже код, используя правильные листы и столбцы:

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
0 голосов
/ 18 октября 2018

Попробуйте эту простую формулу для поиска дубликатов, установите фильтр и удалите все истинные значения, которые у вас останутся с желаемым результатом.

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

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...