Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zählen ohne Duplikate
#1
Hi ich benötige eure Hilfe. Ich möchte die Anzahl an TicketIds zählen unter mehreren Bedingungen (User, Datum, Que) und zum Schluss sollen doppelte Ticketid nicht mitgezählt werden. Die Tabelle hat über 100000 Zellen. (Die Testtabelle hat nur 478 Zellen)
Die Formell funktioniert. Bei mehr als 100000 Zellen leider nicht mehr.

=SUMMENPRODUKT((User=$A7)*(Que=$B$6)*(Datum>=$B$2)*(Datum<=$B$3)*(VERGLEICH(Ticket&User;Ticket&User;)=ZEILE(Datum)-1)*(Ticket<>""))


Bei meiner jetzigen Formel hängt sich Excel die ganze Zeit auf.
Gibt es einen einfacheren Weg und schnelleren?
Es wäre super wenn ihr mir weiterhelfen könnt.

Grüße

Fabian


Angehängte Dateien
.xlsx   Testmappe.xlsx (Größe: 26,56 KB / Downloads: 11)
Antworten Top
#2
Hi Fabian,

die Summenprodukt-Funktion ist eine Matrixfunktion und dementsprechend äußert rechenintensiv. Da ist es kein Wunder, dass nach 100000 Datensätzen der Rechner komplett in die Knien geht. Ich glaube zwar nicht, dass sich Excel komplett aufgehängt hat, vielmehr denke ich, dass dein Rechner eine Irrsinnszeit benötigt, um die Rechenoperationen durchzuführen.

IMHO dürfte eine Makrolösung am zielführendsten sein - allerdings kann ich dir dabei nicht helfen.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
[-] Folgende(r) 1 Nutzer sagt Danke an WillWissen für diesen Beitrag:
  • Fabian1000
Antworten Top
#3
Danke für die Antwort. Leider kenne ich mich mit Makros auch nicht aus.
Antworten Top
#4
Hallo,

ich bin mir nicht sicher ob ich das System verstanden habe - mir ist z.B. nicht klar warum du das Datum als Auswahlkriterium nimmst und dann in den Zellen B2 und B3 mit Min bzw. Max arbeitest.

Aber einerlei: Ich habe mal versucht mit 2 Hilfsspalten und einer Pivottabelle zum Ziel zu kommen.

Warum nimmst du eigentlich die Definition der Namen über die ganze Spalte? Ich würde einen relevanten Teil verwenden oder ganz auf die Namensdefinition verzichen und aus der Tabelle eine 'intelligente Tabelle' (über Einfügen - Tabelle) machen.

Schau mal ob du mit der Beispielsdatei weiterkommst.


Angehängte Dateien
.xlsx   Testmappe_1.xlsx (Größe: 45,26 KB / Downloads: 12)
Gruß
Peter
Antworten Top
#5
Danke damit kann ich leider nichts anfangen, weil die Tabelle Liste unverändert bleiben soll.
Gibt es noch eine andere Möglichkeit?
Antworten Top
#6
Hallo,

ohne Hilfsspalten musst kannst Du nur mit Array Formeln arbeiten.

Hier noch eine Lösung mit 2 Hilfsspalten:

Arbeitsblatt mit dem Namen 'Liste'
 ABCDEFG
1DatumArtikel IDTicket IDUserQueue  
225.04.201661542782483542MarkusQue12483542MarkusWAHRMarkusQue1FALSCH
NameBezug
Datum=Liste!$A:$A
Que=Liste!$E:$E
Ticket=Liste!$C:$C
User=Liste!$D:$D
ZelleFormel
F2=C2&D2
G2=UND(A2>=Auswertung!$B$2;A2<=Auswertung!$B$3)&D2&E2&(VERGLEICH(F2;$F$2:$F$1000;)=(ZEILE(A1)-1))
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg

Die Auswertung erfolgt dann mit dieser Formel:

Arbeitsblatt mit dem Namen 'Auswertung'
 AB
1Zeitraum 
2von:15.04.2016
3bis:25.04.2016
4  
5  
6 Que1
7Markus55
NameBezug
Datum=Liste!$A:$A
Que=Liste!$E:$E
ZelleFormel
B2=MIN(Datum)
B3=MAX(Datum)
B7=ZÄHLENWENN(Liste!G:G;WAHR&A7&B6&WAHR)
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg

Die Hilfsspalten können auch in einem anderen Tabellenblatt liegen.
Gruß Atilla
Antworten Top
#7
Danke nur diese Arrayformel verlangsamt mein Excelprogramm extrem.
Hier die vollständige Datei. 
Gibt es da eine andere Möglichkeit?


.xlsb   Testmappe neu.xlsb (Größe: 1,76 MB / Downloads: 8)
Antworten Top
#8
Hallo.

ich habe Dir eine Lösung ohne Arrayformeln gezeigt.
Mit meiner eingestellten Lösung brauchst Du zwei Hilfsspalten.

Vielleicht schaust Du Dir die eingestellten Lösungen etwas genauer an und liest Dir auch die Antworten gründlicher durch, bevor Du weiter fragst.

Noch mal: ohne Arrayformel, wie bei Peter auch musst Du Hilfsspalten nutzen
Gruß Atilla
Antworten Top
#9
Danke mein Problem liegt darin. Wenn ich die 2 Hilfstabellen komplett runterziehe (200000 Zellen) dann blockiert mein Excel.
Darum ist diese Lösung nicht ganz optimal.
Antworten Top
#10
Hallo Fabian

In deiner Mappe finde ich in der Spalte User nur einen User und in der Spalte Que nur einen Wert. Auch die "Datumseinschränkung" verstehe ich nicht.
De facto geht es nur darum die Duplikate bei Ticket ID zu entfernen.

Kopiere das Tabellenblatt und rufe "Duplikate entfernen" auf.
Markiere die Spalten Artikel ID, Ticket ID, User und Que.
OK

Zeilen zählen: 74052
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste