fender44
Goto Top

Excel 2007, Wennverkettungen bringen System an Lastgrenze

Ein Hallo an alle Mitglieder,
nachdem ich bereits seit Jahren immer wieder auf Administrator.de Lösungen für unterschiedlichste Aufgaben finden konnte, habe ich mich also heute hier als Mitglied angemeldet. Ich bin also ein NEWBI oder so ähnlich. Wie der Zufall so will, habe ich auch gleich ein Problem mit dabei.

Allgemeine Informationen zuerst:

Hardware: Dell OPTIPLEX 760, Intel Core 2 Duo, E7400 / 2,8 GHz, 2 GB Ram
Betriebssystem: Windows XP, Servicepack 3
Office 2007

Mein Problem:

ich erstelle derzeit mit Excel 2007 einen Urlaubsplanung / Einsatzplanung was bis auf den Punkt Einsatzplanung bisher alles super funktioniert hat. Urlaubsplan und Einsatzplan sind zwecks Überschaubarkeit in getrennten Tabellen/Sheets untergebracht. Mein Einsatzplan enthält 4.160 Zellen (15 Positionen x 5Tage x 52 Wochen) Ziel ist, die Inhalte der Urlaubsplanung (gleicher Aufbau) per Wennverkettung in die Einsatzplanung zu holen.

Hier die funktionierende Formel:

=WENN(F6=1;"Posteingang";WENN(F6=2;"Sesam";WENN(F6=3;"Hauspostverteilung";WENN(F6=4;"Spätdienst";WENN(F6=5;"Warenannahme";WENN(F6=6;"Schulung";WENN(F6=7;"Urlaub";WENN(F6=8;"Gleitzeit";WENN(F6=9;"Mutterschutz";WENN(F6=10;"Elternzeit";WENN(F6=11;"Sonderurlaub";WENN(Urlaubsplanung!L72="U";"U";WENN(Urlaubsplanung!L72="G";"G";WENN(Urlaubsplanung!L72="S";"S";WENN(Urlaubsplanung!L72="SU";"SU";"")))))))))))))))

hat alles bisher funktioniert. Nachdem ich die Wenn Abfragen (in der Formel Rot markiert) welche aus dem Sheet Urlaubsplanung die Inhalte holen soll eingegeben habe (4.160 mal) geht das System gnadenlos in die Knie.
Was ich irgendwie auch nachvollziehen kann. Speichern dauert dann ca. <5 Minuten.

An der Hardware kann ich nichts ändern, also muss ich entweder die Formel oder die herangehensweise ändern.

Hat vielleicht jemand der Mitglieder die gleiche oder eine ähnliche Aufgabenstellung?
Ist es evtl. möglich die Formel komplett auszulagern, sodass nicht in allen 4.160 Feldern die komplette Formel sondern nur ein Verweis / Link ? eingetragen werden muss?

Aktuell bin ich etwas Ratlos und wäre für Tips bzw. Lösungsvorschläge echt super Dankbar.


Mit freundlichem Gruß an die Gemeinde

Eduard Pühlhöfer
Kommentar vom Moderator Biber am Sep 08, 2011 um 19:41:37 Uhr
Verschoben von "Linux"-"Office" nach "Windows"-"Office"-"Excel"

Content-Key: 159591

Url: https://administrator.de/contentid/159591

Printed on: April 18, 2024 at 01:04 o'clock

Member: BigWim
BigWim Jan 27, 2011 at 15:36:10 (UTC)
Goto Top
Hallo Eduard,

den ersten (schwarzen) Teil der Formel würde ich erst einmal entschärfen.

Du legst Dir auf einen weiteren Arbeitsblatt eine Hilfstabelle an.

Spalte A Spalte B
1 Posteingang
2 Sesam

Dann kannst Du für den ersten Teil die Formel SVerweis benutzen

SVERWEIS(F6;<Range meiner neuen Hilfstabelle>;2;FALSCH)

