Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Zählen ohne Duplikate mit Suchkriterium

Forumthread: Zählen ohne Duplikate mit Suchkriterium

Zählen ohne Duplikate mit Suchkriterium
19.03.2025 15:44:22
Richy
Hi,
ich habe Daten eine Tabelle mit Daten und Bestellnr und ich suche eine Formel, die mir zeigt (ohne Duplikate) wieviel Bestellungen ich pro Tag hatte.

https://www.herber.de/bbs/user/176343.xlsx
Anzeige

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zählen ohne Duplikate mit Suchkriterium
19.03.2025 15:50:16
{Boris}
Hi,

in der Beispieldatei sind pro Tag keine doppelten Bestellnummern vorhanden (nur tagesübergreifend).

Daher erhältst Du für den Moment Dein eingetragenes Wunschergebnis durch reines Zählen der einzelnen Tage mit:

I5:
=ZÄHLENWENN(D:D;H5)
und runterkopieren.

VG, Boris

Anzeige
AW: Zählen ohne Duplikate mit Suchkriterium
19.03.2025 16:10:46
Yal
Hallo Richy,

klick auf der Zelle, wo "Tag" steht,
Menü "Einfügen", "Tabelle", Umfang und Überschrift werden erkannt. ok.
Im neuen Menü "Tabellenentwurf" auf "Mit Pivottable zusammenfassen",
Im Assistent unter "Dem Datenmodell diese Daten hinzufügen" anhaken,
Im Pivot-Assistent rechts, oben Feld "Tag" ins Quadrant "Zeilen" verschieben,
Feld "BestellNr" in Quadrant "Wert" verschieben,
auf dem Feld "Summe von BestellNr" klicken, auf "Wertfeldeinstellungen..." gehen,
im der Liste der "Wertfeld zusammenfasse nach" nach ganz unten gehen und "diskreter Anzahl" wählen.

Diese "Diskreter Anzahl" ist nur bei Pivot, die über den Datenmodell gehen, verfügbar.

VG
Yal
Anzeige
AW: Zählen ohne Duplikate mit Suchkriterium
19.03.2025 16:26:22
velo
Hallo,

du kannst es mit folgender VBA-Funktion machen, hierzu als erster Parameter das Datum und als zweiter den Bereich mit Daten und Bestellnummern:
Option Explicit


Function DistinctCount(datum As Date, rng As Range) As Long

Dim i As Long
Dim orderNumbers As Object
Set orderNumbers = CreateObject("Scripting.Dictionary")

For i = 1 To rng.Rows.Count
If rng.Cells(i, 1).Value = datum And Not rng.Cells(i, 2).Value = "" Then
If Not orderNumbers.exists(rng.Cells(i, 2).Value) Then
orderNumbers.Add rng.Cells(i, 2).Value, True
End If
End If
Next i

DistinctCount = orderNumbers.Count

End Function


Der Code ist allerdings recht unflexibel was die Struktur der Tabelle angeht. Wenn die Bestellnummer nicht direkt rechts vom Datum ist, dann musst du in der For-Schleife die rng.Cells-Passagen ändern. Alternativ kannst, falls die Bestellnummer links vom Datum steht auch mit rng.Offset arbeiten.

Ich hoffe das hilft dir weiter!

VG
velo
Anzeige
AW: Zählen ohne Duplikate mit Suchkriterium
19.03.2025 16:44:10
Richy
Ich suche eine Formellösung ...sprich nicht Pivot oder VBA....

Anbei die Bespieldatei mit doppelten Werten etc.

https://www.herber.de/bbs/user/176344.xlsx
Die Formellösungen...
19.03.2025 17:07:34
{Boris}
Hi,

...liegen doch schon längst vor (Ralf alias RPP63 sowie auch von mir).

VG, Boris
Anzeige
AW: Die Formellösungen...
19.03.2025 17:16:32
BoskoBiati
Hi,

kurze Frage, warum funktioniert das nicht:

