0
votes

Extrait la date de la cellule avec la date et l'heure

J'ai une cellule g4 code> avec date et heure dans un format (chaîne de texte): xxx pré>

J'ai besoin de convertir la cellule formatée de jour. Comment faire cela? P>

J'ai essayé d'obtenir des chiffres et de les convertir en date avec cette formule: p> xxx pré>

donc: p>

  1. Je suis extraite année: p>

    = moyen (G4; recherche ("/"; G4) +4; recherche ("/"; g4; recherche ("/"; G4) +1) -Search ("/"; G4) +2) code> p> li>

  2. mois p>

    = moyen (G4; recherche ("/"; g4) +1; recherche ("/"; g4; recherche ("/"; G4) +1) -Search ("/"; G4) -1) code> p> li>

  3. jour p>

    = gauche (G4; trouver ("/"; g4; 1) -1) code> p> li> ol>

    Je reçois en conséquence: P>

    =IFERROR(DAYS(MID(G2;SEARCH("/";G2)+1;SEARCH("/";G2;SEARCH("/";G2)+1)-SEARCH("/";G2)-1)&"."&LEFT(G2;FIND("/";G2;1)-1)&"."&MID(G2;FIND("/";G2;FIND("/";G2)+1)+1;4);MID(F2;SEARCH("/";F2)+1;SEARCH("/";F2;SEARCH("/";F2)+1)-SEARCH("/";F2)-1)&"."&LEFT(F2;FIND("/";F2;1)-1)&"."&MID(F2;FIND("/";F2;FIND("/";F2)+1)+1;4));"")
    


7 commentaires

La date est-elle une chaîne de texte qui ressemble à une date ou à une date / heure réelle. Essayez de modifier le format de numéro sur mm / dd / aaaa ou shortdate et voyez s'il change.


S'il s'agit de texte car vos paramètres locaux sont dd / mm / aaaa puis utilisez du texte sur des colonnes de l'onglet Données et sur la troisième étape, sélectionnez cette colonne et choisissez la date et le code> mdy comme format.


Êtes-vous capable de délimiter votre date à l'espace? Vous seriez alors capable de texttoColumns les cellules de la date seulement


Si c'est une date de texte ne serait pas = datevalue (A1) travail ou juste = A1 * 1 , puis au format dans le format de date souhaité?


@ Darrenbartrup-cuire Le réglage local de l'OP est jj / mm / aaaa et la date est arrivée en tant que mm / jj / aaaa qui provoque la plupart des dates de venir comme une chaîne et ceux qui ne fonctionnent pas.


@Scottcraner Ah, assez juste. Je ne vue pas que dans le post - vient d'examiner le 21/09/2020 et la pensée doit être mm / jj / aa . Lecture bas Je n'ai pas repéré la sortie souhaitée de 29.1.2020 .


La raison pour laquelle vous receviez 1,5..2022 est que vous attrapiez le mois de jour et de la journée comme le mois. Basculez la partie autour et cela fonctionnera pour vous. J'ai commis la même erreur initialement


3 Réponses :


1
votes

Les dates FYI dans Excel sont stockées comme entiers. Ils représentent le nombre de jours depuis 1900/01/01 avec cette date étant 1. Le temps est stocké comme décimale représentant des fractions de jour ou 24 heures. 0.5 représente midi. 24:00 n'est pas un moment appuyé officiellement appuyé dans Excel, mais travaillera avec certaines fonctions.

La formule de date est à la recherche de trois arguments représentant une année, un mois, une journée dans cet ordre. P>

=DATE(MID(G4,FIND("/",G4,FIND("/",G4)+1)+1,4),LEFT(G4,FIND("/",G4)-1),MID(G4,FIND("/",G4)+1,FIND("/",G4,FIND("/",G4)+1)-FIND("/",G4)-1))


0 commentaires

1
votes

Si vous avez TEXTJOIN,

=TEXTJOIN("/",TRUE,INDEX(FILTERXML("<a>,<b>"&SUBSTITUTE(SUBSTITUTE(TEXT(A1,"dd/mm/yyyy hh:mm:ss"),"/","</b><b>")," ","</b>",1)&"</a>","//b"),N(IF({1},{2,1,3}))))


1 commentaires

Merci pour ça! Je l'ai travaillé, mais je vais certainement tester votre suggestion. J'ai une fonction de textjoin dans la liste.



1
votes

Ceux pour qui la fonction textjoin code> n'est pas disponible peut utiliser ceci:

=DATE(FILTERXML("<DATA><A>" & SUBSTITUTE(SUBSTITUTE(A1;"/";"</A><A>");" ";"</A><A>") & "</A></DATA>";"/DATA/A[3]");FILTERXML("<DATA><A>" & SUBSTITUTE(SUBSTITUTE(A1;"/";"</A><A>");" ";"</A><A>") & "</A></DATA>";"/DATA/A[1]");FILTERXML("<DATA><A>" & SUBSTITUTE(SUBSTITUTE(A1;"/";"</A><A>");" ";"</A><A>") & "</A></DATA>";"/DATA/A[2]"))


0 commentaires