[Excel] Duplikate auffinden und addieren

Lesterdor

Erfahrenes Mitglied
Guten Tag liebe Community,

ich habe, wie dem Titel zu entnehmen ist, ein Problem mit Duplikaten in meiner Tabelle. Die Tabelle hat folgende Spalten:

Laufende-Nr | Artikelnummer | Beschreibung | Menge

In dieser Tabelle befinden sich über 1.000 Datensätze. Leider sind einige Artikelnummern mehrfach vorhanden. Wie ich Duplikate aufspüre über den Spezialfilter oder der bedingten Formatierung ist mir bewusst. Allerdings ist die Herausforderung, dass ich die Mengen der einzelnen Duplikate ermitteln muss und auf das dann resultierende Unikat hinzuaddieren muss.

Hier noch einmal das Problem skizziert:

Ausgangstabelle:

Laufende-Nr Artikelnummer Beschreibung Menge
142Muster2
242Muster1

So sollte die Tabelle nach dem Bearbeiten den Artikel 42 nur einmal mit einer Menge von 3 beinhalten. Ich habe über den AutoFilter immer die Artikelnummern angezeigt, dann alle angezeigten addiert und die Duplikate gelöscht. Gibt es einen Weg das komplett zu automatisieren, denn so muss ich mit dieser Lösung ja alle Artikelnummern einzeln durchgehen beim AutoFilter, was bei so vielen Datensätzen reine Fleißarbeit ist.


Über Vorschläge, um diese Herausforderung zu meistern, bin ich sehr dankbar. Ich benutze Excel 2003.

Mit freundlichen Grüßen

Lester
 
Zuletzt bearbeitet:
Moin,

da ich keine halbmeterlangen Formeln mag und im Moment zu unkonzentriert für VBA bin, hier eine pragmatische Lösung (s. Anhang):
Spalte_E ist die Formel mit den Summen aller Unikate.
Spalte_E kopieren und dann in Spalte_F als Wert einfügen oder Spalte_D gleich überschreiben.
Dann die Doppelten aus Spalte_B löschen, evtl. auch die Hilfsspalten.
Fertig.
 

Anhänge

  • DoppelSumme.zip
    6,8 KB · Aufrufe: 53
Zuletzt bearbeitet:
Hallo,

hast du mal an die Verwendung von Pivot-Tabellen gedacht? Würde Sie dir in diesem Fall ans Herz legen.

Gruß
HC
 
1. Schritt: Tabelle nach Artikelnummer sortieren (ob auf- oder absteigend egal)
2. Schritt: Ein wenig VBA und gut ist

Visual Basic:
Dim i As Long

   For i=LetzteZeile To 2 Step -1

      If Tabelle1.Cells(i,2)=Tabelle1.Cells(i-1,2) Then

         Tabelle1.Cells(i-1,4)=Tabelle1.Cells(I-1,4)+Tabelle1.Cells(i,4)
         Tabelle1.Rows(i).Delete

      End If

   Next

Das Geheimnis liegt darin, dass man rückwärts durch die Liste läuft
 
Zurück