Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Formel verkürzen --> zu lange Speicherzeit

Formel verkürzen --> zu lange Speicherzeit
13.08.2008 13:10:00
Albin
Hallo
Meine Formel funktioniert gut, aber da die Formel sehr lang ist und ich sie in viele Zeilen kopiert habe, dauert das Speichern einer Tabelle 15 Minuten! Ich will aber 30 solche Tabellen anfertigen, das heisst ich würde dann immer mehrere Stunden warten bis das Ding gesichert ist! Das kann nicht sein.
Deshalb, kann mir jemand helfen, wie ich diese Formel in Zelle I15 verkürzen kann? Vielleicht die L$L durch einen Range L:L ersetzen, so dass ich dann nicht jede der 11 Zellen einzeln in Spalte L ansteuern muss? Das würde die Formel erheblich verkürzen, nur weiss ich nicht wie das umsetzen. Besten Dank für jeden Tipp!
=WENN(L$1="";0;SUMMEWENN(INDIREKT("'"&L$1&"'!$G$1:$G$1869");B15;INDIREKT("'"&L$1&"'!$R$1:$R$1869"))) +WENN(L$2="";0;SUMMEWENN(INDIREKT("'"&L$2&"'!$G$1:$G$1869");B15;INDIREKT("'"&L$2&"'!$R$1:$R$1869"))) +WENN(L$3="";0;SUMMEWENN(INDIREKT("'"&L$3&"'!$G$1:$G$1869");B15;INDIREKT("'"&L$3&"'!$R$1:$R$1869"))) +WENN(L$4="";0;SUMMEWENN(INDIREKT("'"&L$4&"'!$G$1:$G$1869");B15;INDIREKT("'"&L$4&"'!$R$1:$R$1869"))) +WENN(L$5="";0;SUMMEWENN(INDIREKT("'"&L$5&"'!$G$1:$G$1869");B15;INDIREKT("'"&L$5&"'!$R$1:$R$1869"))) +WENN(L$6="";0;SUMMEWENN(INDIREKT("'"&L$6&"'!$G$1:$G$1869");B15;INDIREKT("'"&L$6&"'!$R$1:$R$1869"))) +WENN(L$7="";0;SUMMEWENN(INDIREKT("'"&L$7&"'!$G$1:$G$1869");B15;INDIREKT("'"&L$7&"'!$R$1:$R$1869"))) +WENN(L$8="";0;SUMMEWENN(INDIREKT("'"&L$8&"'!$G$1:$G$1869");B15;INDIREKT("'"&L$8&"'!$R$1:$R$1869"))) +WENN(L$9="";0;SUMMEWENN(INDIREKT("'"&L$9&"'!$G$1:$G$1869");B15;INDIREKT("'"&L$9&"'!$R$1:$R$1869"))) +WENN(L$10="";0;SUMMEWENN(INDIREKT("'"&L$10&"'!$G$1:$G$1869");B15; INDIREKT("'"&L$10&"'!$R$1:$R$1869") ))+WENN(L$11="";0;SUMMEWENN(INDIREKT("'"&L$11&"'!$G$1:$G$1869"); B15; INDIREKT("'"&L$11&"'!$R$1:$R$1869")))
http://www.xlupload.de/download.php?file=416KS-Budget.xls
Gruss Albin

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel verkürzen --> zu lange Speicherzeit
13.08.2008 14:47:00
Franc
Also so selten wie die Formel da drin vorkommt, kann es nicht daran liegen.
Bei mir dauert das speichern auch nur 1 sek und ich konnte bei einem ersten Überfliegen nichts ungewöhnliches entdecken.
Speicherst du die Datei eventuell auf einem Netzlaufwerk was diese große Verzögerung verursacht?

AW: Formel verkürzen --> zu lange Speicherzeit
13.08.2008 14:52:53
Albin
Ja ich speichere diese Datei auf einem Netzlaufwerk, das funktioniert aber normalerweise schnell.
Das Problem ist, dass diese Formel in 3 Spalten und in 1500 Zellen drin ist.
Die Datei ist stark verkleinert, dass ich sie überhaupt uploaden konnte.
Gruss Albin

Anzeige
AW: Formel verkürzen --> zu lange Speicherzeit
13.08.2008 14:59:08
Franc
hm du könntest die original Datei zippen ^^
Wie groß ist denn das original in MB und ist die größe allein durch die Formeln bedingt? (also hast jetzt nur die Formeln gelöscht, damit sie nur noch 290 KB klein ist?)

AW: Formel verkürzen --> zu lange Speicherzeit
13.08.2008 15:43:00
Albin
ich hab massig Tabellen und auch Zeilen gelöscht. Hab die Datei mal gezippt, ist immer noch 4,5 MB gross

