it-swarm.com.de

Konvertierung von Excel nach Datum

In einer Zelle in einer Excel-Tabelle habe ich einen Datumswert wie:

01/01/2010 14:30:00

Ich möchte dieses Datum in Text konvertieren und möchte, dass der Text genau wie Datum aussieht. Ein Date-Wert von 01/01/2010 14:30:00 sollte also wie 01/01/2010 14:30:00 aussehen, aber intern sollte er Text sein.

Wie kann ich das in Excel machen?

118
Chaitanya MSV
=TEXT(A1,"DD/MM/YYYY hh:mm:ss")

(24 Stunden)

=TEXT(A1,"DD/MM/YYYY hh:mm:ss AM/PM")

(Normalzeit)

233
Kirill

Hier ist ein VBA-Ansatz:

Sub change()
    toText Sheets(1).Range("A1:F20")
End Sub

Sub toText(target As Range)
Dim cell As Range
    For Each cell In target
        cell.Value = cell.Text
        cell.NumberFormat = "@"
    Next cell
End Sub

Wenn Sie nach einer Lösung ohne Programmierung suchen, sollte die Frage an SuperUser verschoben werden.

8
marg

Hier ist eine weitere Option. Verwenden Sie den in Excel eingebauten Assistenten "Text to Columns". Es befindet sich in Excel 2007 auf der Registerkarte Daten.

Wenn Sie eine Spalte ausgewählt haben, sollten die Standardeinstellungen für Dateityp und Trennzeichen funktionieren. Dann werden Sie aufgefordert, das Datenformat der Spalte zu ändern. Durch die Auswahl von Text wird das Textformat erzwungen, um sicherzustellen, dass es nicht als Datum gespeichert wird.

5
Adam Miller

In einigen Kontexten funktioniert die Verwendung eines 'Zeichens zuvor, aber wenn Sie in CSV speichern und erneut laden, ist dies nicht möglich.

'01/01/2010 14:30:00
4
Nick Fortescue

Die TEXT () - Formel konnte nicht funktionieren

Die einfachste Lösung bestand darin, das Einfügen in den Editor und wieder in Excel zu kopieren, wobei die Spalte auf Text gesetzt war, bevor Sie sie wieder einfügen

Oder Sie können dasselbe mit einer Formel wie dieser tun

=DAY(A2)&"/"&MONTH(A2)&"/"&YEAR(A2)& " "&HOUR(B2)&":"&MINUTE(B2)&":"&SECOND(B2)

3
jetpackdata.com

Wenn Sie keine Programmierung verwenden, gehen Sie wie folgt vor: (1) Wählen Sie die Spalte (2) aus. Klicken Sie mit der rechten Maustaste, und wählen Sie Zellen formatieren Aus. (3) Wählen Sie "Benutzerdefiniert" (4) "Just Under". Typ: "Typ tt/mm/jjjj hh: mm: ss

1
Harihara Iyer

Ich habe keine Ahnung vom Jahr der Veröffentlichung der Frage; es könnte jetzt alt sein. Ich erwarte also, dass meine Antwort nach meinem Beitrag eher eine Referenz für zukünftig ähnliche Fragen sein wird.

Ich weiß nicht, ob irgendjemand da draußen schon eine ähnliche Antwort gegeben hat wie ich, die ich jetzt geben werde, was dazu führen könnte, dass ich die einfachste, direkteste und effektivste bin: Wenn jemand sie bereits gegeben hat, entschuldige ich mich aber ich habe es nicht gesehen. Hier meine Antwort mit CStr anstelle von TEXT:

Die Zelle A1 enthält ein Datum und den VBA-Code:

Dim strDate As String

'Convert to string the value contained in A1 (a date)
strDate = CStr([A1].Value)

Danach können Sie es mit den String-Funktionen (MID, LINKS, RECHTS, LEN, CONCATENATE (&) usw.) als normale Zeichenfolge bearbeiten.

In Excel 2010 funktionierte Margs Antwort nur für einige Daten, die ich in meiner Tabelle hatte (es wurde importiert). Die folgende Lösung funktionierte mit allen Daten.

Sub change()
    toText Selection
End Sub

Sub toText(target As range)
Dim cell As range
Dim txt As String
    For Each cell In target
        txt = cell.text
        cell.NumberFormat = "@"
        cell.Value2 = txt
    Next cell
End Sub
0
Archimaredes