Hallo zusammen,
bei der Erstellung einer Tabellenkalkulation für die
Fußballweltmeisterschaft ist mir ein mögliches Problem im Zusammenhang
mit LET‑Funktionen und expandierenden Matrixformeln in LibreOffice Calc
aufgefallen.
Bevor ich den Bug offiziell melde, wäre es hilfreich, wenn jemand aus
der Community das Verhalten überprüfen und nachvollziehen könnte. In
Bugzilla habe ich keinen Eintrag gefunden, der dieses Problem bereits
beschreibt.
Getestete Version:
Version: 26.2.1.2 (x86_64)
Build ID: 620(Build:2)
CPU threads: 8; OS: Windows 11 x86_64 (Build 26200); UI render:
Skia/Raster; VCL: win
Locale: de-DE (de_DE); UI: de-DE
Calc: threaded
Beschreibung des Problems:
Wenn eine Formel mit LET() verwendet wird, die mehrere Zellen als
Ausgabe erzeugen soll, funktioniert die Expansion zunächst korrekt und
alle Zellen werden angezeigt.
Nach dem Speichern und erneuten Öffnen des Dokuments wird jedoch nur
noch die linke obere Zelle der Matrix dargestellt. Der Matrixbereich
selbst bleibt intern aktiv – erkennbar daran, dass:
beim Löschen einzelner Zellen Fehlermeldungen erscheinen
der Matrixbereich weiterhin über Strg + Geteilt‑durch (Numpad)
sichtbar gemacht werden kann
Beobachtete Besonderheiten:
Das Verhalten tritt nur bei der ersten Formel auf, die bestimmte
Variablennamen verwendet.
Sobald eine weitere Formel mit zuvor bereits verwendeten
Variablennamen im Arbeitsblatt vorkommt – auch wenn sie nicht expandiert
oder eine völlig andere Berechnung durchführt – wird die expandierende
Formel nach erneutem Öffnen korrekt dargestellt.
Die Reihenfolge wird durch die Spaltennummer, bei gleicher Spalte
durch die Zeilennummer bestimmt.
Durch verwenden der "unbedingten Neuberechnung" Strg + Umschalt + F9
werden alle Ausgaben wieder korrekt dargestellt.
Das Verhalten konnte ich auch in älteren LibreOffice‑Versionen
unter Windows 11 reproduzieren.
Beispieldatei:
Ich habe eine Beispieldatei in Dropbox hochgeladen
https://www.dropbox.com/scl/fi/8i6qwwi2q4ilkufs2pb87/Let-in-Matrix.ods?rlkey=qsjoc7f3raay3j0bywfwdatar&st=fy5z0jav&dl=0
Hier einige Hinweise zu den relevanten Zellen:
C2 {=LET(m;$A$2:$A$4;m)} – erste Verwendung → Bug sichtbar
D2 {=LET(m;$A$2:$A$4;m)} – zweite Verwendung → funktioniert
E2 {=LET(o;$A$2:$A$4;o)} – erste Verwendung anderer Name → Bug sichtbar
F2 {=LET(o;$A$2:$A$4;o)} – zweite Verwendung → funktioniert
G2 {=LET(o;$A$2:$A$3;o)} – dritte Verwendung mit anderem Bereich →
funktioniert
H2 {=LET(x;$A$2:$A$4;y;1;z;2;x)} – mehrere Variablen, Darstellung
fehlerhaft, wenn Variablen zuvor nicht verwendet wurden
I2 {=LET(x;$A$2:$A$4;y;1;x)} – x und y wurden in H2 verwendet →
funktioniert
J2 {=LET(x;$A$2:$A$4;y;2;x)} – anderer Inhalt, funktioniert trotzdem
K2 =LET(e;1;e) – erste Verwendung von „e“
L2 {=LET(e;$A$2:$A$4;e)} – zweite Verwendung, obwohl vorher keine
Matrix → funktioniert
M2 {=LET(f;$A$2:$A$4;f)} – erste Verwendung von „f“ → Bug sichtbar
N2 {=LET(f;$A$2:$A$4;o;1;f)} – Verwendung von „f“ schon in M2 und
„o“ in E2 → funktioniert
O2 {=LET(f;$A$2:$A$4;p;1;f)} – Verwendung von „f“ schon in M2 und
neuem „p“ → Bug sichtbar
--
Mit freundlichen Grüßen
Jürgen Kirsten
--
Liste abmelden mit E-Mail an: [email protected]
Probleme?
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy