Beheben von Excel und Verhindern, dass kopierte oder importierte Zeichenfolgen in Datumsangaben konvertiert werden, auch wenn Zellen als Text formatiert sind

1182
Turkeyphant

Jedes Mal, ich copy-paste einige numerische Daten als Fraktionen geschrieben oder getrennt von hyhens in Excel, es immer konvertiert Zahlen, die möglicherweise Daten in Daten sein könnte. Es gibt keine Möglichkeit, sie auf die ursprüngliche Formatierung (wie kopiert) zurückzubringen. Auch wenn Sie zum Text und zurück zur Nummer gehen, erhalten Sie eine Datumsnummer!

Selbst das Speichern in CSV und das Importieren behebt das nicht!

Ich habe seit mehreren Jahren nach einer Lösung dafür gesucht und bin immer noch so enttäuscht wie immer.

Beispiel

Alles wie 5-6oder 5/2wird zu einem Datum oder einem Datumswert und es gibt keine Möglichkeit, den ursprünglichen Inhalt der Zeichenfolge wiederherzustellen oder Excel mitzuteilen, dass Sie es als Text und nicht als Datum behandeln möchten.

Es ist nicht nur Kopieren und Einfügen. Das Senden von Daten direkt aus Anwendungen durch Integration oder über CSV funktioniert ebenfalls nicht. Sie überschreibt Sie beim Import und ändert den Inhalt in Datumswerte.

"Du Null-Rep-Idiot, das ist gelöst!"

Bevor Sie sagen, dass dies zuvor gefragt wurde. Werfen wir einen Blick auf die obersten Fragen, in denen das Gleiche gefragt wird, und die "Lösungen":

1. Stoppen Sie Excel vom Konvertieren der kopierten Zahlen- / Textwerte in Datum

Daten - Externe Daten importieren - Neue Webabfrage und folgen Sie dem Assistenten

Funktioniert nicht . Und es wäre sowieso keine Lösung, da das Kopieren nicht aus verschiedenen Quellen erfolgt und auch unglaublich langsam ist.

Fügen Sie die Daten in die Kalkulationstabelle ein. Alles auswählen und als Text formatieren Fügen Sie erneut das ein, was Sie beim ersten Mal gemacht haben, diesmal jedoch als Werte.

21 Upvotes! Ja wirklich?! Trivial funktioniert mit keinem der Daten wie in meinem Beispiel. Dauert auch ewig.

  1. Kopieren Sie die ursprünglichen Daten
  2. In Merkzettel einfügen (Notizblock bevorzugen)
  3. Ändern Sie die Zelleigenschaften in TEXT
  4. Alles aus dem Editor kopieren
  5. Fügen Sie wieder in Excel ein.

13 Upvotes. Sehr langsamer und kludgey Workaround. Funktioniert sowieso nicht.

2. Wie kann ich verhindern, dass Zahlen beim Kopieren und Einfügen in Excel in das Datumsformat konvertiert werden?

Wählen Sie die leeren Felder (oder die gesamte Spalte) aus, legen Sie sie anstelle des Standardwerts auf ein Zeichenfolgenformat fest und fügen Sie ein spezielles Einfügen (mit Rechtsklick verfügbar) mit "Nur Werte" ein, um zu verhindern, dass ein Datumsformat automatisch angewendet wird ...

Ich benutze die ganze Zeit Paste Special und Paste Values. Beim Kopieren / Einfügen von zB HTML-Tabelle gibt es keine Werte. Funktioniert nicht .

Wählen Sie vor dem Einfügen eine Spalte aus, die den Nicht-Datum-Wert enthalten soll. Rechtsklick. Wählen Sie "Zellen formatieren". Wählen Sie dann "Text" als Format und klicken Sie auf OK.

Fahren Sie nun fort und fügen Sie den Befehl ein, fügen Sie ihn jedoch mit der Option "Anpassen der Zielformatierung" ein.

Funktioniert nicht . Keine Option "Zielformatierung anpassen".

Es gibt einige Möglichkeiten, dies zu beheben. Die gebräuchlichste und einfachste Methode besteht darin, die Zellen vor dem Einfügen der Daten als Text zu formatieren (Bereich auswählen, Rechtsklick, Zellen formatieren, Text doppelt anklicken).

Wieder dieses! Funktioniert nicht .

Was ich getan habe, war einfach das Dezimaltrennzeichen zu ändern:

Keine Option. "-" und "/" sind keine Dezimaltrennzeichen. Funktioniert nicht .

