Excel - Übergabefehler mit Text-Funktion und Autoformat

Petronius

Cadet 3rd Year
Registriert
Nov. 2012
Beiträge
33
Hallo Leute,

ich stehe gerade bei folgendem Sachverhalt auf der Leitung, welchen ich mal vereinfacht darstelle:

Aus einer Excel-Datei werden diverse Werte in andere Programme übernommen (Spalte A). Damit diese korrekt übenommen werden, war es notwendig, diese vorher mit der TEXT-Funktion umzuwandeln (Spalte C + Formel), da es sonst immer mal wieder Darstellungsfehler in den anderen Programmen gab. Dies hat bisher auch immer mit der Formel "=TEXT(A2;"#.#0")" gut funktioniert.

Bei der letzten Übergabe fiel mir auf, dass die TEXT-Funktion einzelne "Übergabewerte" falsch darstellt (siehe C3 + C10). Vermutlich hängt es mit diversen Autoformatierungen (Datum / Uhrzeit / Rundungen) zusammen. Wenn ich z.B. in einer neuen, leeren Tabelle "7 a" eingebe, erscheint bei mir eine Uhrzeit (7:00 AM) oder ein Wert (0,29...), ab 13 aufwärts passiert dies nicht mehr. Bei C10 wird die erkannte Zahl gerundet.

Die Werte in Spalte A sind alle mit Apostroph erfasst, um solche Autoformatierungen eigentlich zu verhindern (siehe Eingabefeld). Die Änderung der Spalten A und C von Standard in Text (über Zellen formatieren) hat leider auch nichts gebracht. Die Abänderung der Formel in "=TEXT(A3;"#")" führt bei C3 zu einem leeren Feld.

Hat jemand eine Idee, wie man die TEXT-Formel so abändern kann, dass
a) in Spalte A und Spalte C dasselbe steht und
b) die Formel durchkopiert werden kann?


Fehler Uebergabe.jpg


Für Eure Mithilfe vielen Dank

Petronius
 
Hola,
auf Bildern kann man keine Formatierungen sehen/erraten.
Eine Exceldatei mit der Forrmel und den falschen Ergebnissen wäre hilfreich.

Gruß,
steve1da
 
Wenn ich z.B. in einer neuen, leeren Tabelle "7 a" eingebe, erscheint bei mir eine Uhrzeit (7:00 AM) oder ein Wert (0,29...), ab 13 aufwärts passiert dies nicht mehr.
Auf die Schnelle fällt mir eine Antwort ein: In den USA z.B. heißt 13 Uhr 1:00 PM.
 
Excelzellen haben je nach Vorgeschichte mitunter ein eigenleben, welches nur schwer durchschaubar ist.
Um wirklich reinen Text zu haben, kann im Excel dem Zellinhalt ein Hochkommata vorangestellt werden.

Ich würde mal versuchen anstelle der Textfunktion:
C1 = "'" & A1
also überall ein Hochkommata voranzustellen. Damit hast du natürlich deine Daten verfälscht. Wenn aber die Daten in Excel nur als Text weiterverwendet werden sollen, kann das funktionieren.
 
Wenn die Werte in Spalte A mit führendem Hochkomma erfasst werden, brauchst Du gar nichts mehr machen!

Dein TEXT(A1;"#.#0") ist ohnehin völlig falsch.
Entweder TEXT(A1;"#.##0") → dies führt zur Rundung auf Ganzzahl (mit Tausenderpunkt), falls ISTZAHL(A1)
(siehe Dein C10)
Wie @SuperHeinz fast korrekt schrieb:
7 a wird von Excel als 7:00 Uhr interpretiert (a für ante meridiem, Vormittag)
Dies ist als Dezimalzahl 0,291666 in Deiner TEXT() wird dann auf 0 abgerundet.

Um Dich noch ein wenig zu verwirren:
=--"5E-3" ergibt 0,005 (exponentielle Schreibweise)
=--"5-3" ergibt 44990 (für den 05.03.2023)
 
Hallo Leute,

vielen Dank für die zahlreichen Hinweise.
steve1da schrieb:
Eine Exceldatei mit der Formel und den falschen Ergebnissen wäre hilfreich.
Anbei erstmal die Datei im Anhang.
C1 = "'" & A1 führt durchaus zu einem sinnvolleren Ergebnis, ...
Formel01.jpg

... aber es erscheint halt zusätzlich das Hochkomma/Apostroph. Ferner besteht ohne die TEXT-Funktion wiederum das Problem mit den Darstellungsfehlern in den Folgeprogrammen.
RPP63 schrieb:
Dein TEXT(A1;"#.#0") ist ohnehin völlig falsch.
Entweder TEXT(A1;"#.##0") → dies führt zur Rundung auf Ganzzahl (mit Tausenderpunkt), falls ISTZAHL(A1)
(siehe Dein C10)
Die TEXT(A1;"#.##0") führt grundsätzlich zu denselben Ergebnissen wie die bisherige TEXT(A1;"#.#0"), ist aber - wie Du schon ausgeführt hast - definitiv logischer. Wenn ich Deine TEXT(A1;"#.##0") bei C10 dann noch auf TEXT(A10;"#.###,#0") anpasse, kommt sogar das gewünschte Ergebnis heraus.

Könnte man z.B. mit einer WENN-Funktion den Wert in Spalte A prüfen und dann - je nach Ergebnis - im "Normalfall" TEXT(A1;"#.##0"), im Fall C10 TEXT(A10;"#.###,#0") und im Fall C3 eine weitere passende TEXT-Funktion ausführen?

Für Eure Mithilfe vielen Dank

Petronius
 

Anhänge

  • Beispiel.xls
    13,5 KB · Aufrufe: 70
Den wichtigsten Teil meiner Antwort hast Du nicht berücksichtigt:
RPP63 schrieb:
Wenn die Werte in Spalte A mit führendem Hochkomma erfasst werden, brauchst Du gar nichts mehr machen!
Siehe Spalte B mit =A2
ScrShot1.png
 
Zurück
Oben