Hallo zusammen,ich hoffe, ihr könnt mir weiterhelfen. Ich bin auf ein Verhalten in
Calc gestoßen, das ich als fehlerhaft empfinde – bin mir aber nicht
sicher, ob es so gewollt ist. Daher wende ich mich an euch als
Experten.Mir ist das Ganze aufgefallen, als ich mir ein kleines Auswertetool
gebaut habe, das regelmäßig CSV-Daten aus meinem Home Assistant
verarbeitet. (Die Herkunft der CSV-Datei ist aber für das Problem
nicht entscheidend.)Das Problem tritt auf, wenn sich die Anzahl der Zeilen in der
CSV-Datei im Vergleich zum Zeitpunkt der Verknüpfung ändert – was
bei mir häufig vorkommt. In der Folge "verschieben" sich
Formelbezüge, was zu Fehlern führt.So lässt sich das Verhalten leicht reproduzieren:1.) Eine
neue Tabelle in Calc erstellen, in Spalte A z. B. die
Zeilen 1–20 mit Daten füllen.2.) Diese Tabelle als CSV-Datei abspeichern und schließen.3.) Neue
leere Datei in Calc öffnen (die spätere „Auswertedatei“).4.) In Zelle A1 gehen → Menü Tabelle →
Externe Verknüpfungen... →
die zuvor gespeicherte CSV-Datei auswählen.5.) Im Textimport-Dialog einfach mit OK
bestätigen.6.) Nun stehen die CSV-Daten in A1:A20.7.) In B1 die Formel =A1 schreiben und diese bis
B40 herunterziehen.8.) Die Datei normal im .ods-Format abspeichern.9.) Jetzt die CSV-Datei erneut
öffnen, z. B. 5 Zeilen löschen,
speichern und schließen.10.) Die Auswertedatei erneut öffnen – je nach Einstellung wird man
gefragt, ob die Verknüpfung aktualisiert werden soll (ansonsten
passiert es automatisch).Ergebnis:- Nach dem Aktualisieren sehen die Zellen B1:B15 korrekt
aus.- Die Zellen B16–B20 zeigen nun #BEZUG!.- Die Formel in B21 zeigt nun auf A16 statt A21.- In
B40 steht =A35 statt =A40.Wenn man die CSV-Datei anschließend wieder auf z. B. 25 Zeilen
verlängert, verschwinden die #BEZUG!-Fehler, aber die Bezüge sind
erneut verschoben – z. B. zeigt B21 jetzt auf A26.Auch wenn man die Formeln in Spalte B in ein
separates Arbeitsblatt
auslagert und dort auf Spalte A referenziert, tritt der Fehler auf.Es sieht so aus, als ob Calc
beim Aktualisieren Zellen „nach oben
verschiebt“ (wenn Daten entfernt wurden) bzw. „nach unten
verschiebt“ (wenn neue Daten dazukommen) – ähnlich dem manuellen
Befehl Zellen löschen → nach oben verschieben.Meine Frage:Handelt es sich hierbei um ein
gewolltes Verhalten?Aus meiner Sicht sollte Calc einfach nur die vorhandenen Datenzeilen
überschreiben – also:- Weniger Daten: Die Zellen sollten geleert werden, ohne die
Struktur zu verändern.- Mehr Daten: Die neuen Daten sollten hinzugefügt oder über
bestehende Inhalte geschrieben werden, ohne Formelbezüge zu
verschieben.Ich würde mich freuen, wenn jemand dieses Verhalten bestätigen oder
mir erklären kann, ob es Vorteile dieser Vorgehensweise gibt, die
ich übersehen habe.Unterstützt jemand eventuell meinen Wunsch, das Verhalten beim
Aktualisieren von extern verknüpften CSV-Dateien anpassbarer oder
stabiler zu gestalten?Vielen Dank und viele GrüßeJürgen Kirsten
--
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
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
Context
- [de-users] Fehlverhalten bei Datenverknüpfung mit CSV in Calc – Formeln verschieben sich · Jürgen Kirsten
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.