Ho una serie di stringhe formattate ISO-8601 in una colonna del mio foglio. Come posso ottenere google fogli per trattarli come date in modo da poter fare matematica su di loro (differenza in minuti tra due celle, per esempio)? Ho provato solo =Date("2015-05-27T01:15:00.000Z")
ma non-gioia. Ci deve essere un modo semplice per farlo. Qualche consiglio?Stringa ISO-8601 nella cella di Google Fogli
risposta
Prova questa
=CONCATENATE(TEXT(INDEX(SPLIT(SUBSTITUTE(A1,"Z",""),"T"),1),"yyyy-mm-dd")," ",TEXT(INDEX(SPLIT(SUBSTITUTE(A1,"Z",""),"T"),2),"hh:mm:ss"))
Dove A1 può essere una cella con ISO-8601 stringa formattata o la stringa stessa.
per ottenere un valore Date reale che è possibile formattare utilizzando il numero normale formattazione ...
=DATEVALUE(MID(A1,1,10)) + TIMEVALUE(MID(A1,12,8))
ad es.
╔═══╦══════════════════════╦════════════════════╗
║ ║ A ║ B ║
╠═══╬══════════════════════╬════════════════════╣
║ 1 ║ 2016-02-22T05:03:21Z ║ 2/22/16 5:03:21 AM ║
╚═══╩══════════════════════╩════════════════════╝
- Considerando una timestamp sono in UTC
- Ignora millisecondi (anche se si potrebbe aggiungere abbastanza facilmente)
La funzione DATEVALUE()
trasforma una stringa data formattata in un valore, e TIMEVALUE()
fa lo stesso per tempi. Nella maggior parte dei fogli elettronici le date & sono rappresentate da un numero in cui la parte intera è giorni dal 1 ° gennaio 1900 e la parte decimale è il tempo come frazione del giorno. Ad esempio, l'11 giugno 2009 alle 17:30 è circa 39975,72917.
La formula precedente analizza separatamente la parte di data e la parte di tempo, quindi li aggiunge insieme.
Questa soluzione è buona. È migliore di quello accettato. Almeno questo restituisce un valore numerico di data (ora), non una stringa. Ho notato che se viene fornito un offset fuso orario, viene semplicemente ignorato. Inoltre, l'assunzione delle posizioni dei caratteri nella stringa rende questa soluzione breve e probabilmente più veloce di molte chiamate di funzioni di sostituzione e di divisione. –
puoi semplicemente aggiungere il tz alla fine. ... + (10/24) dove 10 è l'offset – Sam
ho trovato molto più semplice da utilizzare =SUM(SPLIT(A2,"TZ"))
Format yyyy-MM-dd HH:mm:ss.000
di vedere di nuovo il valore di data come ISO-8601.
Questa soluzione non è male. Restituisce un valore di data (ora) numerico come richiesto, anziché una stringa come nella risposta accettata. Funziona meglio con i timestamp GMT, non quelli con offset del fuso orario. Se viene fornito un offset, questa soluzione utilizza un tempo di "0". Questa soluzione è intelligente e breve, anche se non è corretta come [l'altra risposta] (/ a/36176351/543738), ma è migliore di molte chiamate a funzioni stringa. –
- 1. Nei fogli di google, come indirizzare la cella corrente nella formula personalizzata del formato condizionale?
- 2. TimeSpan alla stringa di formato durata ISO8601
- 3. Formatta una cella di Google Fogli in testo semplice tramite Script di app
- 4. Fogli di lavoro Google: Iterate su intervallo, aggiungi una stringa a ogni
- 5. Scrittura su una cella vuota nei fogli di calcolo di Google
- 6. Download di fogli di calcolo Fogli Google da Google Drive su Android
- 7. Prendi l'ultima cella non vuota in una colonna in Google Fogli
- 8. Tabella pivot Fogli Google non Aggiornamento
- 9. Come posso collegare app Android con fogli di lavoro Fogli Google?
- 10. Formula del foglio di lavoro Google per risolvere la stringa come cella
- 11. Leggi dati da fogli di calcolo di google doc
- 12. nuovi Fogli Google: imposta il text wrapping su Clip programmaticamente
- 13. Parse JSON (ISO8601) stringa della data in JavaScript
- 14. Link di download per fogli di lavoro di Google Esportazione CSV - con più fogli
- 15. Qual è il modo giusto per inserire un'immagine di Drive in una cella Fogli programmaticamente?
- 16. Imposta script foglio di Google valore cella
- 17. Ottenere la formula di un'altra cella nella cella di destinazione
- 18. Servizio Errore: fogli di calcolo su Google Script
- 19. VBA Excel Macro Elimina fogli con stringa
- 20. È disponibile un'API per i nuovi fogli Google (fogli di calcolo)?
- 21. Come accedere (leggere, scrivere) a fogli di lavoro Fogli Google con Python?
- 22. Importa dati da fogli di calcolo di Google in MySQL
- 23. Imposta il formato della cella nel foglio di lavoro Fogli Google utilizzando la sua API e Python
- 24. Fogli di lavoro Google Regex Case Insensitive (Regexreplace)
- 25. Inserire uno script in più fogli di calcolo Google
- 26. Timestamp: iso8601 vs unix timestamp
- 27. Parsing ISO8601 formato in R
- 28. È possibile modificare il menu di scelta rapida di Google Documenti/Fogli?
- 29. Cocoa NSView nella cella NSTableView
- 30. Come è possibile monitorare gli eventi di clic nello script di Google Apps per i fogli di lavoro?
Hmmm. Questo non sembra esattamente "facile", ma gli darò un vortice. Speravo davvero che esistesse già una sola funzione per farlo. –
Questa soluzione restituisce una stringa, non un tipo di data come voleva @BobKuhar. Quando l'ho provato con la stringa di tempo ISO 8601 di, '2016-07-26T11: 12: 06.711-0400', il risultato era' 2016-07-26 11: 12: 06.711-0400'. Come stringa di tempo GMT (senza offset fuso orario), '2016-07-26T11: 12: 06.711Z' è diventato' 2016-07-26 11: 12: 07'. Questa soluzione riformatta semplicemente la stringa ISO 8601. –
Devi dividere il risultato, per suddividerlo in "2016-07-26" e "11:12:07". Queste due celle verranno formattate come Data e Ora. –