Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1436to1440
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Geschwindigkeit bei Matrixformeln

Geschwindigkeit bei Matrixformeln
23.07.2015 15:05:23
P-Quest
Hallo,
ich habe in einer Arbeitsmappe 2 Tabellen mit je ca. 200 Datensätzen.
In Tabelle Stammdaten verwende ich folgende Matrixformel:
{=WENN(MAX(WENN((EinAus!$A:$A=A6);EinAus!$C:$C))=0;"";MAX(WENN((EinAus!$A:$A=A6);EinAus!$C:$C)))}
Mit Hilfe der Formel hole ich mir aus Tabelle EinAus das Datum der letzten Buchung für jeden Artikel in Tabelle Stammdaten. Bei Artikeln, für die noch keine Buchung vorliegt, bleibt das Feld leer.
Das klappt auch - allerdings nur mit erheblichen Zeiteinbußen. Gebe ich eine Buchung per Userform ein, dauert es nach dem Klick auf speichern (im Userform) einige Sekunden bis sich das Userform schliesst. Man könnte schon den Eindruck bekommen, der Rechner sei abgestürzt.
Ein Abschalten der automatischen Berechnung während der Ausführung des Makros bringt nur eine kleine Zeitersparnis.
Die Berechnungen grundsätzlich auf manuell zu stellen scheidet aus, da die Anwender auch in der Tabelle direkt, also ohne Nutzung der Userforms, Änderungen vornehmen können. Sie müssten also ständig darauf achten, dass sie die Berechnungen aktualisieren.
Ich stelle meine Frage mal ganz allgemein:
Hat jemand eine Idee, wie ich, unter Berücksichtigung der o.g. Rahmenbedingungen, mein Problem lösen bzw. meine Berechnungen beschleunigen könnte?
Für Vorschläge und Fragen bin ich jederzeit erreichbar :-)
Gruß,
Peter

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Geschwindigkeit bei Matrixformeln
23.07.2015 15:10:43
Rudi
Hallo,
du solltest die Formel auf den relevanten Bereich beschränken und nicht ganze Spalten auswerten.
Evtl. dyn. Namen verwenden.
Gruß
Rudi

AW: Geschwindigkeit bei Matrixformeln
23.07.2015 15:54:21
P-Quest
Danke für den Hinweis! Werde es anpassen.

richtige Feststellungen doch ...
23.07.2015 15:17:11
der
Hallo Peter,
... meine hilft Dir da nicht weiter. Aber sicherlich folgendes:
- Es bedarf keine (echten) Matrixformel um das von gewünschte zu ermitteln
- Bei Matrixformeln oder Formeln mit Matrixfunktionalitäten nie über den gesamten Zeilenbereich auswerten sondern nur über den maximalst notwendigen Datenbereich.
- Du brauchst keine WENN()-Formelklammerung wenn Du einen Ergebniswert 0 mittels benutzerdefinieretn Zahlenformat ausblendest un die innere WENN() benötigt MAX() hier auch nicht.
Da Du XL2010 im Einsatz hast kannst Du hier eine AGGREGAT()-Formel in seiner MATRIXversion nutzen.
Gruß Werner
.. , - ...

Anzeige
AW: richtige Feststellungen doch ...
23.07.2015 15:53:46
P-Quest
Danke für die Tipps.
Ich arbeite mit, wie sie so schön genannt werden, "intelligenten" Tabellen. Damit sollte die Bereichsverkleinerung möglich sein.
Die Aggregat-Fktn. habe ich noch nie benutzt. Mein erster Versuch endete damit, dass für alle Werte das gleich Datum angezeigt wurde.
=AGGREGAT(4;6;Bewegungen[Datum])
ist natürlich Blödsinn, weil ich hier kein Suchkriterium angegeben habe. Allerdings habe ich keinen blassen Schimmer, wie ich das machen muss.
Hättest du einen Hinweis, wie ich richtig vorgehen muss?
Gruß,
Peter

AW: richtige Feststellungen doch ...
23.07.2015 16:11:56
P-Quest
ups...Häkchen vergessen

Anzeige
dazu ein AGGREGAT()-Formel-Beispiel ...
23.07.2015 16:13:02
der
Hallo Peter,
... welches sowohl Deinen letzte Angaben und Deiner Erstformelangabe weitestgehend entspricht.
Nachfolgend ist als Tabelle "Bewegungen" der Bereich B2:B9 definiert:
 ABCDE
1    Datum
2 DatumWert 09.07.15
3 05.07.151250,00 Größter Wert
4 07.07.15  999,00
5 09.07.15450,00  
6 09.07.15999,00  
7 09.07.15777,00  
8 11.07.151535,00  
9     

Formeln der Tabelle
ZelleFormel
E4=AGGREGAT(14;6;Bewegungen[Wert]/(Bewegungen[Datum]=E2); 1)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...

Anzeige
AW: dazu ein AGGREGAT()-Formel-Beispiel ...
23.07.2015 16:40:11
P-Quest
Hallo Werner,
es hat zwar 2 Anläufe gebraucht, aber dein Ansatz hat mich dann doch in die Lage versetzt, der Zeitvergeudung meiner Matrixversion die Stirn zu bieten. Keine Berechnungsgedenksekunden mehr.
Danke!

freut mich auch owT
23.07.2015 17:01:59
der
Gruß Werner
.. , - ...

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige