Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zahlen als wissenschaftliches Format übernommen
#1
Liebe Excel-KollegInnen,

ich habe einen Datensatz mit rund 50k Zeilen. Darin befinden sich in rund 40 Columns Zahlenwerte. Der Großteil sind 0.xxxxx Werte. (so erkennt er die Werte als "Standard", als Zahl mit ",")
Rund 1000 Zellen besitzten aber Werte die größer als 1 sind und von Excel nicht als Zahlen sondern als Wissenschaftliches Format übernommen wurden (sprich 8,xxxxxx+E10)
Formatiere ich diese Werte als Zahl wird daraus natürlich eine riesen Große Zahl, da die Kommastelle nicht nach der 8 sondern irgenwo hinten gesetzt wird. Die Zahl sollte aber 8,xy sein.
Ich habe bereits alles erdenkliche probiert. Alles als .txt gespeichert und den "." mit "," ersetzt. Dann sind alle Werte als Zahl formatiert, nur die wiss. Felder bleiben also solche erhalten.
Hatte auch versucht alles als string zu formatieren und dann in Python als number --> mit gleichem Resultat.

Ich möchte einfach nur, dass die 8,xxxxxx+E10 Werte als 8,xxxxx formatiert werden


Problem sieht trivial aus, für mich aktuell nicht lösbar.
wäre super, wenn hierfür jemand eine Lösung hätte!

Danke
roman


Angehängte Dateien
.xlsx   excel-frage.xlsx (Größe: 13,35 KB / Downloads: 5)
Antworten Top
#2
Hallo Roman,

dieser Artikel dürfte dein Problem lösen: https://www.schieb.de/719459/microsoft-e...e-anzeigen

Denke aber daran, dass Excel nur bis auf 15 Stellen richtig dargestellt und berechnet wird. XL stellt alle Ziffern ab der 16. Stelle auf 0 um.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#3
Du hast 50000 Datensätze mit 40 Feldern in Deinen Daten.
Antworten Top
#4
Hallo,
nein das löst mein Problem leider nicht. Dadurch wird das Feld ja nur in ein Zahlenformat verwandelt. die Zahl ist danach 88888889877,1256 anstatt 8,88888898771256
ich kann damit leidern nichts anfangen, da ich nicht fast 1000 Felder manuell durch 10000000000 dividieren kann, damit der Wert wieder stimmt.
Antworten Top
#5
ja, es sind so viele Daten
Antworten Top
#6
Hi Roman,

ich gehe davon aus, dass deine Zahlen in einer Spalte sind? Dann brauchst du nicht großartig manuell tätig werden. Es reicht den ersten (umgewandelten) Eintrag per Formel zu dividieren (irgendwo in einer Hilfsspalte); danach lässt du mit einem Doppelklick auf das Ausfüllkästchen rechts unten an der Zelle die gesamte Spalte berechnen. Danach kopierst du sie und fügst sie als Werte in deine Originalspalte wieder ein.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#7
sie sind in den 40 spalten und 50.000 Zeilen verteilt.... da muss es eine einfachere Lösung als diesen Workaround geben Dodgy
Antworten Top
#8
Hallo,

im gezeigten Workbook stehen die meistens Zahlen im US-Format, also z.B. "0.07123".

In dieser Version, also VOR der Umwandlung ins deutsche Zahlenformat, kann man die Fehler recht schnell finden mit

Code:
Ar = cells(1).currentregion

for i = 2 to ubound(Ar)
    for j = 1 toUbound(Ar,2)
       if instr(1, Ar(i,j), ",") then cells(I,j).interior.color = vbyellow
   next j
next i

Damit kann man dann auch durch 10^10 teilen.

mfg
Antworten Top
#9
Hallo Fennek,
danke für deine Antwort, das hört sich schon sehr hilfreich an! Mir ist aber noch unklar, wie ich nun vorgehen soll.
Liebe Grüße
Antworten Top
#10
Mein Verständnis:

- ein externes Programm erzeugt Daten in US-Notation: dezimal-Trenner: "."
- beim Import in Excel erfolgt eine automatische Typ-Umwandlung, die für Werte > 1 falsch ist.

Lösungsansätze:

- anderer Import in Excel (mit den richtigen Dezimal-Trennern)

oder "2. best"

- nachträgliche Fehlerbehandlung
- im gezeigten Dokument meinen Code ausführen
- beim ersten Lauf stichprobenartig prüfen, ob alle "E+10" - Zellen markiert werden
- beim zweiten Durchlauf den Zellwert durch 10^10 teilen
- die engl. Zahlen ins deutsche Formal wandeln

Reicht das als Anregung?

mfg
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste