💚 BITTE helfen Sie uns NOCH 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. 🤗

[gelöst] Operator für ist nicht leer <>"" funktioniert nicht

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Jigme
Beiträge: 31
Registriert: Di 15. Nov 2016, 13:23

[gelöst] Operator für ist nicht leer <>"" funktioniert nicht

Beitrag von Jigme » Sa 1. Dez 2018, 09:47

Hallo,
ist mir ja echt peinlich. In der LO Hilfe https://help.libreoffice.org/Calc/Handl ... y_Cells/de finde ich nicht zu "ist nicht leer".

Wie schreibt man das?

Danke voran Jigme
Zuletzt geändert von Jigme am Sa 1. Dez 2018, 23:01, insgesamt 1-mal geändert.

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

Re: Operator für ist nicht leer <>"" funktioniert nicht

Beitrag von Lupo » Sa 1. Dez 2018, 10:17

B1: =1-ISTLEER(A1)
B1: =ANZAHL2(A1)=1
B1: =ANZAHLWIRKLICHGAAANZGAAANZFRISCHERUNDLEERERZELLEN(A1)=0 ist etwas lang, geht aber auch.

B1: =A1<>"" wertet auch Nullstrings als leer, was Du nicht willst

Zellen können nur leer sein, wenn weder Werte noch Formeln drin sind. Taste: ENTF
MfG Lupo - xxcl.de Win10ProLO6062

Jigme
Beiträge: 31
Registriert: Di 15. Nov 2016, 13:23

Re: Operator für ist nicht leer <>"" funktioniert nicht

Beitrag von Jigme » Sa 1. Dez 2018, 11:50

Danke für die schnelle Antwort. Das raff ich nicht. Ist mir zu kompliziert, wenn ich das in eine Formel packen will.

Bei mir geht es um Leerzellen. Ich will den letzten Wert einer Zeile. Sämtliche Formeln die ich im Netz gefunden habe funktionieren nicht, weil in der gesuchten Zelle ein Bezug zu einer anderen Tabelle ist.
Versucht habe ich das:
https://www.excel-inside.de/funktionen- ... der-spalte
https://www.tabellenexperte.de/letzte-z ... el-finden/
https://www.tabellenexperte.de/finde-de ... cel-liste/
http://www.excelformeln.de/formeln.html?welcher=50

Diese Formel kapier ich nicht. Ist was für klügere Köpfchen als mich ;)
http://www.excelformeln.de/formeln.html?welcher=233

Die obigen Formeln gehen z. T. davon aus, dass man die unterste Zeile einer Tabelle sucht. Ich suche aber den letzten Wert in einer Zeile mit unterschiedlichen Werten und Leerzellen.
Letzter Wert Zeile.png
Letzter Wert Zeile.png (35.62 KiB) 4088 mal betrachtet
In der rechten Spalte soll je Monat jeweils der letzte Wert angezeigt werden. Also Mai 1029,04, Sept. 1421,25....
Mit MAX/MIN geht es auch nicht, da der letzte Wert in der Zeile manchmal auch kleiner/größer sein kann, als der davor.
Und eventuell können sogar noch weitere Spalten hinzu kommen.

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

Re: Operator für ist nicht leer <>"" funktioniert nicht

Beitrag von Lupo » Sa 1. Dez 2018, 11:54

Ich könnte Dir antworten, aber ich finde die nackte plötzliche Umdrehung des Sachverhalts dann doch eine Zumutung.

Viel Glück. Die Antwort ist einfach - und wird hier erbracht werden.
MfG Lupo - xxcl.de Win10ProLO6062

Jigme
Beiträge: 31
Registriert: Di 15. Nov 2016, 13:23

Re: Operator für ist nicht leer <>"" funktioniert nicht

Beitrag von Jigme » Sa 1. Dez 2018, 12:24

Lupo hat geschrieben:
Sa 1. Dez 2018, 11:54
Ich könnte Dir antworten, aber ich finde die nackte plötzliche Umdrehung des Sachverhalts dann doch eine Zumutung.
Wenn du meinst. Wenn man auf der Suche nach Lösungen ist und hinterher die eigentliche Problemschilderung eine Zumutung ist und als Umdrehung des SV verstanden wird, ist das halt so. Das war nicht beabsichtigt.
Viel Glück. Die Antwort ist einfach - und wird hier erbracht werden.
Danke. Wenigstens hattest du Spaß bei dem Versuch einen Noob auf den Arm zu nehmen ;)

