Excel verändert CSV-Dateien

Datumsmanipulation durch Excel

Von vielen Anwendern wird die Möglichkeit geschätzt Ahnendaten im CSV-Format abspeichern zu können, in der Tabellenkalkulation zu bearbeiten und wieder als CSV-Datei in Ahnenblatt zu öffnen. Dabei würde man als Anwender davon ausgehen, dass alle Daten, die nicht editiert wurden, unverändert bleiben.

Mich machte aber kürzlich ein Ahnenblatt-Anwender darauf aufmerksam, dass dem nicht so ist. Daher will ich den Fall ein wenige näher beschreiben.

Ist bei einem Datum der Tag nicht bekannt, gibt man vielleicht ein Datum in der Art „12.1846“ ein. Ein solches Datum im CSV-Format gespeichert, dann mit Excel geöffnet und wieder gespeichert (man muss nicht mal Daten editieren) und zuletzt wieder mit Ahnenblatt geöffnet ergibt das Datum „121.846“. Wie kann das passieren? Gibt es womöglich einen gravierenden Fehler in Ahnenblatt?

Excel versucht eigenständig die Werte zu interpretieren – erkennt also automatisch, ob es sich um eine Uhrzeit, ein Datum oder nur eine reine Zahl handelt. Das merkt man schon direkt bei der Eingabe. Gibt man den Wert „12.1846“ ein, wird daraus „121.846“. Excel ist der Meinung es handelt sich um eine Zahl, bei der lediglich das Tausendertrennzeichen (der Punkt) versetzt ist. Es wird also nur der Punkt an die vermeintlich richtige Stelle gesetzt.

Kann man das Excel nicht austreiben?

Anscheinend nicht. Das CSV-Format erlaubt Texte in Anführungszeichen zu setzen. Genau das macht Ahnenblatt beim Erstellen der CSV-Datei, was aber von Excel ignoriert wird. Die Daten werden ohne einen Hinweis darauf von Excel anders gespeichert als sie beim Öffnen waren.

Was kann man da machen?

Erstaunlicherweise tritt das Problem nur mit Excel auf. Andere Tabellenkalkulationen wie OpenOffice, LibreOffice oder Planmaker öffnen Ahnenblatts CSV-Dateien korrekt, d.h. verändern die Daten nicht. Daher kann ich hier nur die Empfehlung aussprechen eines der genannten, und auch kostenlosen Programme, für Datenänderungen zu verwenden.

Kann Ahnenblatt denn nicht einfach den Tausenderpunkt wieder zurücksetzen?

Beim Import einer CSV-Datei (womöglich heimlich) die Punkte wieder zu korrigieren, könnte Auswirkungen haben. Vielleicht ist gerade dieser Wert so gewollt gewesen. Auch ist es immer die falsche Strategie den Fehler eines Programmes an anderer Stelle zu korrigieren, statt den eigentlichen Fehler (nämlich in Excel) zu beseitigen.

 

Die Datenveränderung in Bildern:

  1. Datumsangabe ohne Tag in Ahnenblatt
    Datum ohne Tag in Ahnenblatt
  2. CSV-Export aus Ahnenblatt – Anführungszeichen kennzeichnen, dass es sich um einen Text handelt
    CSV-Export von Ahnenblatt eines Datums ohne Tag
  3. in Excel importiert – das Datum wird als Zahl interpretiert und das Tausendertrennzeichen „korrigiert“
    Excel hat den Datumswert falsch interpretiert
  4. Excel-Export im CSV-Format mit korrigiertem Tausendertrennzeichen
    Excel exportiert das Datum mit versetztem Tausendertrennzeichen
  5. Ahnenblatt importiert die Excel-CSV korrekt und hat nun auch eine Zahl
    Excel-CSV in Ahnenblatt importiert mit manipuliertem Datum
Ahnenblatt Website
Neuerungen Version 4