Date: prev next · Thread: first prev next last
2025 Archives by date, by thread · List index


Hallo,
ich bin nicht überzeugt, dass das ein Fehler ist.
Calc vermisst hier nach Änderungen in der CSV Zellbezüge und reagiert mit dem Fehler #Bezug!

Der Trick ist, dass man auf die Zellen der verknüpften Datei so zugreift, dass der Zellbezug immer gleich bleibt. Das mache ich mit der Funktion INDIREKT, mit der man einen Zellbezug "zusammenbasteln" kann

Hier ist ein Beispiel in diesem Ordner:
https://www.dropbox.com/scl/fo/pmmwo7vmcqfjlabmesv2j/AIvkolIQdhfU_HktpfKmYFM?rlkey=4uezumieq896v9izg71ryecwg&dl=0
Daten.ods: Damit erzeuge ich die CSV-Datei
Daten.csv: Hier sind die Daten, auf die ich zugreife
Daten-Verknüpfung.ods ist die Datei, die auf die CSV-Daten zugreift und hier kann man auch beliebige Berechnungen durchführen.

Wenn die CSV geändert wird, ändert sich nichts an den Werten

Mit freundlichen Grüßen
Alois Klotz

Jürgen Kirsten schrieb am 12.04.2025 um 01:13:

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:


*
Eine neue Tabelle
           in Calc erstellen, in Spalte A z. B. die Zeilen 1–20 mit Daten
           füllen.


*
Diese Tabelle als
           CSV-Datei abspeichern und schließen.


*
Neue leere Datei
           in Calc öffnen (die spätere „Auswertedatei“).


*
In Zelle A1 gehen
           → MenüTabelle →
             Externe Verknüpfungen...→ die zuvor gespeicherte
           CSV-Datei auswählen.


*
Im
           Textimport-Dialog einfach mit OK bestätigen.


*
Nun stehen die
           CSV-Daten in A1:A20.


*
In B1 die Formel=A1schreiben und
           diese bis B40 herunterziehen.


*
Die Datei normal
           im.ods-Format
           abspeichern.


*
Jetzt die
           CSV-Datei erneut öffnen, z. B. 5 Zeilen löschen, speichern und
           schließen.


*
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 aufA16stattA21.


*
In B40 steht=A35statt=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 aufA26.


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 BefehlZellen 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üße




Jü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


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.