Conversion date Excel en chaîne de caractères

dans une cellule de la feuille Excel j'ai une valeur de Date comme:

01/01/2010 14:30:00

je veux convertir cette Date en texte et aussi que le texte ressemble exactement à la Date. Ainsi, une valeur de Date de 01/01/2010 14:30:00 devrait ressembler à 01/01/2010 14:30:00 mais à l'intérieur, ce devrait être du texte.

Comment puis-je faire cela dans Excel?

117
demandé sur brettdj 2010-04-14 13:12:17

9 réponses

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

(24 heures)

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

(heure normale)

229
répondu Kirill 2014-07-01 17:29:23

Voici une approche VBA:

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

si vous recherchez une solution sans programmation, la Question doit être déplacée à SuperUser.

8
répondu marg 2010-04-14 09:26:21

voici une autre option. Utilisez L'Assistant 'Text to Columns' d'Excel. Il se trouve sous L'onglet Données dans Excel 2007.

si vous avez une colonne sélectionnée, les valeurs par défaut pour le type de fichier et les délimiteurs devraient fonctionner, alors il vous invite à changer le format de données de la colonne. Le choix du texte le force au format de texte, pour s'assurer qu'il n'est pas stocké comme une date.

5
répondu Adam Miller 2015-01-14 16:25:49

dans certains contextes, l'utilisation d'un caractère ' à l'avance fonctionne, mais si vous sauvegardez sur CSV et chargez à nouveau, c'est impossible.

'01/01/2010 14:30:00
4
répondu Nick Fortescue 2010-04-14 09:15:05

si vous n'utilisez pas de programmation, faites ce qui suit: (1) Sélectionner la colonne (2) clic droit et sélectionner les cellules de Format (3) Sélectionner "Personnaliser"" (4 )juste sous "Type:" Type JJ / mm / aaaa hh: mm: ss

1
répondu Harihara Iyer 2015-07-17 15:21:42

dans Excel 2010, réponse de marg n'a fonctionné que pour certaines des données que j'avais dans ma feuille de calcul (il a été importé). La solution suivante a fonctionné sur toutes les données.

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
répondu Archimaredes 2017-05-23 12:26:36

Je n'ai aucune idée de l'année de publication de la question; elle pourrait être vieille maintenant. Donc, je m'attends à ce que ma réponse soit davantage une référence pour les futures questions similaires après mon poste.

Je ne sais pas si quelqu'un là-bas a déjà donné une réponse semblable à celle que je vais donner, ce qui pourrait avoir pour résultat - je pense-d'être la plus simple, la plus directe et la plus efficace: si quelqu'un l'a déjà donné, je m'en excuse, mais je ne l'ai pas vu. Ici, ma réponse en utilisant CStr au lieu du texte:

cellule A1 contient une date, et en utilisant le code VBA:

Dim strDate As String

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

vous pouvez, par la suite, le manipuler comme n'importe quelle chaîne ordinaire en utilisant des fonctions de chaîne (MID, LEFT, RIGHT, LEN, CONCATENATE ( & ), etc.)

0
répondu Prof. Juan Manuel Alonso D. 2017-03-26 21:51:36

Couldnt get le TEXTE (les) formule

la solution la plus facile a été de copier la pâte dans le bloc-notes et de nouveau dans Excel avec la colonne fixée au texte avant de coller en arrière

ou vous pouvez faire la même chose avec une formule comme celle-ci

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

0
répondu jetpackdata.com 2018-02-02 16:16:14

la réponse choisie ne fonctionnait pas pour moi car Excel ne convertissait toujours pas le texte en date. Voici ma solution.

dire que dans la première colonne, A, vous avez des données du type 2016/03/25 21:20:00 mais est stocké sous forme de texte. Ensuite, dans la colonne B, écrivez =DATEVALUE(A1) et dans la colonne c, écrivez =TIMEVALUE(A1) .

ensuite dans la colonne D, faites =B1+C1 pour ajouter les formats numériques de la date et de l'heure.

enfin, copiez les valeurs de D dans la colonne E en cliquant avec le bouton droit de la souris dans la colonne E et sélectionnez Paste Special -> Paste as Values .

mettre en évidence les valeurs numériques dans la colonne E et changer le type de données à date - je préfère utiliser une date personnalisée du formulaire YYYY-MM-DD HH:MM:SS .

-1
répondu Puiu 2016-09-27 13:56:15