31.05.2019, 10:19
Hallo zusammen,
dies ist mein erster Beitrag, nachdem ihr mir schon viele Male dank der SuFu helfen könnte.
Aber jetzt komme ich einfach nicht weiter und benötige aktive Hilfe.
Habe folgende Tabelle (siehe auch Anhang):
[
Bild bitte so als Datei hochladen: Klick mich!
]
Ich möchte nun die Anzahl der Auftragsnummern zählen ohne Doppelte nach einem Kriterium, das Datum.
In meinem Beispiel möchte ich wissen, wie viele unterschiedlich Auftragsnummern ich am 29.05. hatte. Antwort ist "3" und kann mit der Matrix-Formel
{=SUMME((VERGLEICH(A1:A102&"#"&B1:B102;A1:A102&"#"&B1:B102;0)=ZEILE(1:102)*(B1:B102=E3))*1)}
berechnet werden. Soweit, so gut
Jetzt ist es so, dass meine Tabelle "in echt" wesentlich länger als 102 Zeilen (aktueller Bereich in der Matrix-Formel, siehe oben) sein kann, gerne auch mal 50.000 Zeilen. Um die Rechenleistung zu begrenzen, möchte ich den Bereich in der Formel nicht pauschal auf Zeile 50.000 setzen, weil Excel dann viele Sekunden/Minuten berechnet.
Deswegen habe ich überlegt mit dynamischen Bereichen zu arbeiten. Ich habe im Namensmanager für meine Bereiche Spalte A, Spalte B und den "ZEILE"-Bereich aus der Formel also mit "BEREICH.VERSCHIEBEN" und zählen von aktuellen Zeilen verformelt.
z.B. BEREICH.VERSCHIEBEN(Tabelle1!$A$1;;;ANZAHL2(Tabelle1!$A:$A);)
Anstatt also "A1:A102" einzugeben, nutze ich einfach meinen dynamischen Bereich "Auftragsnummer"
Allerdings scheint mit dynamischen Bereichen die Matrix-Formel nicht mehr zu funktionen. Zumindest bekomme ich kein Ergebnis wenn ich das so machen. Desweiteren fällt mir auch keine kluge Formel für den Bereich der ZEILE ein, siehe Einstellung im Namensmanager.
Aber egal, selbst wenn ich das mit der Zeile hinbekomme: Wie kann ich meine Berechnung möglichst performance-arm gestalten? Ich will nicht dass die Matrix-Formel jedes mall 50.000 Zeilen durchsucht, schon weil das auch nicht meine einzige Formel dieser Art ist. Dynamischer Bereich ist da doch das beste!?
Bin für jeden Hinweis dankbar.
Lg,
Chris
dies ist mein erster Beitrag, nachdem ihr mir schon viele Male dank der SuFu helfen könnte.
Aber jetzt komme ich einfach nicht weiter und benötige aktive Hilfe.
Habe folgende Tabelle (siehe auch Anhang):
[
Bild bitte so als Datei hochladen: Klick mich!
]
Ich möchte nun die Anzahl der Auftragsnummern zählen ohne Doppelte nach einem Kriterium, das Datum.
In meinem Beispiel möchte ich wissen, wie viele unterschiedlich Auftragsnummern ich am 29.05. hatte. Antwort ist "3" und kann mit der Matrix-Formel
{=SUMME((VERGLEICH(A1:A102&"#"&B1:B102;A1:A102&"#"&B1:B102;0)=ZEILE(1:102)*(B1:B102=E3))*1)}
berechnet werden. Soweit, so gut
Jetzt ist es so, dass meine Tabelle "in echt" wesentlich länger als 102 Zeilen (aktueller Bereich in der Matrix-Formel, siehe oben) sein kann, gerne auch mal 50.000 Zeilen. Um die Rechenleistung zu begrenzen, möchte ich den Bereich in der Formel nicht pauschal auf Zeile 50.000 setzen, weil Excel dann viele Sekunden/Minuten berechnet.
Deswegen habe ich überlegt mit dynamischen Bereichen zu arbeiten. Ich habe im Namensmanager für meine Bereiche Spalte A, Spalte B und den "ZEILE"-Bereich aus der Formel also mit "BEREICH.VERSCHIEBEN" und zählen von aktuellen Zeilen verformelt.
z.B. BEREICH.VERSCHIEBEN(Tabelle1!$A$1;;;ANZAHL2(Tabelle1!$A:$A);)
Anstatt also "A1:A102" einzugeben, nutze ich einfach meinen dynamischen Bereich "Auftragsnummer"
Allerdings scheint mit dynamischen Bereichen die Matrix-Formel nicht mehr zu funktionen. Zumindest bekomme ich kein Ergebnis wenn ich das so machen. Desweiteren fällt mir auch keine kluge Formel für den Bereich der ZEILE ein, siehe Einstellung im Namensmanager.
Aber egal, selbst wenn ich das mit der Zeile hinbekomme: Wie kann ich meine Berechnung möglichst performance-arm gestalten? Ich will nicht dass die Matrix-Formel jedes mall 50.000 Zeilen durchsucht, schon weil das auch nicht meine einzige Formel dieser Art ist. Dynamischer Bereich ist da doch das beste!?
Bin für jeden Hinweis dankbar.
Lg,
Chris