Discussion:
Wochenwerte in Monatswerte (taggenau) uebertragen
(zu alt für eine Antwort)
urs henkelmann
2006-09-13 11:44:03 UTC
Permalink
Moin zusammen!

Gibt es einen eleganten Weg (möglichst ohne Hilfsvariablen)
Kalenderwochenwerte in Monatswerte zu übertragen?

Ein Beispiel:

IST

-Woche- -Wert-
...
07-43 540
07-44 500
07-45 430
07-46 280
07-47 370
07-48 410
07-49 420
...

SOLL

-Monat- -Wert-
...
Okt 07 ?
Nov 07 1690
Dez 07 ?
...

Also hier die 44. KW 2007 auf die Monate Oktober (60%) und November
(40%) verteilen.
Falls erforderlich, kann ich sicher die Bezeichnungen für Woche und
Monat so umarbeiten dass sie im Datumsformat vorliegen (z.Zt. nur Text)

Hab selber vergeblich nach einer Lösung gesucht, denke aber, dass ich
nicht der erste mit dem Problem bin. Bin gespannt ob sich etwas findet.

Dank + Gruß,

Urs
Alexander Wolff
2006-09-13 12:43:32 UTC
Permalink
Die Tastatur von urs henkelmann wurde wie folgt gedrückt:


Interessante Aufgabe.

Zunächst ist zu bemerken, dass die größere Einheit Monat nicht die Grenze
der kleineren Einheit Kalenderwoche abbildet. Somit ist eine normale
Datensummierung hier nicht gegeben, sie muss vielmehr gleich die
überlappenden Grenzen hineinkalkulieren.

Als nächstes kommt zum Tragen, dass es nach DIN in einem Kalenderjahr im
Januar und Dezember die gleiche Kalenderwoche 1 und 52/53 geben kann: Wie
soll aber die Formel dies auswerten, ohne furchtbar lang zu werden?

Ich plädiere dafür, abweichend von der DIN eine evtl. Vorwoche eines Jahres
(mit mindestens 4 Tagen) stets als 0 zu werten und niemals die letzte Woche
als 1 (bei höchstens 3 Tagen) zu bezeichnen, sondern als 5x. Ich habe eine
entspr. Anfrage vor ein paar Tagen an www.excelformeln.de gerichtet; in der
Antwort wurde der Punkt als bislang nicht relevant gewertet.

Beispiel:

52-06 beinhaltet 8 Tage! Nämlich 1.1. und 25.12.-31.12.

Im Schaltjahr können dies sogar 9 Tage sein.

Wäre 06 ein Schaltjahr, gäbe es somit eine Woche 52 mit 8 Tagen und eine
Woche 53 mit 1 Tag (oder eine Woche 1 mit 8 Tagen). Äußerst gräßlich.

- Hier erst mal Abbruch, die Summenproduktformel will noch nicht so richtig.
Ich lasse Deine Liste 07-44 als Text und nehme als Monat Oktober 1.10.2007.
Vielleicht komme ich mit einer Lösung. -
--
Moin + Gruss Alexander - XPHome SP2 MSO 2000 SP3 +----5----6----5----7-2
Thomas Ramel
2006-09-13 12:58:06 UTC
Permalink
Grüezi Alexander und Urs

Alexander Wolff schrieb am 13.09.2006
Post by Alexander Wolff
Interessante Aufgabe.
In der Tat nicht ganz alltäglich.

Meines Erachtens wurde hier schon bei der Erfassung der Daten ein sehr
unglücklicher Zeitraum als Raster gewählt.
Besser wäre es gewesen, die Werte tageweise zu erfassen....
Post by Alexander Wolff
Zunächst ist zu bemerken, dass die größere Einheit Monat nicht die Grenze
der kleineren Einheit Kalenderwoche abbildet. Somit ist eine normale
Datensummierung hier nicht gegeben, sie muss vielmehr gleich die
überlappenden Grenzen hineinkalkulieren.
Das hat Urs ja schon erwähnt mit den 60/40 % je nach Anzahl Wochentagen die
in der KW enthalten sind - so jedenfalls habe ich es aufgefasst.
Post by Alexander Wolff
Als nächstes kommt zum Tragen, dass es nach DIN in einem Kalenderjahr im
Januar und Dezember die gleiche Kalenderwoche 1 und 52/53 geben kann: Wie
soll aber die Formel dies auswerten, ohne furchtbar lang zu werden?
Da das Jahr mit angegeben ist, dürfte dies klar abgrenzbar sein, denke ich
mal - einfacher wird es damit aber bestimmt nicht.

...schon gar nicht, wenn Urs keine Hilfsspalten erübrigen mag...


Daher würde ich wohl versuchen die Daten auf einzelne Tage hinunter zu
brechen.
In der ersten Spalte mit jeweils das entprechende Datum (den Zeitraum
müsste man ev. aus den Quelldaten auslesen) aufführen.
Über eine entsprechend formulierte KW-Berechnung mit Datum und Jahr liesse
sich dann der zugehörige Wert mit SVWERWEIS() aus den Quelldaten auslesen
und gleich durch 5 dividieren.
So hätten wir die Problematik mit den Jahres-Übergängen umgangen, wobei Urs
noch klären muss, wie diese Wochen in den Daten erfasst worden sind.....

Mit diesen aufgesplitteten Werten würde ich dann eine Pivot-Tabelle (was
sonst ;-)) erstellen in der die Kalender-Gruppierungen allesamt problemlos
gemacht werden können.


Einmal mehr zeigt sich hier, dass Kalenderwochen sehr wenig mit dem
effektiven Kalender zu tun haben....



Mit freundlichen Grüssen
Thomas Ramel (@work)
--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2003 SP-1]
Microsoft Excel - Die ExpertenTipps tinyurl.com/cmned
Alexander Wolff
2006-09-13 13:13:55 UTC
Permalink
Die Tastatur von Thomas Ramel wurde wie folgt gedrückt:

Hallo Thomas,
Post by Thomas Ramel
Post by Alexander Wolff
Zunächst ist zu bemerken, dass die größere Einheit Monat nicht die
Grenze der kleineren Einheit Kalenderwoche abbildet. Somit ist eine
normale Datensummierung hier nicht gegeben, sie muss vielmehr gleich
die überlappenden Grenzen hineinkalkulieren.
Das hat Urs ja schon erwähnt mit den 60/40 % je nach Anzahl
Wochentagen die in der KW enthalten sind - so jedenfalls habe ich es
aufgefasst.
... das wollte ich aus Datenbehandlungssicht nur noch mal betonen.
Post by Thomas Ramel
Post by Alexander Wolff
Als nächstes kommt zum Tragen, dass es nach DIN in einem
Kalenderjahr im Januar und Dezember die gleiche Kalenderwoche 1 und
52/53 geben kann: Wie soll aber die Formel dies auswerten, ohne
furchtbar lang zu werden?
Da das Jahr mit angegeben ist, dürfte dies klar abgrenzbar sein,
denke ich mal - einfacher wird es damit aber bestimmt nicht.
http://excelformeln.de/formeln.html?welcher=186 Spalte C weist da auf genau
dieses Problem hin. Aber Du hast recht: 52-06 ist 25.12.-31.12.06, während
52-05 in 2006 der 1.1.06 ist.
Post by Thomas Ramel
...schon gar nicht, wenn Urs keine Hilfsspalten erübrigen mag...
Ich tippe darauf, dass man es mit der Pöltschen Lösung so gerade eben ohne
Hilfsspalten schaffen könnte - ist aber durch nichts untermauert! Bestimmt
ist Klaus Perry Pago heute frischer als ich in meinem ungekühlten
(=uncoolen?) Büro.
Post by Thomas Ramel
Einmal mehr zeigt sich hier, dass Kalenderwochen sehr wenig mit dem
effektiven Kalender zu tun haben....
... wie überhaupt Wochen und Monate, nur Tage und Jahre.
--
Moin + Gruss Alexander - XPHome SP2 MSO 2000 SP3 +----5----6----5----7-2
Klaus "Perry" Pago
2006-09-13 15:52:38 UTC
Permalink
Hallo Alexander,
Post by Alexander Wolff
Post by Thomas Ramel
...schon gar nicht, wenn Urs keine Hilfsspalten erübrigen mag...
Ich tippe darauf, dass man es mit der Pöltschen Lösung so gerade eben ohne
Hilfsspalten schaffen könnte - ist aber durch nichts untermauert! Bestimmt
ist Klaus Perry Pago heute frischer als ich in meinem ungekühlten
(=uncoolen?) Büro.
nach einigem Hin- und Herprobieren bin ich bei dem Ansatz gelandet, alles
auf Tageswerte herunterzubrechen und monatlich zu addieren. Da aber nur zwei
"Laufvariablen" excelseitig zur Verfügung stehen - ZEILE() und SPALTE() -
und ständig Tages-, Wochen-, und Monatszahlen umgerechnet werden müssen,
tendiere ich auch zu einer Hilfsspaltenlösung. Claus hat da schon eine
schöne Lösung entwickelt. Ansonsten eine nette Aufgabe für VBA-ler. Ich
werde mich in einer meiner nächsten Mußestunden weiter mit einer
Matrixlösung beschäftigen.

Gruß
Klaus
Claus Busch
2006-09-13 21:37:33 UTC
Permalink
Hallo Urs, hallo Klaus,
Post by Klaus "Perry" Pago
Post by Alexander Wolff
Post by Thomas Ramel
...schon gar nicht, wenn Urs keine Hilfsspalten erübrigen mag...
Ich tippe darauf, dass man es mit der Pöltschen Lösung so gerade eben ohne
Hilfsspalten schaffen könnte - ist aber durch nichts untermauert! Bestimmt
ist Klaus Perry Pago heute frischer als ich in meinem ungekühlten
(=uncoolen?) Büro.
nach einigem Hin- und Herprobieren bin ich bei dem Ansatz gelandet, alles
auf Tageswerte herunterzubrechen und monatlich zu addieren. Da aber nur zwei
"Laufvariablen" excelseitig zur Verfügung stehen - ZEILE() und SPALTE() -
und ständig Tages-, Wochen-, und Monatszahlen umgerechnet werden müssen,
tendiere ich auch zu einer Hilfsspaltenlösung. Claus hat da schon eine
schöne Lösung entwickelt. Ansonsten eine nette Aufgabe für VBA-ler. Ich
werde mich in einer meiner nächsten Mußestunden weiter mit einer
Matrixlösung beschäftigen.
hab mal noch ein bisschen herumexperimentiert. Aber obwohl die Formel jetzt
sehr lang geworden ist, sehe ich im Moment keine Möglichkeit, es mit
weniger als 3 Hilfsspalten zu machen. Die Resttage sind die Tage, die noch
in den Vormonat fallen. Dementsprechend habe ich den Wert aufgeteilt:
http://www.claus-busch.de/KW2.xls
--
Mit freundlichen Grüssen
Claus Busch

Win XP Prof SP2; Office 2000 SP3
claus_busch(at)t-online.de
urs henkelmann
2006-09-14 08:03:08 UTC
Permalink
Hallo Claus, Thomas, alle!

Herzlichen Dank für euren Einsatz, selbst kurz vor Mitternacht!!

Ich hab das Problem unterschätzt, hatte z.B. ganz blauäugig vermutet
dass ich die KW als Datumsangabe verwenden kann.
Als Alternative also die KW z.B. in den jeweiligen Montag (:=TAG)
umwandeln (tara! die erste Hilfsspalte ist da )
Dann hätte ich mir eine Formel vorgestellt a la "KW-Wert*0,2 addieren
zu Monat(TAG), KW-Wert*0,2 addieren zu Monat(TAG+1),.,.,.,...zu
Monat(TAG+5)"
Schwierig für mich wäre, wie ich diese 5 unabhängigen Operationen in
eine Formel packen kann und wie ich das Feld für den jeweiligen
Monatswert gezielt ansprechen kann.
Mein Problem bei Claus Tabelle ist, dass er sich auf 7 Tage bezieht
statt auf 5 (hätte ich ausdrücklich sagen sollen). Bei der Formel in
Spalte D steige ich allerdings aus, daher weiß ich nicht ob ich es
selber auf 5 Tage anpassen kann.
Bei Thomas Variante sehe ich nur den "Makel" der vielen Zeilen, in
meiner Anwendung (bis 2011) ist das aber zu verkraften. Außerdem sehe
ich hier zum ersten Mal den Nutzen einer Pivot-Tabelle! Wieder was
gelernt :-)
Die Werte existieren übrigens nur als Wochenwerte, dort kann man also
leider nicht ansetzen.

Nochmal herzlichen Dank für eure Hilfe und euren Einsatz!

Grüße von Urs
Claus Busch
2006-09-14 09:14:16 UTC
Permalink
Hallo Urs,
Post by urs henkelmann
Hallo Claus, Thomas, alle!
Herzlichen Dank für euren Einsatz, selbst kurz vor Mitternacht!!
Ich hab das Problem unterschätzt, hatte z.B. ganz blauäugig vermutet
dass ich die KW als Datumsangabe verwenden kann.
Als Alternative also die KW z.B. in den jeweiligen Montag (:=TAG)
umwandeln (tara! die erste Hilfsspalte ist da )
Dann hätte ich mir eine Formel vorgestellt a la "KW-Wert*0,2 addieren
zu Monat(TAG), KW-Wert*0,2 addieren zu Monat(TAG+1),.,.,.,...zu
Monat(TAG+5)"
Schwierig für mich wäre, wie ich diese 5 unabhängigen Operationen in
eine Formel packen kann und wie ich das Feld für den jeweiligen
Monatswert gezielt ansprechen kann.
Mein Problem bei Claus Tabelle ist, dass er sich auf 7 Tage bezieht
statt auf 5 (hätte ich ausdrücklich sagen sollen). Bei der Formel in
Spalte D steige ich allerdings aus, daher weiß ich nicht ob ich es
selber auf 5 Tage anpassen kann.
Bei Thomas Variante sehe ich nur den "Makel" der vielen Zeilen, in
meiner Anwendung (bis 2011) ist das aber zu verkraften. Außerdem sehe
ich hier zum ersten Mal den Nutzen einer Pivot-Tabelle! Wieder was
gelernt :-)
Die Werte existieren übrigens nur als Wochenwerte, dort kann man also
leider nicht ansetzen.
Nochmal herzlichen Dank für eure Hilfe und euren Einsatz!
ich habe mich auf die volle Woche bezogen. Sonst hätte ich ja auch noch
berechnen müssen, welche Tage in der überlappenden Woche in den Vor- und
den Folgemonat fallen. Hier geht eine Woche von Montag bis Sonntag. Wenn
also eine Woche überlappt. aber nur Samstag und Sonntag im Folgemonat sind,
wäre nach deiner Annahme die komplette Woche noch im Vormonat. Aber diese
ganze Auswertung hätte ja noch mehr Hilfsspalten benötigt und ich wollte es
so einfach wie möglich halten. Dafür ist es bei mir dann taggenau.
--
Mit freundlichen Grüssen
Claus Busch

Win XP Prof SP2; Office 2000 SP3
claus_busch(at)t-online.de
Alexander Wolff
2006-09-13 13:23:43 UTC
Permalink
Post by urs henkelmann
Falls erforderlich, kann ich sicher die Bezeichnungen für Woche und
Monat so umarbeiten dass sie im Datumsformat vorliegen
Das bezweifle ich! Im Datum gibt es keine Woche.

Und 2007,44 bringt uns auch nicht so richtig weiter - statt mit LINKS und
RECHTS zu arbeiten, nimmt man dann REST und GANZZAHL.
--
Moin + Gruss Alexander - XPHome SP2 MSO 2000 SP3 +----5----6----5----7-2
Claus Busch
2006-09-13 13:35:04 UTC
Permalink
Hallo Urs,

Am 13 Sep 2006 04:44:03 -0700 schrieb urs henkelmann:

[Problem ausgeschnitten]

hier mal ein Ansatz mit 3 Hilfspalten. Die Aufsplittung könntest du auch
auf einem anderen Tabellenblatt machen, oder 2 der 3 Hilfspalten
ausblenden. Die Aufteilung der Werte geschieht nach Tagesanzahl im Vor-
bzw. Folgemonat. Aber vielleicht ist es ja ein Ansatz.
http://www.claus-busch.de/KW.xls
--
Mit freundlichen Grüssen
Claus Busch

Win XP Prof SP2; Office 2000 SP3
claus_busch(at)t-online.de
Thomas Ramel
2006-09-13 16:39:00 UTC
Permalink
Grüezi Urs und Claus

Claus Busch schrieb am 13.09.2006
Post by Claus Busch
hier mal ein Ansatz mit 3 Hilfspalten. Die Aufsplittung könntest du auch
auf einem anderen Tabellenblatt machen, oder 2 der 3 Hilfspalten
ausblenden. Die Aufteilung der Werte geschieht nach Tagesanzahl im Vor-
bzw. Folgemonat. Aber vielleicht ist es ja ein Ansatz.
http://www.claus-busch.de/KW.xls
...ich komme auch auf 3 Hilfsspalten (im Moment sind sie bis zeile 1000
ausgefülllt; es müssen immer 5x mehr Hilfszeilen sin, als KW-Daten
auszuwerten sind).
Dein Jahr wird als 1907 gewertet, das kann unter Umständen zu Konfusionen
führen.

Aber ansonsten sind unsere Lösungen sehr ähnlich:

http://users.quick-line.ch/ramel/Demo-Daten/kw_auf_tage.xls



Mit freundlichen Grüssen
Thomas Ramel
--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2000 SP-3]
Microsoft Excel - Die ExpertenTipps
Claus Busch
2006-09-13 17:01:00 UTC
Permalink
Hallo Thomas,
Post by Thomas Ramel
Grüezi Urs und Claus
Claus Busch schrieb am 13.09.2006
Post by Claus Busch
hier mal ein Ansatz mit 3 Hilfspalten. Die Aufsplittung könntest du auch
auf einem anderen Tabellenblatt machen, oder 2 der 3 Hilfspalten
ausblenden. Die Aufteilung der Werte geschieht nach Tagesanzahl im Vor-
bzw. Folgemonat. Aber vielleicht ist es ja ein Ansatz.
http://www.claus-busch.de/KW.xls
...ich komme auch auf 3 Hilfsspalten (im Moment sind sie bis zeile 1000
ausgefülllt; es müssen immer 5x mehr Hilfszeilen sin, als KW-Daten
auszuwerten sind).
Dein Jahr wird als 1907 gewertet, das kann unter Umständen zu Konfusionen
führen.
http://users.quick-line.ch/ramel/Demo-Daten/kw_auf_tage.xls
danke für den Hinweis. Habe das Jahr jetzt angepasst.
--
Mit freundlichen Grüssen
Claus Busch

Win XP Prof SP2; Office 2000 SP3
claus_busch(at)t-online.de
Alexander Wolff
2006-09-14 17:08:41 UTC
Permalink
Ich hab es nun geschafft, ohne Hilfsspalten.

Die Formel hat allerdings eine echte Länge von ca. 810 Zeichen. Daher habe
ich in mehreren Stufen Formeln benannt, damit man etwas mehr Übersicht
bekommt. Notwendig sind die Namen aber nicht.

Die KW-Eingabe erfolgt als 200744 (2007, 44. KW)

Die Anzahl der Wochentage ab inklusive Montag kann gewählt werden. 5 bspw.
bedeutet Mo-Fr. Das bedeutet, daß die Daten der Kalenderwoche nur auf die
Mo-Fr des Monats aufgeteilt werden, entsprechend auch beim Monatswechsel. 7
bedeutet entsprechend Mo-So. Durch Wechsel des Feldes Wochentage kann man
sofort die Auswirkungen auf die Monate sehen.

http://mitglied.lycos.de/tkalk/dateien/newsKWinMonateAufteilen.xls

Ausblick:

Um Di-Fr oder Fr-Mo zu ermöglichen, müßte man ein flexibles Pendant zur
Pöltschen Formel schaffen, was ich mir hier mal geschenkt habe.

Auch eine unterschiedliche Aufteilung auf die Wochentage könnte man
vielleicht erreichen, z.B. um Wochenstunden a la 8,5/8,5/8,5/8,5/4,5 auch
aufzuteilen. Als nächstes stellt sich bei derartiger Genauigkeit dann die
Berücksichtigung von Feiertagen.


Gruss Alexander
Klaus "Perry" Pago
2006-09-14 17:50:46 UTC
Permalink
Hallo Alexander,
Post by Alexander Wolff
Ich hab es nun geschafft, ohne Hilfsspalten.
Respekt!!!
Post by Alexander Wolff
Die Formel hat allerdings eine echte Länge von ca. 810 Zeichen. Daher habe
ich in mehreren Stufen Formeln benannt, damit man etwas mehr Übersicht
bekommt. Notwendig sind die Namen aber nicht.
poste doch 'mal die Formel

Gruß
Klaus
Alexander Wolff
2006-09-14 21:37:49 UTC
Permalink
Post by Klaus "Perry" Pago
Post by Alexander Wolff
Ich hab es nun geschafft, ohne Hilfsspalten.
Respekt!!!
Post by Alexander Wolff
Die Formel hat allerdings eine echte Länge von ca. 810 Zeichen. Daher
habe ich in mehreren Stufen Formeln benannt, damit man etwas mehr
Übersicht bekommt. Notwendig sind die Namen aber nicht.
poste doch 'mal die Formel
Hast Du die Datei angeschaut? Hm ... das ist ja eine fiese Frage :). Bis

=SUMMENPRODUKT((("4.1."&GANZZAHL(KW%))+REST(KW;100)*7-REST("2.1."&GANZZAHL(KW%);7)>=D2)*(("4.1."&GANZZAHL(KW%))+REST(KW;100)*7-REST("2.1."&GANZZAHL(KW%);7)<D3)*TageLfdMo/Wochentage*Werte+(("4.1."&GANZZAHL(KW%))+REST(KW;100)*7-REST("2.1."&GANZZAHL(KW%);7)>=D2+32-TAG(D2+31))*(("4.1."&GANZZAHL(KW%))+REST(KW;100)*7-REST("2.1."&GANZZAHL(KW%);7)<D3+32-TAG(D3+31))*(Wochentage-TageLfdMo)/Wochentage*Werte)

gelingt das Einsetzen. Versuche ich jedoch, auch noch "TageLfdMo" zu
ersetzen, kommt es zu falschen Ergebnissen.

Warum, kann ich nach 3 durchgeführten Versuchen nicht sagen. Ist die
Schachtelung von 8 Funktionen erreicht und kann nur durch Benennung darüber
hinaus gehender Teile ausgehebelt werden? (Abhilfe wird hier Excel 12
bringen.) Wenn ich mir aber die Formel anschaue, sehe ich so viele Ebenen
nicht. Also: woran liegt es nun?

Ich bin jedenfalls der Ansicht, dass das Benennen von Formelbestandteilen
keine Verwendung von Hilfsspalten darstellt, sondern das Mittel der Wahl bei
komplexen Formeln darstellt.

Gruss Alexander
Klaus "Perry" Pago
2006-09-14 22:05:08 UTC
Permalink
Hallo Alexander,

"Alexander Wolff" <***@gmx.de> schrieb im Newsbeitrag news:eeci3h$f9r$00$***@news.t-online.com...

[..]
Post by Alexander Wolff
Hast Du die Datei angeschaut? Hm ... das ist ja eine fiese Frage :). Bis
=SUMMENPRODUKT((("4.1."&GANZZAHL(KW%))+REST(KW;100)*7-REST("2.1."&GANZZAHL(KW%);7)>=D2)*(("4.1."&GANZZAHL(KW%))+REST(KW;100)*7-REST("2.1."&GANZZAHL(KW%);7)<D3)*TageLfdMo/Wochentage*Werte+(("4.1."&GANZZAHL(KW%))+REST(KW;100)*7-REST("2.1."&GANZZAHL(KW%);7)>=D2+32-TAG(D2+31))*(("4.1."&GANZZAHL(KW%))+REST(KW;100)*7-REST("2.1."&GANZZAHL(KW%);7)<D3+32-TAG(D3+31))*(Wochentage-TageLfdMo)/Wochentage*Werte)
gelingt das Einsetzen. Versuche ich jedoch, auch noch "TageLfdMo" zu
ersetzen, kommt es zu falschen Ergebnissen.
Warum, kann ich nach 3 durchgeführten Versuchen nicht sagen. Ist die
Schachtelung von 8 Funktionen erreicht und kann nur durch Benennung
darüber hinaus gehender Teile ausgehebelt werden? (Abhilfe wird hier Excel
12 bringen.) Wenn ich mir aber die Formel anschaue, sehe ich so viele
Ebenen nicht. Also: woran liegt es nun?
ich habe diesen Effekt auch schon festgestellt und vermutet, dass nicht ein
(von mir so benannter) Makroeffekt eintritt, bei dem die durch den Namen
definierte Befehlsfolge den Makronamen ersetzt, sondern eher ein
Unterprogrammaufruf stattfindet. Der zur Verfügung stehende Speicher scheint
aber jeweils auf 1024(?) Zeichen beschränkt zu sein. Umgekehrt klappt es
immer: erst die Monsterformel durch Einsetzen von "Bausteinen" ans Laufen
bekommen und dann mit Verkürzungen durch Namen die Formel transparent zu
gestalten.
Post by Alexander Wolff
Ich bin jedenfalls der Ansicht, dass das Benennen von Formelbestandteilen
keine Verwendung von Hilfsspalten darstellt, sondern das Mittel der Wahl
bei komplexen Formeln darstellt.
ich sehe das auch so - die Hinweise, die man dann für die Eingabe solcher
Formeln geben muss, wenn man nicht wie du den Link auf eine Beispieldatei
geben kann, sind natürlich umfangreicher. Aber auch ein ungeübter Excel-User
könnte eine Menge lernen, wenn die Anleitung so gut ist, dass er es damit
alleine hinbekommt.

Gruß
Klaus
Alexander Wolff
2006-09-14 22:58:16 UTC
Permalink
Post by Klaus "Perry" Pago
Post by Alexander Wolff
darüber hinaus gehender Teile ausgehebelt werden? (Abhilfe wird hier
Excel 12 bringen.) Wenn ich mir aber die Formel anschaue, sehe ich so
viele
Dazu sei noch bemerkt: Das in jeder Hinsicht erweiterte Excel 12 wird uns
viele Lösungen generieren, die nicht rückwärtskompatibel sind, da sie wohl
nicht auf älteren Versionen getestet werden. Auf die Geschwindigkeit auf
gleicher Umgebung bin ich gespannt! Ich kann mir eigentlich nur einen
Geschwindigkeitseinbruch auf etwa 50% vorstellen, getestet an alten
Modellen.
Post by Klaus "Perry" Pago
ich habe diesen Effekt auch schon festgestellt und vermutet, dass nicht
ein (von mir so benannter) Makroeffekt eintritt, bei dem die durch den
Namen definierte Befehlsfolge den Makronamen ersetzt, sondern eher ein
Unterprogrammaufruf stattfindet. Der zur Verfügung stehende Speicher
scheint aber jeweils auf 1024(?) Zeichen beschränkt zu sein. Umgekehrt
klappt es immer: erst die Monsterformel durch Einsetzen von "Bausteinen"
ans Laufen bekommen und dann mit Verkürzungen durch Namen die Formel
transparent zu gestalten.
Ich habs mal in OpenOffice versucht, aber dort scheinen Vektoren anders zu
funktionieren. Schreibe ich nämlich in B10 =KW, wenn KW A2:A55 benamt, gibt
mir B10 den Inhalt von A10, nicht etwa von A2. Ich muss allerdings zugeben,
dass ich mich mit OO fast überhaupt nicht auskenne. Vielleicht ist die
Schachtelungstiefe dort schon jetzt höher - 9x WENN ineinander jedenfalls
funktioniert.
Post by Klaus "Perry" Pago
Post by Alexander Wolff
Ich bin jedenfalls der Ansicht, dass das Benennen von Formelbestandteilen
keine Verwendung von Hilfsspalten darstellt, sondern das Mittel der Wahl
bei komplexen Formeln darstellt.
ich sehe das auch so - die Hinweise, die man dann für die Eingabe solcher
Formeln geben muss, wenn man nicht wie du den Link auf eine Beispieldatei
geben kann, sind natürlich umfangreicher. Aber auch ein ungeübter
Excel-User könnte eine Menge lernen, wenn die Anleitung so gut ist, dass
er es damit alleine hinbekommt.
Es bleibt letztlich eine Materie für etwas Fortgeschrittene. Der Anfänger
ist mit Hilfsspalten besser bedient, wenn er sein Modell ohne viel
Einarbeitung auch später beherrschen möchte.

Gruss Alexander
urs henkelmann
2006-09-15 06:28:44 UTC
Permalink
Super!!

Ich bin echt beeindruckt. Wenn es denn vorher diese Problemstellung
noch nicht gab, dann können in Zukunft hoffentlich noch andere von
dieser (universellen) Lösung profitieren!

Beim Nachvollziehen scheitere ich aber an ganz einfachen Dingen, z.B.
die Ergebnisse in Spalte E sind ein Verweis auf "Aufteilwert". Diesen
String sehe ich an drei Stellen im Blatt (E1, I2 und I14), aber
nirgendwo dort sehe ich den Bezug auf die Formel.
Anderes Beispiel: In Zelle G4 wird auf "WAHL" verwiesen, das müsste
der Wert in Zelle G2 sein. Aber wo ist der Bezug zwischen G2 und WAHL
definiert?
Würde gerne wissen, wie das funktioniert...

Gruß + Dank

Urs

PS: Jetzt auch noch nach Mitternacht...hat sich jemand provoziert
gefühlt? :-)
Alexander Wolff
2006-09-15 08:25:48 UTC
Permalink
Post by urs henkelmann
Ich bin echt beeindruckt. Wenn es denn vorher diese Problemstellung
noch nicht gab, dann können in Zukunft hoffentlich noch andere von
dieser (universellen) Lösung profitieren!
Danke!
Post by urs henkelmann
Beim Nachvollziehen scheitere ich aber an ganz einfachen Dingen, z.B.
die Ergebnisse in Spalte E sind ein Verweis auf "Aufteilwert". Diesen
String sehe ich an drei Stellen im Blatt (E1, I2 und I14), aber
nirgendwo dort sehe ich den Bezug auf die Formel.
Rechts in Spalte I siehst Du die Benennungslegende. Benennen tut man <Name>
beziehtSichAuf <Formel> im Dialog Einfügen Namen Definieren. Man kann also
auch Formeln, nicht nur Zellen, benennen. Auch wenn dadurch keine echte
"Funktion" entsteht (die mittels VBA möglich wäre), so ist dieses Verfahren
gut, um
Post by urs henkelmann
Anderes Beispiel: In Zelle G4 wird auf "WAHL" verwiesen, das müsste
der Wert in Zelle G2 sein. Aber wo ist der Bezug zwischen G2 und WAHL
definiert?
G4: =WAHL(Wert_aus_G2;Falls_G2=1_dann_"Mo";Falls_2...;Falls_7_dann_"So")
Post by urs henkelmann
PS: Jetzt auch noch nach Mitternacht...hat sich jemand provoziert
gefühlt? :-)
Ja. Dein Problem war für mich hervorstechend, da es zwischen Datenbank und
Tabellenkalkulation eine starke Neigung zu letzterer aufweist. :-) Zu
Datenbanken unterschiedlich ist es, da KW-Monat weder eine 1:1, n:1 noch n:m
Beziehung darstellt, sondern nur deren gemeinsame Teiler "Tag" eine
n:m-Beziehung zwischen den Oberbegriffen herstellen. Eine restlose
Aufteilung mittels Formel ist nur aufgrund einer symmetrischen Eigenschaft
der Aufteilung möglich, die aber durch die gleichbleibende Länge von "Woche"
vorliegt.
--
Moin + Gruss Alexander - XPHome SP2 MSO 2000 SP3 +----5----6----5----7-2
Alexander Wolff
2006-09-15 08:41:08 UTC
Permalink
Post by Alexander Wolff
Rechts in Spalte I siehst Du die Benennungslegende. Benennen tut man
<Name> beziehtSichAuf <Formel> im Dialog Einfügen Namen Definieren.
Man kann also auch Formeln, nicht nur Zellen, benennen. Auch wenn
dadurch keine echte "Funktion" entsteht (die mittels VBA möglich
wäre), so ist dieses Verfahren gut, um
- habe vergessen, fertig zu schreiben! -