Den Rest muß ich mir noch weiterüberlegen face-wink

Markus

Edit: die verunglückten Formatierungen nachgebessert.


Edit2:

Mein endgültiger Vorschlag wäre diese Formel:

WENN(Urlaubsplanung!L72 <> "";Urlaubsplanung!L72;Wenn(IstNV(SVERWEIS(F6;<Range meiner neuen Hilfstabelle>;2;FALSCH));"";SVERWEIS(F6;<Range meiner neuen Hilfstabelle>;2;FALSCH))

Je nachdem, welche Konstellation öfter vorkommt, könnte man die Formel noch drehen, sodass die (meist) erfolgreiche Bedingung voran steht.

Markus
Mitglied: 76109
76109 Jan 27, 2011 at 17:39:06 (UTC)
Goto Top
Hallo fender44!

Suche Dir eine Spalte und schreibe die folgende Einträge für Zelle F6 (1-11) untereinander z.B :
X1 = Posteingang
X2 = Sesam
...
X11 =Sonderurlaub

Dann integriere in Deine Wenn-Formel "Indirekt("X" & F6)"

Enthält die Zelle F6 z.B. den Wert 2 dann steht Indirekt("X" & F6) für Wert aus Zelle X2

Schematisch das Ganze in etwa so:
=WENN(UND(F6>=1;F6<=11);INDIREKT("X" & F6);WENN(ISTLEER(Urlaubsplan!L72);"Nothing";Urlaubsplan!L72))

Gruß Dieter
Member: 2hard4you
2hard4you Jan 30, 2011 at 20:11:37 (UTC)
Goto Top
Moin,

hat es denn geholfen? Dann bitte den Beitrag als gelöst kennzeichnen...

Danke

24
Member: fender44
fender44 Jan 31, 2011 at 07:05:08 (UTC)
Goto Top
Moin,

bin noch am kämpfen. Ist für mich nicht wirklich leicht zu verstehen. Werde jedoch umgehend berichten.

Gruß

Eduard
Member: BigWim
BigWim Jan 31, 2011 at 08:16:42 (UTC)
Goto Top
Moin,

bin noch am kämpfen. Ist für mich nicht wirklich leicht zu verstehen. Werde jedoch umgehend berichten.
Schreib doch mal womit face-wink

Markus
Member: Biber
Biber Jan 31, 2011 at 08:43:14 (UTC)
Goto Top
Moin fender44,

mach da nicht so'n Heckmeck drum.

Leg dir irgendwo, wo es nicht stört,
  • einen Bereich (zwei Spalten, links Zahl 1-11, rechte Spalte der Text) für die "Zeitarten", die du in Zelle F6 prüfst und benenne diesen Bereich auch "Zeitarten"
  • leg dir daneben eine Spalte an mit den 4 gültigen Werten, die du auf dem Blatt "Urlaubsplanung!L72" anerkennst (also "U";"G","S";"SU) und benenne den auch. Keine Ahnung, was das ist, nenne ich mal "U_G_S_SU" )

Dann kannst du als Formel eingeben:
=WENN(ISTNV(INDEX(U_G_S_SU;VERGLEICH(F6;U_G_S_SU;0)));WENN(ISTNV(SVERWEIS(Urlaubsplanung!L72;Zeitarten;2;FALSCH));"";SVERWEIS(Urlaubsplanung!L72;Zeitarten;2;FALSCH));F6)  

Vorteil:

  • es bleibt im Rahmen der Umstände lesbar

  • Zuerst werden die Zelle-F6-Werte geprüft und max 2x angefasst/gelesen (Wenn(IstNV(whatever_mit_f6), dann_prüfe_was anderes, sonst zeig einfach F6, weil is' richtig

  • Dann werden die Zelle-Urlaubsplanung-L72Werte geprüft und max 2x angefasst/gelesen (Wenn(IstNV(whatever_mit_L72), dann_zeig Leerstring, sonst MachNochmalWhateverMitF6)

Grüße
BIber