Hi Eberhard
Post by Eberhard FunkePost by Frank KabelHi Eberhard
ja es hat einen Grund :-)
- das doppelte Minus ist (angeblich) etwas schneller als die anderen
mathematischen Operationen (wie '1*', '0+' oder '^1') Allerdings wird
das in der Realität so gut wie nie bemerkbar sein
- Der für mich entscheidende Grund ist aber Excels Operatoren
Rangfolge. '--' wird vor den anderen Operationen ausgewertet (und kann
deshalb auch weniger durch fehlenden Klammern durcheinandergebracht
werden)
Das leuchtet mir nicht so ganz ein. Fehlende Klammern sollte doch
immer zu einem falschen Ergebnis oder Fehler führen?
Sorry, nicht ganz korrekt beschrieben. Mir ging es hierbei um die
Auswertung der Operanden, wenn man keine Klammern setzt. Nimm mal
folgende Formel
=1+2*3^--5
Jetzt kommt es halt auf die Auswertungsreihenfolge an. Folgende
Reihenfolge dazu aus der Excel Hilfe (unter Berechnungsoperatoren):
- (im Sinne einer Negation)
%
^
* und /
+ und -
&
= < > <= >= <> (Vergleichsoperatoren)
Wie man daran sieht, wird die Negation vor den anderen Operatoren
ausgewertet (wenn halt nicht Klammern entsprechend anderes gesetzt
werden). Wenn ich also das '--' verwende kann ich ziemlich sicher sein,
dass dieses immer zuerst ausgwertet wird. Aber wie gesagt in diesem
Zusammenhang gehen auch die anderen Operatoren (ist halt
Gewohnheitssache bei mir)
Post by Eberhard FunkePost by Frank KabelEs ist aber im wesentlichen Geschmackssache [........]
woraus ich schließe, daß Du von Grund aus "negativ" eingestellt
bist:-))
:-)
Post by Eberhard FunkeIch habe mit Deiner Formel den ganze Vormittag rumgewerkelt, und so
{"u"."z"."s"."ru"."sf"."ku"} ist ein Zeilenvektor (im Unterschied zum
Spaltenvektor [Semikolon] mit Punkten als Trennzeichen) . Mit den
vorstehenden Texten in beispielsweise A1:F1 könnte man Deine Formel
=SUMMENPRODUKT(--(I18:I65=A1F1))
leicht korrigiert :-)
=SUMMENPRODUKT(--(I18:I65=A1:F1))
Komplizierter wird es, wenn die Werte in einer Spalte, also z.B.: F1:F6
stehen. Typische lösungsmöglichkeiten dafür wären:
=SUMMENPRODUKT(--(I18:I65=MTRANS(F1:F6)))
WICHTIG: Diese Formel muss als Matrix Formel mit CTRL+SHIFT+ENTER
eingegeben werden. Eine bessere Alternative dazu wäre (weil nicht als
Matrixformel einzugeben):
=SUMMENPRODUKT(--(ISTZAHL(VERGLEICH(I18:I65;F1:F6;0))))
Post by Eberhard FunkeJetzt habe ich sozusagen "Array-Blut" geleckt, ich möchte da etwas
tiefer einsteigen, aber möglichst nicht mit zeitaufwe(ä)ndigem
Trial&Error. Git es dazu eine einschlägigere Ausführung, etwas, das
über z. B. Pearson hinausgeht?
Zumindestens für SUMMENPRODUKT schaue Dir mal folgende Seite an:
http://www.xldynamic.com/source/xld.SUMPRODUCT.html
Erläuterungen + Beispiele (z.B.: wie man NETTOARBEITSTAGE durch
SUMMENPRODUKT ersetzt und auch einfach abweichende arbeitsfreie Tage
definieren kann)
Post by Eberhard FunkeAuch Dir ein schönes Restwochenende. Der Himmel hier über HD trifft
Vorbeitungen für das abendliche Gewitter; die Luft ist so drückend,
daß unsere Katze schon seit Stunden vor meinem Bildschierm liegt, ohne
sich zu rühren. Vielleicht grübelt sie ebenfalls über Arrays nach.
also mein Kater liegt nur lethargisch auf dem Sessel und ignoriert mich
völlig :-)
Frank