Code: Alles auswählen

 B1: =ANZAHLWIRKLICHGAAANZGAAANZFRISCHERUNDLEERERZELLEN(A1)=0 ist etwas lang, geht aber auch. 
Dann löse ich es halt mit einer WENN Verschachtelung :(

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

Re: Operator für ist nicht leer <>"" funktioniert nicht

Beitrag von mikele » Sa 1. Dez 2018, 13:55

Hallo,
so ganz trivial ist das Problem nicht.
Du kannst z. B. folgende Formel nutzen, wobei ich davon ausgehe, dass Mai.18 in der Zelle A2 steht, die Werte in den Spalten B-H. In I2 kommt dann

Code: Alles auswählen

=INDEX(B2:H2;;MAX((B2:H2>0)*SPALTE(B2:H2))-1)
Wichtig! Die Formel muss als Matrixformel eingegeben werden, d. h. am Ende mit Shift+Strg+Enter anschließen.
Willst du die Formel dann nach unten ziehen, muss du dabei die Strg-Taste gedrückt halten.
Die -1 am Ende der Formel kommt daher, dass der Zahlenbereich ab Spalte B beginnt. Beginnt der bei dir z. B. erst bei D, dann -3.
Gruß,
mikele

Jigme
Beiträge: 31
Registriert: Di 15. Nov 2016, 13:23

Re: Operator für ist nicht leer <>"" funktioniert nicht

Beitrag von Jigme » Sa 1. Dez 2018, 21:31

Lieben Dank@ mikele

Ich habe schon länger das Gefühl, dass mit meinem LO was nicht stimmt seit dem Update.
Jetzt plötzlich bekomme ich die Meldung:
"Sie können nicht nur einen Teil der Matrix ändern", wenn ich in die Zelle klicke.
Die Zelle kann ich nicht mal mehr löschen!

Deine Formel klappte anscheinend zunächst, direkt nachdem ich sie einfügte. Als ich sie dann nach unten ziehen wollte, Stand da plötzlich #NAME?
Das selbe mit deiner Formel, in der ich aber testweise das 2. Semikolon weg ließ.

Hier mal eine Test-Tabelle.
Auch seltsam, meine Wenn-Verschachtelung klappt in einigen Zeilen. In Zeile 12 und 13 kommt Fehler 502 und in Zeile 21 bleibt sie trotz Formel leer.
Das ist doch unlogisch.
Was dieses MIN betrifft: Ich habe in die Tabelle mal noch einen Wert eingefügt, der niedriger ist, als der Vorletzte.

Und eine Frage bitte noch, warum 2 Semikolon?

Code: Alles auswählen

=INDEX(B2:H2;;MAX((B2:H2>0)*SPALTE(B2:H2))-1)
Dateianhänge
Test Lezter Wert Forum.ods
(19.36 KiB) 163-mal heruntergeladen
Fhlereldung Wert letzte Zeile.png
Fhlereldung Wert letzte Zeile.png (33.32 KiB) 4039 mal betrachtet

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

Re: Operator für ist nicht leer <>"" funktioniert nicht

Beitrag von mikele » Sa 1. Dez 2018, 21:58

Hallo,
da war wohl ein kleiner Tippfehler die Ursache. Anbei die korrigierte Version.
Zu den zwei Semikola: Schau mal in die Hilfe zur Funktion Index() ...
Ich möchte aus der Spalte wählen, nicht aus der Zeile.
Noch ein Hinweis zu den Matrixformeln: Wenn die Mitteilung kommt, dass du nicht nur einen teil ändern kannst, dann wähle per Strg+: (Divisionszeichen auf dem Nummernblock) die gesamte Matrixformel (und lösche sie ggf.)
Dateianhänge
Test Lezter Wert Forum.ods
(19.24 KiB) 165-mal heruntergeladen
Gruß,
mikele

Jigme
Beiträge: 31
Registriert: Di 15. Nov 2016, 13:23

Re: Operator für ist nicht leer <>"" funktioniert nicht

Beitrag von Jigme » Sa 1. Dez 2018, 23:00

Huhu,
du bist ein Goldschatz. Vielen Dank!
mikele hat geschrieben:
Sa 1. Dez 2018, 21:58
Zu den zwei Semikola: Schau mal in die Hilfe zur Funktion Index() ...
Ich bin Anfänger und befasse mich gerade mit vielen neuen Funktionen, da raucht mir ein wenig der Kopf und ich bin auch nicht so der Mathe- und Logik-Crack :(
So Formeln beanspruchen das Oberstübchen schon heftig. Der jeweilige Syntax ist noch nicht wirklich verinnerlicht.
Ich doktere gerade an Index und Vergleich Verschachtelungen. Habe da echt Probs :oops:
Dank für deine Geduld und Mühe.
Noch ein Hinweis zu den Matrixformeln: Wenn die Mitteilung kommt, dass du nicht nur einen teil ändern kannst, dann wähle per Strg+: (Divisionszeichen auf dem Nummernblock) die gesamte Matrixformel (und lösche sie ggf.)
Werde ich mir notieren. Zwar habe ich einen Nummernblock, aber geht doch sicher auch mit dem normalen / ?

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

Re: [gelöst] Operator für ist nicht leer <>"" funktioniert nicht

Beitrag von mikele » So 2. Dez 2018, 12:56

Hallo,
wie gesagt ist es ja auch nicht so ganz einfach (ich habe gerade gemerkt, dass meine Formel noch mindestens einen Schönheitsfehler hat). Ich versuche mal eine kurze Erläuterung.
Deine Frage lässt sich in zwei Teileprobleme zerlegen:
1. Finde ein einer Zeile die letzte Spalte, die einen Wert enthält. (Aufgrund deines Beispiels bin ich der Einfachheit halber davon ausgegangen, dass alle Werte positiv sind).
2. Wähle aus der Zeile den Wert aus dieser Spalte.
Das erste ist das eigentliche Problem, das zweite wird durch die Funktion Index() gelöst. Die folgenden Zeilen/Spalten beziehen sich auf deine Datei mit den Daten in N10:S21, konkrte auf die erste Zeile.
Zum 1.: Mit

Code: Alles auswählen

N10>0
lässt sich klären, ob ein Wert eingetragen ist. Das Ergebnis ist entweder 0 oder 1. Mit

Code: Alles auswählen

(N10>0)*Spalte(N10)
multipliziere ich gleich noch die Spaltennummer und erhalte so entweder 0 (wenn kein wert eingetragen ist) oder die die Spaltennummer (hier 14).
Soweit so gut - nur muss das mit der ganzen Zeile geschehen, also mit jeder Zelle aus N10:S10. Nun darf man in der Formel auch mit diesem Bereich arbeiten

Code: Alles auswählen

(N10:S10>0)*Spalte(N10:S10)
. Da ich hier nicht mehr nur mit einer einzelnen Zelle, sondern einem Zellbereich arbeite spricht man von einer Matrixformel (die Berechnungen beziehen sich auf einen Bereich, mathematisch gesprochen eine Matrix). Das Ergebnis ist dann auch kein einzelner Wert mehr, sondern ebenfalls eine Matrix, hier konkret: 14 0 0 0 0 0 (also die belegten Spalten oder 0). Von diesen Zahlen suchen wir das Maximum. Da die 14. Spalte die erste in unserem betrachteten Bereich ist, subtrahieren wir einfach 13 und fertig. Problem 1 gelöst.
Zum 2.: Die Funktion Index() wählt aus einem Bereich das Element der angegebenen Zeile und Spalte aus. Index(N10:S21;2;4) würde aus dem Bereich N10:S21 das Element in der 2. Zeile und 4. Spalte auswählen. Da wir mit dem Bereich N10:S10 nur eine Zeile haben, muss der Zeilenparameter nicht angegeben werden. Kurz mit

Code: Alles auswählen

=INDEX(N10:S10;;MAX((N10:S10>0)*SPALTE(N10:S10))-13)
wird das Element aus der 1. Spalte des Bereichs N10:S10 (dessen Wert) ausgewählt.
Ich hoffe, dass war jetzt nicht zu theoretisch ...
Zum Schönheitsfehler: Die Subtraktion der 13 ist an der falschen Stelle (was aber nur relevant wird, wenn gar kein Wert eingetragen wäre).
Korrektur:

Code: Alles auswählen

=INDEX(N10:S10;;MAX((N10:S10>0)*(SPALTE(N10:S10)-13))
Der Vollständigkeit halber: Wenn auch Null- oder negative Werte eingetragen werden können, geht (N10:S10>0) schief. Dann

Code: Alles auswählen

=INDEX(N10:S10;;MAX((1-ISTLEER(N10:S10))*(SPALTE(N10:S10)-13)))
oder

Code: Alles auswählen

=INDEX(N10:S10;;MAX((N10:S10<>"")*(SPALTE(N10:S10)-13)))
Dateianhänge
Test Lezter Wert Forum varianten.ods
(20.82 KiB) 171-mal heruntergeladen
Gruß,
mikele

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