Formeln sinnvoll in Bestandteile zu zerlegen,

lange Zellformeln überhaupt erst zu ermöglichen,

VBA- und Makrofunktions-Alerts zu vermeiden,

Schachtelungstiefen von Funktionen (max. 8, von Klammern: max. 31)
auszuhebeln und

nicht zuletzt starre Vektoren zu bauen (d.h. Formeln, die immer auf die
relativ dazu gleiche Zelle verweisen, womit man die Korrumption von
zeilenwertfortschreibenden Formeln nach Einfügen oder Löschen von Zeilen
umgeht).
--
Moin + Gruss Alexander - XPHome SP2 MSO 2000 SP3 +----5----6----5----7-2
Alexander Wolff
2006-09-15 12:09:25 UTC
Permalink
Bei der Verwendung von langen oder benannten Formeln vs. Hilfsspalten könnte
ins Gewicht fallen:

Contra benannte Formeln:

a) Arrayformeln (also {} oder SUMMENPRODUKT) sind tendenziell langsamer als
Einzelformeln. Sie werden jedoch oft notwendig, wenn man Hilfsspalten
vermeiden möchte. Bei langen Tabellen potenziert sich der Nachteil, da statt
{Tabellenlänge} Rechenvorgängen dann oft {Tabellenlänge}² Vorgänge notwendig
sind. Das kann drastisch sein: 1 komplexe Zeilenberechnung dauere 0,001
Sekunden. 10.000 brauchen dann 10 Sekunden. Bei Arrays ergeben sich jedoch
0,001 x 10.000² = 100.000 Sekunden - also mehr als ein Tag. In der Realität
verhalten sich die Probleme zeitlich nicht ganz so drastisch, da die
Arrayformeln nicht in der hohen Anzahl wie die zugrundeliegenden Daten
verlangt sind.

b) Da die Arrayformeln nicht portabel zu anderen Programmen sind
(http://de.openoffice.org/ und http://www.byedesign.freeserve.co.uk/ haben
Ansätze, aber sind bei der Übernahme sehr fehlerträchtig), sind bei dieser
Anforderung Hilfsspalten besser. Das gilt vor allem für PocketExcel als
naheliegende Austauschapplikation.

c) Formelcode wird durch Hilfsspalten minimiert und dadurch schneller. Das
gilt ab dem ersten Auftreten von Berechnung von Zwischenschritten als
"milestone"-Hilfsspalten, die dann nicht mehr, wie in einer langen Formel
nötig, mehrfach berechnet werden müssen. Man könnte vulgär auch sagen: Durch
Arrayformeln wird der Ferrari im 1. Gang gefahren, was dem Goggo-Besitzer
immer noch schnell vorkommt.

Pro benannte Formeln:

d) Die Kapselung in einer einzigen langen oder benannten Formel ist vom
Design her sauberer - wie in Programmiersprachen. Bei benannten Formeln wird
allerdings nicht, wie man erwarten könnte, dadurch die Dateigröße gegenüber
nur langen Formeln wesentlich verkleinert. Das wäre erst bei
Makrofunktionen/VBA der Fall. Dort kämen dann alle Vorteile zusammen:
Modularität wie bei benannten Formeln, Geschwindigkeit (theoretisch!) und
geringe Größe.
--
Moin + Gruss Alexander - XPHome SP2 MSO 2000 SP3 +----5----6----5----7-2
Loading...