Versuchen Sie, dieses sing (') in Ihre Nummer in den Quelldaten einzufügen, und dann in Excel das replace (') mit same (') zu übergehen, denn wenn Sie dieses sing hinzufügen, wird es in Ihren Daten in excel angezeigt, ersetzt es jedoch durch diese wird versteckt

-1 Stimmen aus einem Grund. Funktioniert nicht .

3. Wie kann man verhindern, dass Zahlen in Excel in Datumsangaben konvertiert werden?

Ich verwende Notepad ++ für diese Aufgabe: Kopieren Sie Ihre Daten in Notepad ++ und ersetzen Sie das "." mit "," und kopiere es nach Excel.

Langsame Problemumgehung und hilft nicht, da die Daten so bleiben müssen, wie sie sind. Funktioniert nicht .

Markieren Sie zuerst die Zellen, in die Sie einfügen möchten. Klicken Sie mit der rechten Maustaste auf "Formatieren" und wählen Sie dann "Nummer" aus.

Klicken Sie nun mit der rechten Maustaste zum Einfügen und wählen Sie "Formatierung der Zielformate" aus

...Ja wirklich? JA WIRKLICH?!

Ja, das ist manchmal sehr schmerzhaft - meine schnelle Lösung besteht darin, Zellen zu verwenden, die als Text formatiert sind.

So funktioniert es:

Kopieren Sie Ihre Nummern mit. Wählen Sie eine Spalte aus, oder einige Zellen ändern das Zellenformat in Text, der jetzt durch Einfügen von Sonderzeichen (oder Einfügen von Inhalten) ersetzt wird, da unformatierter / einfacher Text nun ersetzt wird. Mit, jetzt Format zurück in Nummer oder Standard ändern. Sie können dies natürlich in ein Makro einfügen.

Ich denke jedoch, dass es eine bessere Lösung geben könnte oder zumindest geben sollte.

Aber als Quickie funktioniert das auch;)

Nicht schnell Und rate was? Funktioniert nicht .

Antworten auf diese Frage

Nachdem ich diese Frage gepostet hatte, erhielt ich die folgende Antwort von einem Poster mit 16.000 Wiederholungen:

Bitte hören Sie auf, sich über die Version Ihrer Excel-Version zu beklagen. Excel 2007 ist fast 15 Jahre alt. In Anbetracht dessen, dass es drei Jahre gedauert hat, um die Features zu planen, zu entwickeln und in den alten dreijährigen Release-Zyklen zu testen. Wenn Sie sich darüber beschweren, können Sie sich auch darüber beschweren, dass Ihr Rotary-Telefon keine Textnachrichten empfangen kann. Wie andere bereits erwähnt haben, können moderne Excel-Versionen mit weniger Aufwand das tun, was Sie erreichen möchten. Wie wäre es mit einem Upgrade?

Wenn es so einen Fehler gibt, sehe ich kein Problem, wenn ich danach frage. Wenn es keine Lösung gibt, ist es gut, aber es bedeutet nicht, dass ich nicht daran gedacht habe, dass ich nicht darüber nachgedacht habe oder dass es sich wie geplant verhält.

Wie auch immer, ich habe das Upgrade wie gewünscht (in Excel 2011) durchgeführt und alle in diesem Thread vorgeschlagenen Antworten ausprobiert. Immer noch keine Würfel. Funktioniert nicht . Ich weiß nicht, ob dieses Poster eine Kombination aus Betriebssystem und Excel-Version vorschlagen kann, von der gezeigt wurde, dass sie ordnungsgemäß funktioniert?

Was sagt Microsoft?

Es wiederholt einfach die bekannten (aber völlig unbrauchbaren) Tricks des Anfügens eines Apostroph oder einer 0, um die Formatierung beizubehalten oder die Bruchformatierung zu verwenden. Das Vorformatieren der Zellen als Text ist möglicherweise für die manuelle Eingabe von Daten geeignet, beim Kopieren / Einfügen jedoch nicht.

Ein Plädoyer

Ich flehe dich an. Bitte sagen Sie mir, dass es eine Möglichkeit gibt, meine Daten in eine Kalkulationstabelle zu schreiben, ohne sie zu ändern!

Selbst wenn Excel das Format der Daten errät und erlegt diese auf Sie, ohne zu fragen (warum gibt es keine Paste als [Format] Option Ich verstehe nicht), Kopier-Einfügen von Text oder Werte korrekt die Tabellenstruktur für behält jede andere denkbare Textfolge auseinander von Zahlen, die durch Symbole wie "/" und "-" getrennt sind.

Durch Kopieren und Einfügen von Zeichenfolgen in anderen Formaten, wie z. B. 10%, $50.63wird die 4.25E+11Formatierung automatisch durchgeführt, die 2D-Struktur der Daten wird jedoch nicht verloren, und die Werte / der Text selbst werden nicht geändert. Nur mit Terminen tun Excel tatsächlich zerstören den Inhalt der Daten, die von Textzeichenfolgen in Datumswerte drehen. Mein $50.63in Zelle C7 bleibt $50.63in Zelle C7, 7/8ändert sich jedoch in 43319, 5-4hinein 43195und 6.4hinein 43196. Dies ist eine unidirektionale Funktion. Es gibt keine Möglichkeit, die Umwandlung umzukehren. Der Kontext und der Inhalt gehen dauerhaft verloren, da Excel Sie nur vermuten lässt und scheinbar nicht so aussieht, als wüssten Sie trotz allem, was Sie tun alle auf dieser Website "Lösungen".

-

edit: nicht duplizieren, da ich bereits in der Frage unter Überschrift 2 behandelt wurde!

1
Teilen Sie bitte mit, welche Version von Excel Sie verwenden, und veröffentlichen Sie ein Datenmuster für einige Tests. Von was kopierst du? Das Netz? Eine Textdatei? Etwas anderes, wo Formatierung wichtig ist? Bitte geben Sie diese Details an. teylyn vor 6 Jahren 0
Dies ist Excel 2007 unter Windows 7, aber ich habe im Laufe des Jahres mehrere Versionen nie ohne Freude ausprobiert. HTML-Beispiele: [link] (http://jsfiddle.net/x1d02nmg/), [link] (http://jsfiddle.net/8a0rx1pn/). Die Ergebnisse: [Link] (https://imgur.com/a/Ht9IwsV). Ich kopiere aus dem Internet Word-Dokumente und Tabellen, die von OCR-Software ausgegeben werden. Selbst bei einer Software, die direkt in Excel eingebunden ist, ändert sich das Format von der Art und Weise, in der es kopiert wurde, und wie die Zellen formatiert werden, damit Datumsangaben die Bedeutung und den Wert der Daten verlieren. Der Inhalt ist wichtig; Das Ändern von Datumsangaben zerstört es. Turkeyphant vor 6 Jahren 0
Wenn ich in Excel 2013 zuerst das Format eines Zellbereichs in einem Arbeitsblatt als Text und dann Spezialtext einfügen (von Wordpad oder Notepad kopiert) eingestellt habe, wird 9/5 als 9/5 beibehalten und nicht konvertiert miteinander ausgehen. pat2015 vor 6 Jahren 1
Ich weiß, dass Sie oben angegeben haben, dass das Formatieren als Text zuerst nicht funktioniert, aber ich habe es gerade probiert und es hat für mich funktioniert. Es ist wahr, dass ich nicht alle Einfügeoptionen bekam, aber "Match Destination Formatting" bekam, was funktionierte. Der Nachteil: Ich habe mit Word eine Webseitentabelle erstellt, als HTML gespeichert und dann mit IE geöffnet. Außerdem verwende ich Office 2016. Rey Juna vor 6 Jahren 0
@ pat2015 - Wie können Sie in Notepad und dann in Excel kopieren, ohne die Formatierung der Daten in einzelne Zellen zu verlieren? Wenn ich dies versuche, wird es als einzelne Zelle angezeigt. Turkeyphant vor 6 Jahren 0
@ReyJuna - können Sie es mit dem von mir bereitgestellten Datensatz versuchen? Turkeyphant vor 6 Jahren 0
Ihre HTML-Beispiellinks sind für mich gesperrt. Ich habe jedoch die Daten aus Ihrem Bild verwendet. Rey Juna vor 6 Jahren 0
@ReyJuna - was? JSfiddle ist gesperrt ?! Hier ist der HTML-Code: [link] (https://pastebin.com/a4rZKDWK) Wenn Sie es versucht haben, können Sie das oben abgebildete Beispiel in Excel kopieren und einfügen, ohne dass es in Datumsangaben konvertiert wird? Ich brauche eine zuverlässige und wiederholbare Methode, um zu wissen, dass ich Daten aus beliebigen Quellen kopieren und einfügen kann und dass der Inhalt von Excel nicht beeinträchtigt wird. Turkeyphant vor 6 Jahren 0
Sorry, das ist auch gesperrt. (IT mag es nicht!) Rey Juna vor 6 Jahren 0
[Hier ist ein Video von mir, bei dem ich die kommentierten Vorschläge ausprobiere] (https://www.dropbox.com/s/4y47ephcvsp1503/excel.mp4?dl=0) Während es so aussieht, als würde das Formatieren als Text erscheinen und dann mit Notepad als Nur-Text kopieren oder Ähnliches verhindert, dass Excel in Datumsangaben konvertiert. Die Daten bleiben jedoch nicht erhalten, da alle Informationen über die Organisation der Tabelle und die Position der Zeichenfolgen zerstört werden. (edit: Ich weiß nicht, wo ich andere Hosts als jsfiddle und pastebin hosten kann). Turkeyphant vor 6 Jahren 0
Zumindest in Excel 2016, wenn ich die Tabelle von Ihrem "JSFiddle" -Link kopiere; Formatieren Sie die Zielzellen in Excel als "Text" und wählen Sie dann die Option "Einfügen". Die Option "Zielformatierung anpassen" wird angezeigt und ermöglicht das Einfügen der Tabelle so, wie sie in der Originaltabelle angezeigt wird. Kein Notepad erforderlich. * Ich habe nicht Excel 2007 zum Testen * Ron Rosenfeld vor 6 Jahren 1
Mögliches Duplikat von [Beenden Sie Excel von der Konvertierung kopierter Zahlen- / Textwerte bis zum Datum] (https://superuser.com/questions/509963/stop-excel-from-converting-copy-pasted-number-text-values-to) -Datum) Excellll vor 6 Jahren 0
Antwort hier: https://superuser.com/a/827817/76571 Ich habe es mit Ihren Beispieldaten versucht, und es funktioniert. Abstimmung als Duplikat entsprechend. Excellll vor 6 Jahren 0
@Excellll - hast du die Frage überhaupt gelesen ?! Ich habe das abgedeckt. Es funktioniert * nicht * auch nach dem Upgrade von Excel. Sehen Sie sich mein Video oben an. Turkeyphant vor 6 Jahren 0

3 Antworten auf die Frage

1
ProfoundlyOblivious

Hier sind drei Möglichkeiten, die den Anforderungen entsprechen, und eine vierte, die eher situativ ist. Ja, 2 von ihnen haben gesagt, dass sie von OP nicht arbeiten sollen. Sie arbeiten für mich in Office 365 Pro Plus, damit sie für viele andere funktionieren. Ihre Laufleistung kann je nach Excel-Version variieren:

Methode 1 - Kopieren und Einfügen

  1. Formatieren Sie den Zielbereich als Text
  2. Copy die HTML-Daten
  3. Paste mit Match Destination

Methode 2 - Daten aus dem Web abrufen

  1. Klicken Sie auf der Registerkarte "Daten" des Menübands auf "Daten abrufen"
  2. Bewegen Sie den Mauszeiger über "Aus anderen Quellen", um das Dropdown-Menü zu erweitern
  3. Wählen Sie "From Web" und geben Sie den URL / Dateispeicherort ein
  4. Wählen Sie die Quelltabelle aus der Liste auf der linken Seite des Abfrageeditors aus
  5. Klicken Sie unten rechts auf "Bearbeiten"
  6. Ändern Sie den Datentyp jeder Spalte Textin der Gruppe "Transformieren" der Registerkarte "Start" des Menübands
  7. Klicken Sie auf "Schließen & Laden". Eine Tabelle wird in einem leeren Arbeitsblatt erstellt

Methode 3 - VBA

  1. Fügen Sie den Code von unten in ein Modul ein
  2. Ändern Sie PathOrURL in Ihren Dateispeicherort oder URL
  3. Führen Sie die Prozedur aus

Ich schrieb dies mit der Annahme, dass Ihre Datenquelle die erste oder möglicherweise einzige Tabelle in der HTML-Datei ist. Es konvertiert die Quellentabellenwerte in Zeichenfolgen und schreibt die Zeichenfolge in das Arbeitsblatt, ohne sie zu kopieren oder einzufügen. Zellenformate müssen nicht geändert werden.

Erfordert MS Internet Controls und MS HTML Object Library-Referenzen

Option Explicit Sub GetTextFromHTML() Dim PathOrURL as String: PathOrURL = Environ("USERPROFILE") & "\Desktop\a4rZKDWK.html" Dim IE As New InternetExplorerMedium Dim x As Long, y As Long Dim tbl As HTMLTable Dim sVals() As String IE.Navigate PathOrURL Do While IE.ReadyState <> READYSTATE_COMPLETE DoEvents Loop Set tbl = IE.Document.getElementsByTagName("table")(0) With tbl ReDim sVals(1 To .Rows.Length, 1 To .Rows(1).Cells.Length) For y = 1 To .Rows.Length For x = 1 To .Rows(1).Cells.Length sVals(y, x) = CStr(tbl.Rows(y - 1).Cells(x - 1).innerText) Next Next End With IE.Quit ActiveSheet.Cells(1, 1).Resize(UBound(sVals), UBound(sVals, 2)).Value = sVals End Sub 

Methode 4 - Übergangseintrag (situativ)

  1. Klicken Sie im Menüband auf "Datei"
  2. Wähle Optionen"
  3. Wählen Sie "Erweitert"
  4. Scrolle ganz nach unten
  5. Aktivieren Sie das Kontrollkästchen für "Übergangseintrag".
  6. HTML-Daten kopieren
  7. Einfügen in ein Excel-Arbeitsblatt

Es kann ein Fall für die Verwendung von "Übergangseingaben" gemacht werden, da das Datumsproblem dadurch gelöst wird, dass Brüche kopiert und als Brüche eingefügt werden können - jedoch nicht den Anforderungen von OP genügt, da dies auch den reduzierbaren Bruch vereinfacht. Beim Kopieren von 6/9 werden 2/3 eingefügt. Irreduzible Fraktionen sind in Ordnung und werden nicht modifiziert. Unzulässige Brüche werden ebenfalls unterstützt.

Ich vermute, Excel konvertiert die Quelldaten von Bruch in Dezimal und dann wieder in Bruch, da vereinfachte Brüche ein logisches Ergebnis einer Dezimal-Konvertierung sind. Wenn Sie erwägen, mit 2/4, 3/6, 12/24 zu beginnen, werden alle in 0,5 Dezimalzahlen konvertiert. Wir verlieren alle Informationen über die Einzigartigkeit, wenn sie das tun. Sie können 2/4 von 3/6 unterscheiden, aber das ist mit 0,5 und 0,5 nicht möglich. Von der Dezimalstelle zurück zum Bruch, es gibt buchstäblich unendlich viele Brüche von 0,5 und wir könnten jeden von ihnen verwenden. Wir wissen nicht, womit wir angefangen haben, weil alles verloren gegangen ist und sich auf 0,5 bewegt hat. Die Wahrscheinlichkeit, mit unendlich vielen Möglichkeiten genau zu raten, ist eher gering, so dass das beste Ergebnis vollständig reduziert und vereinfacht wird diese ... 1/2

Leider leidet das benutzerdefinierte Format "# / #", das ich letzte Woche empfohlen habe, unter dem gleichen Problem wie "Übergangseintrag". Es bringt alle Fraktionen herüber, vereinfacht aber jede eingefügte reduzierbare Fraktion.

Vielen Dank. Ich versuche es, wenn ich nächste Woche irgendwann wieder auf einen Computer zugreifen kann. Wenn Sie ein 30er-Video aufnehmen könnten, das überprüft, dass es funktioniert, wäre das großartig. Bei anderen Lösungen wurde vorgeschlagen, die Formatierung des Ziels zu treffen. Sie können jedoch aus meinem Video erkennen, dass beim Versuch keine solche Option vorhanden ist. Turkeyphant vor 6 Jahren 0
Sicher. Ich werde meine Antwort mit Screenshots und einem Kommentar aktualisieren und ein Video verknüpfen. Ich vermute, das Video ist von begrenztem Wert, aber die Screenshots helfen allen, die nicht wissen, wie man ein benutzerdefiniertes Zahlenformat einstellt. Ich bin sicher, dass ich das über VBA lösen kann, aber das erfordert viel mehr Arbeit für mich, deshalb möchte ich sicherstellen, dass das Standard-Excel nicht funktioniert, bevor ich aus dem tiefsten Bereich abtauche. ProfoundlyOblivious vor 6 Jahren 0
Nur probiert und es funktioniert nicht bei Originalpaste. Beim erneuten Anwenden der Formatierung [ich bekomme einen Nenner von 1 unter dem Datumswert] (https://imgur.com/a/PQMs0x7). Dies gilt für beide Arten von Eingabedaten in Excel. Turkeyphant vor 6 Jahren 0
Sorry hatte keine Chance das Schreiben abzuschließen, ich hatte ein paar Video-Proben durchlaufen und dann hatte ich einen Handflächenmoment. Meine Lösung funktioniert für jedes Szenario in Ihren Testdaten mit Ausnahme eines, und ich habe es bis dahin nicht bemerkt. Die Fraktionen wurden reduziert, 3/6 würde als 1/2 eingefügt. Brüche, die bereits reduziert waren, und fehlerhafte Brüche wurden korrekt eingefügt. Es stellt sich heraus, dass Excel es in eine Dezimalzahl konvertiert und das Zahlenformat wieder in Ihr Format zurückgesetzt wird. Offensichtlich ist dies nicht die Lösung, die Sie möchten, da Sie den ursprünglichen Bruch beibehalten möchten. Ich gebe noch nicht auf !! ProfoundlyOblivious vor 6 Jahren 0
Ich habe keinen Nenner gesehen, der gleich 1 ist. Ich vermute, dass dies ein Ergebnis verschiedener Excel-Versionen ist, aber das ist nur ein Schuß im Dunkeln. ProfoundlyOblivious vor 6 Jahren 0
Danke, dass Sie zu mir zurückgekommen sind. Das Problem ist, dass beide Versionen von Excel, die ich versucht habe, die Formatierung beim Einfügen überschreiben. Wenn Sie dann das Format "# / #" oder ein anderes "Number" -Format verwenden, wird der Text als Datumsangaben interpretiert, in einen Datumswert konvertiert (z. B. "22/8" -> "43334") und anschließend in einen reduzierten Bruchteil konvertiert erfordert einen Nenner von 1. Der Kernpunkt des Problems ist immer noch, dass Excel nicht akzeptiert, dass Text wie dieser niemals als Datum gedacht war. Turkeyphant vor 6 Jahren 0
@turkeyphant Ich kann das Verhalten replizieren, bei dem alle Nenner auf 1 gesetzt sind. Dies geschieht, wenn das Zahlenformat nach dem Einfügen der Tabelle geändert wird. Das Format muss zuerst festgelegt werden, dann muss die Tabelle eingefügt werden und natürlich mit dem Übereinstimmungsziel. Excel 2010 ermöglicht das Übereinstimmungsziel beim Kopieren einer HTML-Datei. Sie sind sich nicht sicher, welche Version Sie verwenden, Sie sollten jedoch wahrscheinlich noch einmal überprüfen, ob Sie sie nicht übersehen. In jedem Fall sollte die VBA, die ich geschrieben habe, für Sie funktionieren. ProfoundlyOblivious vor 6 Jahren 0
Vielen Dank, dass Sie sich die Zeit genommen haben, Ihre ausführliche Antwort zu aktualisieren. Leider kann ich mit keiner Excel-Version arbeiten, auf die ich Zugriff habe (und ja, ich bin mir sicher, dass ich diese Option nicht überspringe - siehe mein Video). Leider sind 2 und 3 keine Option, da sie sehr lange dauern und ohnehin oft die Daten von Programmen oder anderen Quellen erhalten, in der Tat selten das Web und noch seltener Websites mit vorhersagbarem, nicht dynamischem HTML. Turkeyphant vor 6 Jahren 0
Es gibt keine "Datei" auf meiner Multifunktionsleiste, aber ich kann zu Excel-Optionen> Erweitert gehen und ich habe ein Ankreuzfeld für die Eingabe von Übergangsformeln (es ist mir nicht klar, welche Nebenwirkungen dies hat). Das * funktioniert fast *. Beim Kopieren und Einfügen von Brüchen (auch bei Voreinstellung des Formats) erhalte ich Dezimalzahlen der korrekten Zahlen anstelle von Datums- oder Datumswerten. Ich kann dann das Format in `# / #` ändern und ich bekomme die Brüche, obwohl sie reduziert sind, wie Sie es erwähnen. Leider funktioniert es nicht mit dem `xy`-Format, das ich auch benötige, da Excel dies als Summen interpretiert, so dass aus '5-2' 3 und aus 2-6` 4 wird. Turkeyphant vor 6 Jahren 0
Ich habe eine Lösung gefunden, die in allen Versionen von Excel, allen Datenformaten und allen Datenquellen für mich funktioniert. Es ist auch das schnellste und effizienteste, das ich gefunden habe. Ich mag auch Ihre anderen Antworten, auch wenn sie das Problem nicht für mich lösen - möchten Sie lieber meine eigene Frage beantworten oder Ihre Antwort bearbeiten, um meine neue Methode einzufügen? Turkeyphant vor 6 Jahren 0
Selbst beantwortete Fragen sind erlaubt. ProfoundlyOblivious vor 6 Jahren 1
Ich muss zugeben, dass ich in keinem Szenario 5-4 getestet habe, weil ich den von Ihnen bereitgestellten HTML-Code verwendet habe, der nur Brüche enthielt. Mein Makro sollte mit denen funktionieren, aber es scheint jetzt irrelevant. ProfoundlyOblivious vor 6 Jahren 1
Entschuldigung, ich habe zwei HTML-Beispiele gegeben - eines benutzte `/` und das andere `-`. Ich bin mit dem Protokoll hier nicht vertraut. Da zwei Ihrer Lösungen anscheinend für andere Benutzer funktionieren, ist es besser, Ihre Frage zu bearbeiten oder sie zu meiner eigenen anderen Lösung hinzuzufügen. Turkeyphant vor 6 Jahren 0
If your solution is the best solution for the question then you should post it. Since you asked the question you have a much better sense of the best solution than the rest of us. Also, consider if I edit my post and make a mistake. Or don't satisfactorily explain a critical aspect? If you like my answer then vote it up but post yours ProfoundlyOblivious vor 6 Jahren 1
Danke, ich werde eine Bestätigung erhalten, sobald ich genug Vertreter habe. Schätze deine Hilfe. Turkeyphant vor 6 Jahren 0
0
teylyn

Nun, Methinks müssen Sie Ihre Frage neu formulieren. Es ist eher so: "Wie kann ich meinen Kuchen essen und habe ihn trotzdem?"

Bei der Arbeitsweise von Excel wird versucht, die Daten sinnvoll zu verstehen und die Standardformatierung anzuwenden. Dies gilt für Text, der wie Datumsangaben aussieht, Text, der wie Zahlen aussieht, HTML-Tags, die darauf hindeuten, dass sich etwas in einer Tabellenzelle befindet, und ähnliches.

Wenn die Formatierung ignoriert wird, z. B. durch Einfügen von Text (oder Einfügen spezieller Werte), werden ALLE Formatierungen ignoriert. Der Text, der wie Datumsangaben aussieht, wird nicht in Datumsangaben konvertiert. Aber auch die Tischstrukturen werden nicht überleben.

Wenn Sie jedoch die Tabellenstruktur beibehalten möchten, müssen Sie den eingefügten Inhalt von Excel interpretieren und die erkannten Formate anwenden. Das bedeutet leider, dass diese Texte in Datumsangaben umgewandelt werden.

So frustriert Sie auch sein mögen, im Moment gibt es dafür keine Out-of-the-Box-Lösung. Was Sie verlangen, ist derzeit nicht möglich. (Das ist eine richtige Antwort auf Ihre Frage).

Sie können einen Vorschlag unter http://excel.uservoice.com veröffentlichen, auf dem die Leute darüber abstimmen können. Je mehr Stimmen ein Vorschlag hat, desto wahrscheinlicher ist es, dass er umgesetzt wird.

Möglicherweise möchten Sie auch Alternativen zum Kopieren und Einfügen in Betracht ziehen. Möglicherweise können Sie Power Query verwenden, um die Datenquelle abzufragen und die Daten so zu gestalten, dass der Text unverändert bleibt.

_Wenn die Formatierung ignoriert wird, z. B. durch Einfügen von Text (oder Einfügen spezieller Werte), werden ALLE Formatierungen ignoriert. Text, der wie Datumsangaben aussieht, wird nicht in Datumsangaben konvertiert. Aber die Tischstrukturen werden auch nicht überleben. Dies ist ein totaler Strohmann. Beim Einfügen von Text oder Werten bleibt die Tabellenstruktur für ** jede andere denkbare Textzeichenfolge ** _apart aus_Zahlen erhalten, die durch Symbole wie "/" und "-" getrennt sind. Darüber hinaus wird das Festlegen von Datentypen für Zellen nicht für andere Datentypen außer Datumsangaben überschrieben (besonders verwirrend, da es üblich ist, solche Nicht-Datumsdaten zu haben.) Turkeyphant vor 6 Jahren 0
Betrachten wir andere von Excel unterstützte Datenformate wie Prozentsatz, Währung, Buchhaltung, Datumswert und Wissenschaft. Durch Kopieren und Einfügen von Zeichenfolgen wie "10%" "$ 50.63" "4.25E + 11" wird die Formatierung automatisch durchgeführt (auch hier sollte ein einfaches Umschalten erforderlich sein). Die Konvertierung in Text entspricht jedoch genau dem, was auf der Dose steht. Das ** nur ** die Formate, von denen ich weiß, dass das Konvertieren in Text nicht in die Literal-Zeichenfolge konvertiert wird, sind diese Arten von Zahlen, bei denen _sometimes_ Datumsangaben sind. Excel ** zerstört stattdessen ** den Inhalt der Daten, indem er "7/8" in 43319 "5-4" in 43195 "6.4" in 43196 und so weiter verwandelt. Turkeyphant vor 6 Jahren 0
Power Query ist für meine Version von Excel nicht vorhanden. In jedem Fall ist es nicht sinnvoll, Daten schnell und einfach aus einer der verwendeten Quellen abzurufen, die komplizierte dynamische Websites, Software, Dateien usw. enthalten. Turkeyphant vor 6 Jahren 0
Warum beschweren Sie sich weiterhin in den Kommentaren? Diese klären Ihre Frage nicht und helfen nicht, sie zu lösen. Ich verstehe, dass Sie mit der Antwort nicht zufrieden sind, es liegt jedoch nicht an uns, Excel zu ändern. Máté Juhász vor 6 Jahren 1
@Turkeyphant Bitte hören Sie auf, sich darüber zu beschweren, was Ihre Version von Excel tun sollte. Excel 2007 ist fast 15 Jahre alt. In Anbetracht dessen, dass es drei Jahre gedauert hat, um die Features zu planen, zu entwickeln und in den alten dreijährigen Release-Zyklen zu testen. Wenn Sie sich darüber beschweren, können Sie sich auch darüber beschweren, dass Ihr Rotary-Telefon keine Textnachrichten empfangen kann. Wie andere bereits erwähnt haben, können moderne Excel-Versionen mit weniger Aufwand das tun, was Sie erreichen möchten. Wie wäre es mit einem Upgrade? teylyn vor 6 Jahren 1
@teylyn - zu keinem Zeitpunkt haben Sie vorgeschlagen, dass sich die Ergebnisse von anderen Versionen unterscheiden. Ich beklage mich nicht, ich kommentiere Ihre "Antwort", um Ihre falschen Behauptungen bezüglich der Verarbeitung von Daten in Excel zu korrigieren. Es ist einfach nicht richtig zu sagen, dass das Einfügen von Werten oder als Nur-Text Tabellenstrukturen entfernt und alle anderen Datentypen beibehalten werden, ohne dabei die Zielformatierung zu ignorieren. Sie haben wahrscheinlich Recht, dass Excel damit nicht zurechtkommt, aber Sie haben völlig falsche Argumente, weshalb ich Sie korrigiert habe. Turkeyphant vor 6 Jahren 0
@ Máté sie klären die Frage, weshalb ich sie später bearbeitet habe, um die Klarstellungen aufzunehmen. Turkeyphant vor 6 Jahren 0
Es ist auch unaufrichtig und völlig falsch zu sagen, dass ich um etwas Unverständliches bittet, wie meinen Kuchen zu essen und ihn zu essen. In der Frage schlage ich eine einfache Methode vor, die dieses Problem vollständig vermeidet und für diejenigen, die die automatische Formatierung mögen, keine Probleme bereitet und zeigt, dass dies ein Ausreißer im Vergleich zu allen anderen Datenformaten ist, die als erwartet und beabsichtigt behandelt werden. Turkeyphant vor 6 Jahren 1
@Turkeyphant Haben Sie versucht, dasselbe benutzerdefinierte Zahlenformat zu erstellen, das ich vorgeschlagen habe? Ich sehe nicht, dass es irgendwo anders in diesem Thread vorgeschlagen wird, oder ich sehe es als eine Methode an, die Sie ausprobiert haben. Meine Antwort schlägt vor, das Ziel zu finden, und ich weiß, Sie sagten, Sie hätten diese Option nicht, aber verschiedene Quellen behaupten, es sei das Standardverhalten in '07. Ich kann das nicht überprüfen, da ich keine Excel-Version habe und mein Arbeitsspeicher nicht geh so weit zurück. Wenn beim Einfügen das benutzerdefinierte Format entfernt wird (dies sollte nicht der Fall sein), wird das Anwenden des benutzerdefinierten Formats auf die Zelle fast sicher richtig angezeigt. Ich würde mich über Feedback freuen. ProfoundlyOblivious vor 6 Jahren 0
@ProfoundlyOblivious - Wie gesagt, ich war bis jetzt noch nicht in der Nähe eines Computers. Nur probiert und es funktioniert nicht bei Originalpaste. Aktualisiert deine Antwort mit Details. Turkeyphant vor 6 Jahren 0
@teylyn - hat gerade Excel aktualisiert und funktioniert trotzdem nicht (siehe Frage bearbeiten). Können Sie eine Version von Excel bestätigen, in der Sie diese Arbeit wie beabsichtigt gemacht haben? Turkeyphant vor 6 Jahren 0
@turkeyphant Zu Hause verwende ich Office 365 Pro Plus, im Büro verwende ich Excel 2010. Ironischerweise arbeiten beide, wenn das Ziel in einen Bereich eingefügt wird, der zuvor als Text formatiert wurde. Dasselbe gilt für meine Lösung mit dem benutzerdefinierten Zahlenformat - mit der in meinem Edit genannten Einschränkung. Es ist wichtig zu wissen, dass das manuelle Eintippen von 3/5 in eine nicht ordnungsgemäß formatierte Zelle (wie z. B. allgemeine) die gleichen Ergebnisse liefert wie das Einfügen in sie - beide konvertieren in das Datum. ProfoundlyOblivious vor 6 Jahren 0
@ProfoundlyOblivious - Seltsam, dass das angeblich neuere Excel 2011 diese Option überhaupt nicht bietet. Und auch, dass alle diese "alten" Versionen von Excel die manuelle Eingabe als Textformat durch einen Apostroph ermöglichen, jedoch keine Lösung zum Einfügen als Textformat für Zeichenfolgen wie diesem bieten ... Turkeyphant vor 6 Jahren 0
Excel 2011 ist für Mac. Diese Mac-Version von Excel liegt um Jahre vor der Windows-Version von Excel. teylyn vor 6 Jahren 0
@turkeyphant probiere Methode Nummer 3 meiner aktualisierten Antwort ProfoundlyOblivious vor 6 Jahren 0
@teylyn - was ist dein Punkt? (Und wie sollten Benutzer über Ihren Anspruch Bescheid wissen?) Ich warte noch immer darauf, dass Sie eine Version von Excel bestätigen, in der Sie diese Arbeit wie beabsichtigt gemacht haben. Turkeyphant vor 6 Jahren 0
Mein Punkt ist, dass Excel 2011 nicht "neuer" ist als Excel 2010. Es ist tatsächlich älter. Ich weigere mich, in dein Wurmloch gezogen zu werden. teylyn vor 6 Jahren 0
Recht. Betrachten Sie mich als informiert (sorry, wenn das nicht offensichtlich war). Ist es tatsächlich möglich, das zu tun, was Sie in einer beliebigen Version von Excel behaupten? Wenn Sie eine Antwort vorschlagen, listen Sie bitte die Version auf, in der der Fehler behoben wurde. Turkeyphant vor 6 Jahren 0
0
Turkeyphant

Nach viel mehr Recherche und einigen sehr hilfreichen Beiträgen von @ProfoundlyOblivious habe ich die bestmögliche Methode erarbeitet, die scheinbar funktioniert. Es ist alles andere als perfekt, aber es funktioniert tatsächlich aus allen Datenquellen, die ich ausprobiert habe, beinhaltet keine verwundenen Schritte und ist vor allem zeitsparend und zuverlässig.

Vorschläge, wie z. B. Daten aus Web oder VBA-Skripts abrufen, sind einfach nicht verwendbar, wenn Sie Daten aus einer Vielzahl unvorhersehbarer Quellen abrufen und sie im Excel- oder CSV-Format verarbeiten müssen.

Ebenso habe ich mit verschiedenen Versionen von Excel immer wieder überprüft, ob die Personen, die behaupten, über Notepad zu gehen, funktionieren oder ob die Zellen vor und / oder nach der Formatierung nicht funktionieren . Leider keine benutzerdefinierten Zahlen- / Textformate. Klar ist, dass Daten in diesem Format im Vergleich zu anderen Datenformaten, wenn sie von diesen Versionen von Excel verarbeitet werden, ein klarer Rand sind.

Was funktioniert?

Kopieren / Einfügen in eine Google Docs-Kalkulationstabelle und anschließend Speichern als * .xlsx oder * .csv.

Es war wirklich so einfach. Vielleicht keine richtige Antwort auf das Beheben von Excel, aber bei weitem die beste Lösung, die ich gefunden habe. Schnell, einfach, zuverlässig und macht alles was ich tun muss.