HalloWenn-Grusel
31.10.2016 20:44:46
Luc:-?
nein, das ist kein Schreibfehler im Betreff, sondern hat einen ganz bestimmten Grund und Zweck. Denn in der heutigen GruselNacht geht's mir mal um eine der 3 am häufigsten benutzten Xl-Fktt — WENN. Wer meint, das wäre doch kalter Kaffee und völlig uninteressant, muss sich ja das Folgende nicht antun — es wäre viell aber besser…!
Übrigens, die Xl-VersionsAngabe bezieht sich nur auf die Version, mit der ich das Folgende ermittelt und getestet habe.
Nun, ich habe nicht das ganze Internet nach Erläuterungen abgesucht, nur in der Xl-Hilfe, im hier oft verlinkten Online-Excel-Tutorium und darüber hinaus noch die anderen ersten 8 Einträge in der Google-Suche überflogen. Alle konzentrieren sich auf den inhaltlichen Aspekt, keiner befasst sich mit der erstaunlichen PgmTechnik dahinter. Nur in der Xl-Hilfe steht (bzw stand) irgendwo ganz lapidar und allgemein zu Fmln, dass diese durch Xl optimiert würden. Worauf sich das bezieht und wie sich das auswirkt, steht nirgendwo.
Nun ist aber Daniel E. (slowboarder) als wohl Erstem aufgefallen, was im Falle von WENN in einer Fml tatsächlich geschieht → sogar die Berechnung der Argumente 2 und 3 hängt von Argument 1 ab, nicht nur ihre Auswahl. Das ist eine für eine Fkt nicht zu erwartende Verhaltensweise, denn dadurch wird Einfluss auf ihr übergebene Argumente genommen bevor diese berechnet wurden! Das kann normalerweise keine Fkt und, wie im Folgenden gezeigt wird, auch WENN nicht! Das muss einfach dem Einfluss der mysteriösen Fml-Optimierung geschuldet sein! Das kann dann auch nur die Xl-Steuerung durchführen!
In einer ellenlangen Diskussion habe ich das Daniel ggüber betont und nachgewiesen, dass dieses Verhalten nur in ZellFmln auftritt, was er nicht glauben wollte. Allerdings ist meine Feststellung logisch schlüssig, denn auch benannte Fmln reagieren anders als ZellFmln und RegelFmln der BedingtFormatierung ebenfalls. Ein Indiz dafür ist ja schon, dass man Xl in einer ZellFml mitteilen kann bzw muss, welche Werte/Ergebnisse tatsächlich berechnet bzw zurückgegeben wdn sollen — bei MatrixFmln (nicht so in benannten Fmln, denn die berechnen alles!).
Aber seht euch mal das Folgende an und bildet euch eine eigene Meinung zu dieser Problematik. Ich hoffe, ihr habt eine und bringt sie hier ein.
WENN, eine normale Ersatz-UDF für WENN, specIf und eine UDF, die garantiert immer so reagiert wie WENN in einer ZellFml, simIf, im Vgl …
1. in ZellFmln:
A | B | C | D | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 |
| |||||||||||||||||||||||||||
2 | ||||||||||||||||||||||||||||
3 | ||||||||||||||||||||||||||||
4 | ||||||||||||||||||||||||||||
5 | ||||||||||||||||||||||||||||
6 |
2. in benannten Fmln:
A | B | C | D | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 |
| |||||||||||||||||||||||||||
2 | ||||||||||||||||||||||||||||
3 | ||||||||||||||||||||||||||||
4 | ||||||||||||||||||||||||||||
5 | ||||||||||||||||||||||||||||
6 |
3. in BedingtFormat-Regeln:
A | B | C | D | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 |
| |||||||||||||||||||||||||||
2 | ||||||||||||||||||||||||||||
3 | ||||||||||||||||||||||||||||
4 | ||||||||||||||||||||||||||||
5 | ||||||||||||||||||||||||||||
6 |
Der bei den Nicht-0-Ergebnissen vor : gezeigte Zähler wird immer dann um 1 erhöht, wenn Argument2 der Fktt tatsächlich berechnet wird.
Ich muss jetzt unterbrechen und lade deshalb die TestDatei hierzu erst dann hoch, wenn ich auch die Zeit habe, dazu einige Erläuterungen zu geben.
Fröhliches Gruseln! Die Diskussion ist hiermit eröffnet, was auch für HalloWien gilt… ;-)
Feedback nicht unerwünscht! 🙈 🙉 🙊
Gruß, Luc :-?
Besser informiert mit …