=LET(xa;SPALTENWAHL(EINDEUTIG(D5:E15;0);1);ZÄHLENWENN(xa;I5#))


Gruß

Edgar
Ich meine …
19.03.2025 17:18:38
RPP63
Moin Edgar!
War da nicht mal was, dass ZÄHLENWENN() ausschließlich mit Bereichen funktioniert?
Deine LET() übergibt ja ein Array.

Gruß Ralf
Anzeige
Ja...
19.03.2025 17:26:51
{Boris}
Hi Ralf,

...korrekt - ZÄHLENWENN (und auch noch ein paar andere Funktionen) benötigen zwingend einen Bereich. Mit Arrays kann die nicht.

VG, Boris
AW: Die Formellösungen...
19.03.2025 17:19:20
{Boris}
Hi Edgar,

...welche Spillformel steht denn in I5?

VG, Boris
AW: Die Formellösungen...
19.03.2025 18:35:09
BoskoBiati
Hi {Boris},

in I5:I9 stehen die eindeutigen Datumswerte.

Gruß

Edgar
Anzeige
Siehe Antwort von Ralf...
19.03.2025 18:46:53
{Boris}
Hi Edgar,

...ZÄHLENWENN braucht halt einen Bereich (und kein Array). Die Variable xa enthält aber ein Array.

VG, Boris
AW: Die Formellösungen...
19.03.2025 17:36:58
Yal
ich möchte auch spillen...

Zählenwenn tut net, aber Summenprodukt:

=LET(x;SPALTENWAHL(EINDEUTIG($A$5:$B$15);1);y;EINDEUTIG(x);HSTAPELN(y;NACHZEILE(y;LAMBDA(z; SUMMENPRODUKT(1*(x=z))))))


VG
Yal
Anzeige
AW: Zählen ohne Duplikate mit Suchkriterium
19.03.2025 15:59:18
Richy
Ja, es ist richtig dass die Beispieldatei dass nicht explizit enthält, aber es ist der Fall.......... von daher funktioniert ZÄHLENWENN leider nicht

Ich möchte auch mit dem Datum suchen, sprich 02.01.2025 und er soll mir sagen wieviele BEstellungen an dem Tag waren ohne eine Bestellung doppelt zu zählen.

Hier nochmal als Beispiel:

Tag Bestellnr Sollergebnis
02.01.2025 419583 02.01.2025 3
02.01.2025 419660 03.01.2025 1
02.01.2025 419660 04.01.2025 4
02.01.2025 419552 05.01.2025 0
03.01.2025 419660 06.01.2025 0
04.01.2025 419670
04.01.2025 419669
04.01.2025 419669
04.01.2025 419591
04.01.2025 419591
04.01.2025 419142
Anzeige
Als Fingerübung
19.03.2025 16:29:56
RPP63
Moin!
Ich bin zwar auch eher bei der Pivot mit diskreter Anzahl.
Aber als Übung hier mal eine Formellösung:
 ABCDEF
1TagBestellnr DatumSollIst
202.01.2025419583 02.01.202533
302.01.2025419660 03.01.202511
402.01.2025419660 04.01.202544
502.01.2025419552 05.01.202500
603.01.2025419660 06.01.202500
704.01.2025419670    
804.01.2025419669    
904.01.2025419669    
1004.01.2025419591    
1104.01.2025419591    
1204.01.2025419142    
13      

ZelleFormel
F2=SUMME(--(SPALTENWAHL(EINDEUTIG(A$2:B$12);1)=D2))
F3=SUMME(--(SPALTENWAHL(EINDEUTIG(A$2:B$12);1)=D3))
F4=SUMME(--(SPALTENWAHL(EINDEUTIG(A$2:B$12);1)=D4))
F5=SUMME(--(SPALTENWAHL(EINDEUTIG(A$2:B$12);1)=D5))
F6=SUMME(--(SPALTENWAHL(EINDEUTIG(A$2:B$12);1)=D6))


Gruß Ralf
Anzeige
Immer diese Formelmonster ;-)
19.03.2025 16:39:46
{Boris}
Hi Ralf,

ich verkürze um 6:

=SUMME(N(INDEX(EINDEUTIG(A$2:B$12);;1)=D2))

;-))

VG, Boris
AW: Immer diese Formelmonster ;-)
19.03.2025 16:47:50
RPP63
;-)
Was hältst Du von einer Verkürzung meiner PIVOTMIT()?

Gruß Ralf
Sehr gut!
19.03.2025 17:06:04
{Boris}
Hi Ralf,

schöne Formelkniffe verarbeitet - inkl. der praktischen automatischen Bereichsgrößenermittlung A:.B

VG, Boris
Anzeige
PIVOTMIT() gespillt
19.03.2025 16:46:29
RPP63
Vorsicht!
Könnte bisher nur in der Insider-Version von 365 funktionieren:
 ABCDE
1TagBestellnr TagTag
202.01.2025419583 02.01.20253
302.01.2025419660 03.01.20251
402.01.2025419660 04.01.20254
502.01.2025419552 Gesamt8
603.01.2025419660   
704.01.2025419670   
804.01.2025419669   
904.01.2025419669   
1004.01.2025419591   
1104.01.2025419591   
1204.01.2025419142   

ZelleFormel
D1=LET(Dat;SPALTENWAHL(EINDEUTIG(A:.B);1);
PIVOTMIT
(Dat;;Dat;ANZAHL;3))
Anzeige
AW: PIVOTMIT() gespillt
19.03.2025 16:59:04
RPP63
Pivotmit() funktioniert auch in der Online-Version.
(hier mal mit dem kürzeren Index statt Spaltenwahl ;-))
Userbild
Vorerst ultimo
19.03.2025 17:06:27
RPP63
=LET(Dat;EINDEUTIG(A:.B);PIVOTMIT(INDEX(Dat;;1);;INDEX(Dat;;2);ANZAHL;3))

Userbild
Anzeige
AW: Zählen ohne Duplikate mit Suchkriterium
19.03.2025 16:34:50
{Boris}
Hi,

Ja, es ist richtig dass die Beispieldatei dass nicht explizit enthält, aber es ist der Fall..........

Wäre dann nicht eine Beispieldatei MIT solchen Dopplungen besser gewesen?

Lösungen hast Du ja jetzt genug.

VG, Boris
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18