LibreOffice Calc entfernt aus Formeln in Excel-Tabellen alle Leerzeichen.

Guten Abend,

vor dieser Frage habe ich ganz brav mit der Suche geprüft, ob es mein Thema schon gibt, aber nichts gefunden.

Das technische Problem:
LibreOffice Calc (aktuelle Version unter Xubunto 24.04.1 LTS) entfernt aus Formeln in Excel-Tabellen alle Leerzeichen.

Mein persönliches Problem damit :slight_smile:
Ich habe eine Menge Leute dazu angestiftet, MS Windows und speziell MS Office zu „verlassen“ und zu Xubuntu und LibreOffice zu wechseln. Diese meine Freunde, Kollegen und auch ich selbst haben umfängliche Excel-Tabellen mit komplexen Formeln, die mit Leerzeichen und z.T. Zeilenschaltungen strukturiert sind.

Beispiel: Formel für den letzter Wochentag im Monat.

= DATUM( JAHR($A45), MONAT($A45) + 1, 1 ) - 1 -
WENN( WOCHENTAG( DATUM(JAHR($A45), MONAT($A45) + 1, 1 ) - 1, 2 ) > 5,
WOCHENTAG( DATUM( JAHR($A45), MONAT($A45) + 1, 1 ) - 1, 2 ) - 5, 0
)

[…die letzte Null und die Klammer gehören an eine andere Position, aber die Webseite hier bricht die Zeilen nunmal so um]

Das kann man unstrukturiert nicht lesen. Evt. Fehler finden ist da nahezu unmöglich.
Nun programmiere ich auch schon einige Jahrzehnte in verschiedenen Skriptsprachen. Also Code zu strukturieren ist keine fixe Idee von mir, sondern absolut üblich.

Hat bitte jemand eine Idee, wie man zumindest die Leerzeichen in Formeln in CALC erhalten kann?

Ohne Lösung dafür werden meine Leute LibreOfficeCalc nicht weiter nutzen, und das wäre äußerst bedauerlich.

Schon vorab herzlichen Dank für Eure Bemühungen.

Ich antworte hiermit auf beide Beiträge:

Das Formeltrennzeichen in LibreOffice Calc kann man nach Belieben einstellen. Komma ist also keineswegs falsch, sondern, wenn man international unterwegs ist, mit Engländern und US-Amerikanern zu tun hat, üblich.

Die Formel Monatsende() liefert den letzten Kalendertag, nicht den letzten Wochentag des Monats, ist also untauglich.

LibreOffice Calc entfernt die Leerzeichen aus der Formel bereits beim Öffnen der Excel-Datei. Man hat also gar nicht die Möglichkeit, die Formel noch mit Leerzeichen im ODS-Format zu speichern.

Aber darum geht es nicht.
Wie von mir beschrieben: ich veranlasse andere Menschen, die Microsoft-Welt zu verlassen und zu Libre-Office zu wechseln, was ja mal per se nicht schlecht ist. Und diese Menschen wollen natürlich ihre Dateien weiter verwenden und nicht alles in andere Formate konvertieren. Man kann natürlich die Ansicht vertreten “wir sind LibreOffice und die anderen sind uns egal”. Aber langfristige Erfolgsrezepte setzen auf freundliches Entgegenkommen.

Insgesamt empfinde ich die Tonart hier als, sagen wir mal, unangebracht selbstbewußt.
Großschreibung wird in Internet-Foren bekanntlich als Schreien verstanden.
Und muß man etwas “niemals” und “schlicht und ergreifend” empfehlen?
Diese Tonart würde jedenfalls in einem Ubuntu-Forum auf massiven Widerstand stoßen.

Egal. Das Thema ist für mich abgeschlossen.

Falls Dein Excel die Funktion MONATSENDE nicht kennt:
=DATUM(JAHR($A45);MONAT($A45)+1;0) tut es genauso gut. DATUM kann Datumswerte berechnen, hier ist den nullten Tag des nächsten Monats.

=ARBEITSTAG(MONATSENDE($A45;0)+1;-1)

Kann man machen…aber im Gegensatz dazu funktioniert ;Semicolon überall und nicht nur auf [US]Englisch … und nötigt zb. hier niemanden dazu deine Formelbeispiele zunächst mal umzuschreiben damit sie überhaupt getestet werden können.

Was Du einstellst ist das Gebietsschema, standardmäßig ist das das Gebietsschema des Betriebssystems.
Bei einem deutschen Schema (außer Schweizerdeutsch) ist Komma Dezimaltrennzeichen, kann also nicht verwendet werden, um die Liste der Funktionsargumente zu trennen. Daher das Semikolon.
Das ist bei Excel auch so. Excel erzwingt allerdings das Komma als Listentrenner, wenn das Gebietsschema den Punkt als Dezimaltrenner verwendet. Calc akzeptiert immer das Semikolon, weil das mit nichts anderem kollidiert. Am Ende wird dann aber bei einem Punkt-Schema das Komma angezeigt. Intern wird immer ein Semikolon gespeichert.

  • erstens sollte man in einem deutsch lokalisierten LO niemals KOMMAS als Argumenttrenner verwenden.
  • zweitens nimmt man anstelle dieses Formelmonsters schlicht und ergreifend:
=MONATSENDE( $A45 ; 0 )

DAS kann man dann auch noch »unstrukturiert« lesen

  • drittens speichert man im original .ods -Format - dann bleiben auch Leerzeichen und Umbrüche erhalten
1 Like

«Häppchenweises Verschlingen deines Formelmonsters», abgesehen von der knackig kurzen Datum-Formel =MONATSENDE(), bevorzuge ich Blindzellen für einfache sequenzielle Operationen, um komplexe Argumente eines anvisierten Formelmonsters zum Ergebnis zu führen. Diese Blindzellen liegen entweder außerhalb des sicht- und druckbaren Bereichs, z.B.: [AA:AZ], oder ich nehme eine ausblendbare Spalte, deren Inhalte ich als nicht druckbar formatiere.
Bei mehreren kurzen Formeln kann ich einfach testen, ob ich den Algorithmus korrekt geschrieben habe. Vielleicht entdecke ich später einen knackig kurzen Lösungsweg =WOCHENENDE(). Manchmal führte die komplexe Formel Stunden lang zu Fehlern, während deren Vereinzelungen korrekte Ergebnisse erzielten.

Ich verweise mal auf die (englische) Antwort von MikeKaganski:

Danke, Wanderer, Du bist der Erste hier, der auf die eigentliche Frage antwortet.
Den Zusammenhang als solchen habe ich inzwischen in Erfahrung gebracht.
Für den Link bin ich dankbar - werde in Zukunft auf Englisch suchen.
Das eigentliche Problem liegt wohl darin, daß nur beim Öffnen von Excel-Dateien die OASIS OpenFormula Specification nicht eingehalten wird.

?? Ich ging bisher davon aus, dass MS seine eigene Lösung hat (und selbst auch keine Standard-Dateien schreibt, sondern wir meist “erweiterten Standard” bekommen. Ob für Tabellenkalkulationen ein Erhalt der Formatierung im Standard steht, habe ich nie nachgesehen. Wenn ich lesbares will, nehme ich einfach eine richtige Programmiersprache.