AW: Formel verkürzen --> zu lange Speicherzeit
13.08.2008 16:00:13
David
Hi.
Du kannst Teile deiner Formel "auslagern", indem du dafür Namen definierst, hier für die INDIREKT-Ausdrücke.
Ich habe dir mal eine Formel zusammengebastelt, als Beispiel und zum Verdeutlichen des Prinzips.
https://www.herber.de/bbs/user/54582.xls
Ich bin der Meinung, dass das Ganze auch einfacher (Matrixformel?) zu realisieren ist, die entscheidende Erleuchtung hat sich aber leider noch nicht eingestellt.
Gruß
David

Anzeige
AW: Formel verkürzen --> zu lange Speicherzeit
13.08.2008 16:07:00
Albin
sieht schon viel kürzer aus, nur wie kopiere ich diese Formel dann in die anderen Spalten ohne den Bezug zur richtigen Quellspalte von der Quelltabelle zu verlieren?

AW: Formel verkürzen --> zu lange Speicherzeit
13.08.2008 16:19:08
David
Von oben nach unten funzt das kopieren ohne weitere Anpassungen. Die Formel rechts neben meinem Beispiel musst du dann derart anpassen, dass du jeweils den Ausdruck
INDIREKT("'"&L$1&"'!$G$1:$G$1869")
ersetzt durch
L1K
(die Zahlen dann natürlich durchnummerieren)
Anschließend kannst du dann auch diese Formel von oben nach unten kopieren.
Gruß
David

Anzeige
AW: Formel verkürzen --> zu lange Speicherzeit
13.08.2008 16:33:44
Albin
1. wo sagst du dem excel, was L1K bedeutet?
2. wo sagst du dem excel, ob er zahlen in der quellspalte p, q oder r holen soll?
danke!
Gruss Albin

AW: Formel verkürzen --> zu lange Speicherzeit
13.08.2008 16:40:00
David
1. Menü Einfügen - Namen - Namen definieren
2. in der Formel
Du musst doch einfach nur deine Formel als Vorlage nehmen. Beispiel:

=WENN(L$1="";0;SUMMEWENN(INDIREKT("'"&L$1&"'!$G$1:$G$1869");B15;
INDIREKT("'"&L$1&"'!$q$1:$q$1869")))/istmonat*istjahr+WENN(L$2="";0;
SUMMEWENN(INDIREKT("'"&L$2&"'!$G$1:$G$1869");B15;INDIREKT("'"&L$2&"'!$q$1:$q$1869")))
/istmonat*istjahr+WENN(L$3="";0;SUMMEWENN(INDIREKT("'"&L$3&"'!$G$1:$G$1869");
B15;INDIREKT("'"&L$3&"'!$q$1:$q$1869")))/istmonat*istjahr


Den fett markierten Teil fügst du wie oben beschrieben, als Namen "L1K" (oder wie auch immer) ein, indem du beim Verweis für diesen Namen =INDIREKT("'"&L$1&"'!$G$1:$G$1869") eingibst. In deiner Formel ersetzt du dann diesen String durch den eben definierten Namen. Voila!
Kleine Falle noch in deinem Fall: Du hast bei &L$1 zwar die "1" festgemacht, dass "L" aber nicht, dort immer noch ein $ davor setzen.
Für die anderen halt ebenso, bis du die 10 oder mehr Teile einer Formel zusammengebaut hast. Diese kannst du dann einfach nach unten kopieren.
Gruß
David

Anzeige
AW: Formel verkürzen --> zu lange Speicherzeit
13.08.2008 16:58:00
Albin
1. das mit dem Namen definieren wusste ich nicht, toll!
2. ich meine nicht "INDIREKT("'"&L$1&"'!$G$1:$G$1869"", sondern !$q$1:$q$1869"
müsste in nachstehendem Beispiel nicht überall L1W stehen? Denn mein Total ist nur aus L1 und L2 bestehend, L3 fehlt.
=WENN(L$1="";0;SUMMEWENN(L1K;B15;L1W))+WENN(L$2="";0;SUMMEWENN(L2K;B15;L1W))+WENN(L$3="";0; SUMMEWENN(L3K;B15;L1W))
Hab wieder einiges gelernt, danke!
Gruss Albin

AW: Formel verkürzen --> zu lange Speicherzeit
13.08.2008 17:20:00
David
K habe ich für "Kriterium" gewählt und W für Wert. In der Summewenn-Formel fragst du vorn eine Suchspalte ab (L1K) und bildest dann die Summe über die Wert-Spalte (L1W). Meine Beispielformel hatte zumindest bei mir den richtigen Wert geliefert. Prüfe, ob du wirklich die exakte Syntax in den Namen übernommen hast, insbesondere die $-Zeichen.
Du kannst die Formel auch Schritt für Schritt prüfen, indem du im Menü Extras - Formelüberwachung - Formelauswertung aktivierst und dich in dem Fenster durch die Formel klickst. Dann siehts du evtl., an welcher Stelle es hakt.
Ansonsten kann ich mich nur den anderen anschließen, dass die Struktur deiner Tabelle recht "unglücklich" ist, um es mal vorsichtig zu formulieren.
Gruß
David

Anzeige
AW: Formel verkürzen --> zu lange Speicherzeit
13.08.2008 15:33:00
Daniel
Hi
ich glaube nicht, daß die Formellänge das Problem ist.
SummeWenn ist halt nunmal einfach eine langsame Formel, und wenn die mehrfach hintereinander mit einem grossen Suchbereich vorkommt, dann dauerts halt, da kann man nichts machen.
außer sich vielleicht überlegen, wie die Daten anders aufgebaut werden könnten, so daß man SummeWenn vermeiden kann. Oder die Daten in den einzelnen Tabellen müssten so umsortiert werden, daß die relevanten Zeilen in einem kleinen Zellbereich stehen, so daß du für SummeWenn ne kleiner Matrix angeben kannst.
aber um zu testen, ob meine Vermutung richtig ist, könntest du ja mal folgendes Machen:
- vor dem Speichern unter EXTRAS-OPTIONEN-BERECHNUG auf "manuell" umstellen und das häkchen bei "vor dem Speichern neu berechnen" entfernen.
Gruß, Daniel

Anzeige
AW: Formel verkürzen --> zu lange Speicherzeit
13.08.2008 15:38:48
Albin
danke. Dein Tipp "vor dem Speichern unter EXTRAS-OPTIONEN-BERECHNUG auf "manuell" umstellen" hab ich vorher schon mal probiert, mit mittlerem Erfolg.
Ich dachte halt, vielleicht könnte man die Formel insofern verkürzen, dass man statt 11mal dieselbe Formel für die Zellen in Spalte L braucht, nur eine Formel macht, die gleich die ganze Spalte L miteinschliesst (L:L). Weisst du was ich meine?
Gruss Albin

AW: Formel verkürzen --> zu lange Speicherzeit
13.08.2008 15:51:19
Daniel
Hi
ich glaube, auf die Frage hatte ich dir schon was geantwortet.
wobei das nicht die Berechnungszeit verkürzt, weil die SummeWenns ja ausgeführt werden müssen.
wenn du hier was erreichen willst, dann müsste man sich grundsätzlich mal über den Aufbau deiner Tabellen Gedanken machen, um die Werte u.U. mit effektiveren Methoden auszuwerten.
Gruß, Daniel

Anzeige
AW: Formel verkürzen --> zu lange Speicherzeit
13.08.2008 16:00:00
Albin
Hi
Ja die SummeWenns müssten trotzdem ausgeführt werden, aber es wären 11mal weniger SummeWenns.
Mittlerweilen dauerts schon nicht mehr so lange wie zuvor, für den Moment gehts so, langfristig muss ich mir da was überlegen.
Ich hab die Tabelle übernommen von einem Kollegen, werde sie nächstes Jahr wohl neu aufbauen.
Gruss und besten Dank
Albin

307 Forumthreads zu ähnlichen Themen


Hallo Hans,
wenn ich die URLs richtig interpretiere, haben wir im Forum soeben die Zahl von 1 Million Beiträgen überschritten.
Herzlichen Glückwunsch zu dem Erfolg Deines "Babys"!
Gruß
Martin
Anzeige

Hallo zusammen!
Ich habe da als blutiger Anfänger in VBA zwei Fragen:
1.) Wie kann ich in meiner Tabelle in jeder zweiten Spalte 4 leere Spalten einfügen lassen?
2.) Dann möchte ich unter den Inhalt der ersten fünf Spalten (A-E) den Inhalt der zweiten 5 Spalten (F-J) usw. In der grö...

Guten Morgen!
Ich hätte folgendes Problem: Ich erhalte automatisiert Exceltabellen, bei denen nicht alle Zellen einer Zeile gefüllt werden, wenn dort der Inhalt einer darüberliegenden Zeile stehen sollte. Zur Weiterverarbeitung muss ich aber diese Zellen mit den dazugehörigen Werten füllen....
Anzeige

Hallo zusammen,
ich habe eine lange Liste, in der in einer Spalte Daten stehen, wo ab und zu vorangehende Nullen nötig sind (mal eine - mal 2...etc.) - und manchmal auch keine.
Wie kann ich diese Zellen formatieren, das die vorangehenden "Nullen" nicht automatisch weggelassen werden?

Hallo Excel-Profis
ich habe folgenden Code in ein Makro eingebaut:
'Drucken mit Vorschau
Application.ActivePrinter = "\\dataserv\HP LaserJet 5L AV auf Ne05:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Preview:=True, Collate:= _
True
Hier wird der Standard-Drucker an...

Hallo,
Ich brauche dringend Eure Hilfe. Unter https://www.herber.de/bbs/user/54533.xls findet Ihr eine Mappe, in welcher in Spalte A
1 für "Kaufen"
0 für " "
-1 für "Verkaufen"
steht. IN SPALTE B SIND BISHER NUR MANUELL ERSTELLTE BEISPIELEINTRÄGE ENTHALTEN, DAMIT ERSICHTLIC...
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige