1. ホーム
  2. datetime

[解決済み] Google SheetsのセルでISO-8601の文字列を日付に変換する

2023-05-25 11:20:55

質問

シートの列にISO-8601形式の文字列をたくさん持っています。 どうすれば、google sheets がそれらを日付として扱い、計算(たとえば、2 つのセル間の分単位の差)できるようになりますか? 試しに =Date("2015-05-27T01:15:00.000Z") を試してみましたが、ダメでした。 簡単にできる方法があるはずです。 何かアドバイスはありますか?

どのように解決するのですか?

通常の数値書式を使用してフォーマットできる実際の日付の値を取得するには...

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

例えば

A B
1 2016-02-22T05:03:21Z 2016年2月22日午前5時03分21秒
  • タイムスタンプが UTC であると仮定します。
  • ミリ秒を無視する (ただし、簡単に追加できる)

この DATEVALUE() 関数はフォーマットされた日付文字列を値に変換します。 TIMEVALUE() は時間についても同じことをします。ほとんどの表計算ソフトでは、日付とランプ、時刻は、整数部が1900年1月1日からの日数、小数部が1日の分数としての時刻を表す数値で表現されます。たとえば、2009年6月11日17:30は約39975.72917です。

上記の式は、日付部分と時間部分を別々に解析し、それらを足し合わせます。