Chaîne ISO-8601 à ce jour dans la cellule Google Sheets

J'ai un tas de chaînes au format ISO-8601 dans une colonne de ma feuille. Comment puis-je obtenir google sheets pour les traiter comme des Dates afin que je puisse faire des calculs sur eux (différence en minutes entre deux cellules, par exemple)? J'ai essayé juste =Date("2015-05-27T01:15:00.000Z") mais pas de joie. Il doit y avoir un moyen facile de le faire. Tous les conseils?

23
demandé sur Bob Kuhar 2015-05-27 23:47:23

3 réponses

Essayez ceci

=CONCATENATE(TEXT(INDEX(SPLIT(SUBSTITUTE(A1,"Z",""),"T"),1),"yyyy-mm-dd")," ",TEXT(INDEX(SPLIT(SUBSTITUTE(A1,"Z",""),"T"),2),"hh:mm:ss"))

A1 peut être une cellule avec une chaîne au format ISO-8601 ou la chaîne elle-même.

13
répondu Akshin Jalilov 2015-05-28 06:00:28

Pour obtenir une valeur de Date réelle que vous pouvez formater en utilisant le formatage numérique normal...

=DATEVALUE(MID(A1,1,10)) + TIMEVALUE(MID(A1,12,8))

Par exemple.

╔═══╦══════════════════════╦════════════════════╗
║   ║          A           ║          B         ║
╠═══╬══════════════════════╬════════════════════╣
║ 1 ║ 2016-02-22T05:03:21Z ║ 2/22/16 5:03:21 AM ║
╚═══╩══════════════════════╩════════════════════╝
  • suppose que les horodatages sont en UTC
  • ignore les millisecondes (bien que vous puissiez ajouter assez facilement)

Le DATEVALUE() fonction transforme une chaîne de date formatée en une valeur, et TIMEVALUE() fait la même chose pour les temps. Dans la plupart des feuilles de calcul, les dates et les heures sont représentées par un nombre dont la partie entière est jours depuis le 1er janvier 1900 et la partie décimale est le temps comme une fraction du jour. Par exemple, 11 juin 2009 17:30 est d'environ 39975.72917.

La formule ci-dessus analyse la partie date et la partie heure séparément, puis les ajoute ensemble.

36
répondu rcoup 2016-03-23 11:01:59

Je l'ai trouvé beaucoup plus simple à utiliser =SUM(SPLIT(A2,"TZ"))

Format yyyy-MM-dd HH:mm:ss.000 pour voir la valeur de la date comme ISO-8601 à nouveau.

13
répondu Chris Bandy 2016-05-12 21:14:22