BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Logische Oprationen in Matrixfunktionen

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
DottoreG
Beiträge: 3
Registriert: Do 2. Nov 2017, 13:40

Logische Oprationen in Matrixfunktionen

Beitrag von DottoreG » Do 2. Nov 2017, 15:56

Hallo,
ich versuche die Werte einer Spalte mit unterer und oberer Grenze zu prüfen. Dazu verwende ich eine Matrixfunktion:

Code: Alles auswählen

{=WENN(UND(A2:A41>=$G$2;A2:A41<=$H$2);"gut";"schlecht")}
leider kommt hier immer nur "schlecht" heraus. Ursache scheint zu sein, dass das logische Und hier nicht funktioniert. Ersetze ich es durch eine Multiplikation, funktioniert es:

Code: Alles auswählen

{=WENN((A2:A41>=$G$2)*(A2:A41<=$H$2);"gut";"schlecht")}
Ich konnte nirgends eine Ursache dafür finden. Daher frage ich hier an, ob mir jemand eine Erklärung dafür geben kann, und ob der Umweg über die Multiplikation der richtige Ausweg ist. (Noch ein Hinweis: Unter Excel sehe ich genau das gleiche Verhalten. Es scheint also so beabsichtigt zu sein. Nur, warum?)
Zuletzt geändert von DottoreG am Fr 3. Nov 2017, 08:46, insgesamt 2-mal geändert.

Mondblatt24
Beiträge: 2839
Registriert: Fr 3. Mär 2017, 17:12

Re: Logische Oprationen in Matrixfunktionen

Beitrag von Mondblatt24 » Do 2. Nov 2017, 16:25

Hallo,
warum Matrix?

Code: Alles auswählen

=WENN(UND(A2>=$G$1;A2<=$H$1);"gut";"schlecht")
Gruß Peter
Win 11 (x64) ▪ LO 24.2.2.2 (x64) ▪ AOO Portable 4.1.15
Wenn Eure Frage zutreffend beantwortet wurde, seid so nett und fügt dem Betreff der Eingangsfrage [GELÖST] hinzu.

DottoreG
Beiträge: 3
Registriert: Do 2. Nov 2017, 13:40

Re: Logische Oprationen in Matrixfunktionen

Beitrag von DottoreG » Fr 3. Nov 2017, 08:45

Genau aus dem Grund, wie er in der Hilfe beschrieben ist (https://help.libreoffice.org/Calc/Array ... rbeiten.3F):
Wann empfiehlt es sich, mit Matrixformeln zu arbeiten?

Verwenden Sie Matrixformeln, wenn Sie eine Berechnung mit unterschiedlichen Werten häufig wiederholen müssen. Wenn Sie die Berechnungsmethode zu einem späteren Zeitpunkt ändern möchten, müssen Sie nur eine einzige Formel, nämlich die Matrixformel, aktualisieren. Zum Hinzufügen einer Matrixformel wählen Sie den gesamten Matrixbereich aus und nehmen die erforderlichen Änderungen an der Matrixformel vor.

Da Matrixformeln den Arbeitsspeicher nicht sonderlich belasten, können sie auch als Platz sparende Alternative eingesetzt werden, wenn mehrere Werte zu berechnen sind. Darüber hinaus stellen Matrizen ein unverzichtbares Hilfsmittel für komplexe Berechnungen dar, denn sie erlauben es, mehrere Zellbereiche einzubeziehen. LibreOffice bietet verschiedene mathematische Funktionen für Matrizen wie z.B. MMULT zur Multiplikation zweier Matrizen oder SUMMENPRODUKT zur Ermittlung des skalaren Produkts zweier Matrizen.
Den Ansatz über normale Funktionen habe ich bisher verfolgt und wollte nun gerne umstellen. Dabei ist mir das Problem aufgefallen. Und ich verstehe doch so gerne, warum der Computer so tickt, wie er es gerade tut. :geek:

mikele
Beiträge: 1642
Registriert: Mo 1. Aug 2011, 20:51

Re: Logische Oprationen in Matrixfunktionen

Beitrag von mikele » Fr 3. Nov 2017, 12:50

Hallo,
der Grund, warum

Code: Alles auswählen

UND(A2:A41>=$G$2;A2:A41<=$H$2)
stets FALSCH liefert, wird sein, dass

Code: Alles auswählen

A2:A41>=$G$2;A2:A41<=$H$2
eine Matrix aus Wahrheitswerten liefert und nun per UND() geprüft wird, ob alle WAHR sind.
Schon bei

Code: Alles auswählen

UND(A2:A41>=$G$2)
tritt das Verhalten auf.
Gruß,
mikele

DottoreG
Beiträge: 3
Registriert: Do 2. Nov 2017, 13:40

Re: Logische Oprationen in Matrixfunktionen

Beitrag von DottoreG » Fr 3. Nov 2017, 14:21

Super!

Vielen Dank für diese Rückmeldung. Das erklärt vollständig das (sinnvolle) Verhalten.

Lupo
Beiträge: 279
Registriert: Do 11. Okt 2012, 14:22

... und nun die Lösung: Boolesch

Beitrag von Lupo » So 25. Mär 2018, 12:07

... aus

UND(A2:A41>=$G$2;A2:A41<=$H$2)

wird korrekt

(A2:A41>=$G$2)*(A2:A41<=$H$2)
MfG Lupo - xxcl.de Win10ProLO6062

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten