Podsumuj, a następnie usuń

1

Próbuję zsumować wszystkie wartości z tym samym numerem faktury do pierwszego wiersza zawierającego ten numer faktury. Następnie usuniesz wiersze, które mają ten sam numer faktury, który jest poniżej pierwszego.

Czy ktoś może mi pomóc w uzyskaniu tego wymogu za pomocą makra?

Chris
źródło
Czego spróbowałeś do tej pory? napisałeś kilka linijek kodu? nagrałeś coś?
tumchaaditya
tumchaaditya, nie zrobiłem niczego, ponieważ nie mam pojęcia, jak mam postępować.
Chris
1
Jak dobrze znasz VBA? Czy próbowałeś użyć rejestratora makr, a następnie uogólnić problem? Wypróbowałbym poniższe (za pomocą rejestratora makr): użyj formuły w trzeciej kolumnie, aby obliczyć sumę dla każdej faktury #, skopiuj wyniki i wklej je z powrotem w trzeciej kolumnie tylko jako wartości, a następnie wybierz kolumny i użyj Remove Duplicates opcja (pod Data karta) i wybierz usunięcie duplikatów w pierwszej kolumnie (usuń zaznaczenie pozostałych). Zostaną Ci unikalne faktury i ich sumy.
Zairja

Odpowiedzi:

2

Rozwiązaniem bez VBA (moim ulubionym rodzajem) byłoby po prostu przekształcenie danych w tabelę (Wstaw> Tabela). Następnie utwórz tabelę przestawną (Wstaw & gt; Tabela przestawna), używając swojej tabeli danych jako źródła. Pozwala to na zachowanie danych źródłowych bez modyfikacji, a tabela przestawna może w zasadzie sumować kwoty według numeru faktury. Oto przykład oparty na przykładowych danych:

Subtotal Invoice

dav
źródło
David, dziękuję za sugestię, ale nie mogę jeszcze użyć tabeli przestawnej, ponieważ muszę wykonać inne zadania po spełnieniu powyższych wymagań.
Chris
Jakie są twoje inne zadania? Czy możesz udostępnić dodatkowe dane przykładowe i pożądany wynik?
F106dart
Dziękuję za wszystkie sugestie. Użyję metody tabeli przestawnej zgodnie z sugestią Davida. Jeśli będę potrzebować dalszych szczegółów, ponownie skonsultuję się z tobą.
Chris
@Chris, jeśli potrzebujesz pomocy przy kolejnych zadaniach, o których wspomniałeś, daj nam znać, że prawdopodobnie jest kreatywne rozwiązanie.
dav
@ Chris, jeśli ta odpowiedź ci pomogła, nie zapomnij tego zaznaczyć
SeanC