matrixformel funktioniert nicht

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

echo
*******
Beiträge: 1038
Registriert: Fr, 14.11.2008 15:27
Wohnort: BRA - Nds

Re: matrixformel funktioniert nicht

Beitrag von echo »

Hallo
Ja, natürlich kann man die Klammern von N() weg lassen, das habe ich in meiner Tabelle auch gemacht weil sie überflüssig sind.
Dort habe ich sogar auch das *1 ganz weg gelassen, das funktioniert bei OO, .....anders bei Excel, dort geht nicht.
Aber das liegt wohl daran, dass es sich dabei um eine Matrixformel handelt.
Ich bin zwar neu beim Umgang mit OO aber, Das sehe ich anders,
so lange man nicht die max. Anzahl an Klammerebenen überschreite kannst du doch so viele Klammen um eine Multiplikation machen wie man lustig ist,
das Ergebnis muss doch immer das selbe sein.
Das ist schlicht weg die gleiche Berechnung ob nun mit oder ohne umschließende Klammer.
Wenn es denn so sein soll kann ich die *1 auch in die Mitte oder ans Ende bringen
da es alles Multiplikatoren sind muss das auch funktionieren.
=INDEX(eintragen;VERGLEICH(1;((eintragen_von<=B3)*1*(eintragen_bis)>=B3);0))

Was ich {bis jetzt] nicht ganz verstehe ich, warum die die erste Formel mit N() nicht funktioniert hat.
Das könnte allerdings in der Tat was mit der Matrix-Formel zu tun haben,
denn mit einfachen Gleichungen kann N() scheinbar umgehen.

Na denn. Schöne Grüße
Holger
hawe
****
Beiträge: 151
Registriert: Di, 05.08.2008 19:47

Re: matrixformel funktioniert nicht

Beitrag von hawe »

Also ich finde diese Diskussion gut und sinnvoll, weil dadurch den Dingen auf den Grund gegangen wird, oder?
Und nicht wie so oft eine ggf. suboptimale Lösung nur deshalb stehen bleibt, weil sie das Problem halt irgendwie löst und die Beteilgten an Verstehen, Begründen bzw. Optimieren kein INteresse haben.

ICh wäre nie auf die Idee gekommen N() anzustellen, weil N per se Text, also Zahlen im Text, nach numerisch castet. UNd ein logischer Ausdruck (True/False) ist nun mal kein Text.
Was läuft also ab:
Fall 1: Boolean*Boolean=Numerisch
Dann sind wir dort, wo wir hinwollen und N() ist überflüssig - setzt eine automatische Typumwandlung voraus.
Fall 2: Boolean*Boolean=Boolean
Dann ist N() im Weg, weil N() per se Text, also Zahlen in einem Text, nach numerisch wandelt und logische Ausdrücke liefern weder Text noch Zahl sondern TRUE/FALSE. Dann ist * eine andere Schreibweise für UND/AND.
Fall 3: Booelan*Boolean*Numerisch=Numerisch
Der sichere Weg. Die Multiplikation mit Zahl erzwingt eine Wandlung nach Numerisch - sollte in XL UND Calc das gewünschte Ergebnis haben.

Nach meinen UNterschungen ist das Problem die VERGLEICH-Funktion, die in OO<3.0 keinen Array bildet.
Gruss HW
Win7/SuSe 11.2 - LO 3.3
echo
*******
Beiträge: 1038
Registriert: Fr, 14.11.2008 15:27
Wohnort: BRA - Nds

Re: matrixformel funktioniert nicht

Beitrag von echo »

Hallo Hans
Zustimmung auf der ganzen Line.
Kleiner Zusatz:
Was ich gar nicht mag ist , wenn solche Diskussion angeschoben werden wenn die gestellte Frage noch nicht abschließend beantwortet ist.
Das trift bei mir hier aber ja nicht zu, also nur weiter so.

Dein Fall 1 und Fall 2 beschreibt mE. auch genau den Unterscheid von Excel zu Calc
=N(WAHR)
Ich habe mal die Formel mal sowohl in Excel wie auch in Calc eingegeben.
Ergebnis ist natürlich jedesmal 1
Aber bei Excel bleibt die Formel so wie sie ist in der Zelle stehen
während bei Calc die Formel automatisch in =N(1) geändert wird.

Schönen Sonntag
Holger
Antworten