協定世界時(UTC)と日本標準時(JST)を変換する Excel の計算式です。
UTC → JST
入力
2022-09-04T16:07:48.53Z
出力例1(yyyy-mm-dd hh:mm:ss 形式)
2022-09-05 01:07:48
=TEXT(DATEVALUE(MIDB(B2,1,10))+TIMEVALUE(MIDB(B2,12,8))+TIME(9,0,0),"yyyy-mm-dd hh:mm:ss")
VBAで数式を入力するバージョン
Sub UTCtoJST()
'左隣のセルにUTCの「2022-09-04T16:07:48.53Z」形式が入ってる前提
'左隣のセルのアドレス
Dim strAddress As String
strAddress = ActiveCell.Offset(0, -1).Address(False, False)
'セルが空白の場合は処理しない
If ActiveCell = "" Then
ActiveCell.Formula = "=TEXT(DATEVALUE(MIDB(" & strAddress & ",1,10))+TIMEVALUE(MIDB(" & strAddress & ",12,8))+TIME(9,0,0),""yyyy-mm-dd hh:mm:ss"")"
End If
End Sub
'左隣のセルにUTCの「2022-09-04T16:07:48.53Z」形式が入ってる前提
'左隣のセルのアドレス
Dim strAddress As String
strAddress = ActiveCell.Offset(0, -1).Address(False, False)
'セルが空白の場合は処理しない
If ActiveCell = "" Then
ActiveCell.Formula = "=TEXT(DATEVALUE(MIDB(" & strAddress & ",1,10))+TIMEVALUE(MIDB(" & strAddress & ",12,8))+TIME(9,0,0),""yyyy-mm-dd hh:mm:ss"")"
End If
End Sub
出力例2(ISO 8601 拡張形式)
2022-09-05T01:07:48+09:00
=TEXT(DATEVALUE(MIDB(B2,1,10))+TIMEVALUE(MIDB(B2,12,8))+TIME(9,0,0),"yyyy-mm-ddThh:mm:ss")&"+09:00"
JST → UTC
入力
2022-09-05 01:07:48
2022-09-05T01:07:48+09:00
出力例
2022-09-04T16:07:48Z
=TEXT(DATEVALUE(MIDB(B4,1,10))+TIMEVALUE(MIDB(B4,12,8))-TIME(9,0,0),"yyyy-mm-ddThh:mm:ss"&"Z")