Excel - Dupletten suchen
Hallo liebe Gemeinde,
ich habe folgendes Problem. In einer Exceltabelle befindet sich unter anderem folgende Spalte:
http://www.XXXXXXXXXXXX&productNr=36766
http://www.XXXXXXXXXXXX&productNr=38857
mit ca. 10.000 Einträgen. Ich benötige am Ende folgende Aussage:
Zeile: http://www.XXXXXXXXXXXX&productNr=36766 ist 307 mal vorhanden
Zeile: http://www.XXXXXXXXXXXX&productNr=38857 ist 53 mal vorhanden
u.s.w....
Es geht mir ausschließlich um die Produktnummern, die anderen Spalten der Tabelle sind für mich uninteressant.
Für Eure Hilfe schon mal im Voraus herzlichen Dank und ein sonniges WE,
Robert
Antwort schreiben
Antwort 1 von coros vom 09.10.2021, 12:33 Options
Hallo Robert,
das geht z.B. über die Funktion "ZÄHLENWENN(). Bei Dir würde das für
http://www.XXXXXXXXXXXX&productNr=36766
so aussehen:
="http://www.XXXXXXXXXXXX&productNr=36766 ist "&ZÄHLENWENN(A1:A65536;"http://www.XXXXXXXXXXXX&productNr=36766")&"x vorhanden"
Spalte und Zeilen musst Du logischerweise in der Formel anpassen.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Hallo Oliver,
erst mal vielen Dank für Deine schnelle Antwort.
Bei Deiner Lösung müßte ich aber jede der ca. 3000 Produktnummer einzeln abfragen (Wenn ich Deine Antwort richtig verstanden habe?).
Ich brauche aber am Ende eine Spalte, in der mir zuerst alle Dubletten angezeigt werden und dann in einer extra Spalte ausgegeben wird, wie oft diese Dublette vorhanden ist.
z.B.
Dublette |Anzahl
.....31556 |456
(Ich kann hier leider keine Tabelle erstellen :-( )
Viele Grüße,
Robert
Antwort 3 von rainberg vom 09.10.2021, 14:31 Options
Hallo Robert,
in Spalte A stehen die zu zählenden Werte.
Formel B1
=A1
Formel B2
=WENN(SUMME(ZÄHLENWENN(A$1:A$3000;B$1:B1))>=SUMME((A$1:A$3000<>
"")*1);"";INDEX(A:A;VERGLEICH(1;(ZÄHLENWENN(B$1:B1;A$1:A$3000)=0)*(A$1:A$
3000<>"");0)))
Formeleingabe mit Strg+Shift+Enter bestätigen und Formel runter ziehen
Formel C1
=ZÄHLENWENN(A:A;B1)
Formel runter ziehen
Wundere Dich aber nicht, dass diese Matrixformel bei 3000 Werten sehr viel
Rechenzeit benötigt.
Schneller geht es mit dem Spezialfilter.
Spalte mit den Zählwerten markieren, Spezialfilter aufrufen und "Keine Duplikate"
aktivieren.
Auf die gefilterte Liste kannst Du dann die ZÄHLENWENN-Funktion anwenden.
Gruß
Rainer
Hallo Rainer,
auch Dir erst mal vielen Dank für Deine Hilfsbereitschaft!
Leider kann ich, aus einem tiefen Tal der Unkenntnis heraus, Deinen Ausführungen nicht folgen. Ich habe jetzt seit ca. einer halben Stunde versucht, die Formel einzugeben :-(. Könntest Du mir die Vorgehensweise nochmal so erklären, als ob ich 5 Jahre alt wäre ;-)
Zählen wenn klingt einfach, ich will meine Duplikate aber doch behalten, nur eben von viel nach wenig aufgelistet und von Excel gleich die Anzahl ausgerechnet haben.
Vielleicht drücke ich mich nur laienhaft unverständlich aus, was ich eigentlich will?
Viele Grüße,
Robert
Antwort 5 von nighty vom 09.10.2021, 16:58 Options
hi all ^^
da darf ja ein makro nicht fehlen :-))
gruss nighty
quelle
tabelle1 spalte a produkt
ziel
tabelle2 spalte a produkt
tabelle2 spalte b anzahl
Option Explicit
Sub Suchen()
Dim SpAzeile As Long, QuellZeilen As Long, ArrZeilen As Long, ArrIndex As Long
Dim Fund As Boolean
SpAzeile = Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Row
ReDim ArrA(SpAzeile, 1) As Variant
ReDim ArrC(SpAzeile, 2) As Variant
Worksheets(1).Activate
ArrA() = Range("A1:A" & SpAzeile)
Worksheets(2).Activate
Range("A:B") = ""
ArrC() = Range("A1:B" & SpAzeile)
ArrIndex = 1
For QuellZeilen = 2 To SpAzeile
For ArrZeilen = 2 To SpAzeile
If ArrA(QuellZeilen, 1) = ArrC(ArrZeilen, 1) Then
ArrC(ArrZeilen, 2) = ArrC(ArrZeilen, 2) + 1
Fund = True
End If
Next ArrZeilen
If Fund = False Then
ArrIndex = ArrIndex + 1
ArrC(ArrIndex, 1) = ArrA(QuellZeilen, 1)
ArrC(ArrIndex, 2) = ArrC(ArrIndex, 2) + 1
Else
Fund = False
End If
Next QuellZeilen
Worksheets(2).Range("A1:B" & SpAzeile) = ArrC()
End Sub
Antwort 6 von rainberg vom 09.10.2021, 17:20 Options
Hallo Robert,
da ich nicht weiß, wie ich das noch genauer erklären so, hänge ich Dir mal eine Mappe
mit einen Formelbeispiel und eine Filterbeispiel an.
Frage ruhig, was Du daran nicht verstehst.
http://ul.to/7szd3nGruß
Rainer
Hallo Oliver, Rainer und nighty,
herzlichen Dank für Eure Antworten und die Mühe, die Ihr Euch bei der Beantwortung meiner Frage gemacht habt.
Vielen, vielen Dank!!!!!
Mein ganz besonderer Dank gilt aber nighty, der letztendlich mein Problem zu meiner vollsten Zufriedenheit ;-) gelöst hat. Tolles Ding, dieses Makro!
Mit fröhlichen Grüßen,
Robert