将带连字符的时间段转换为UTC时区——Google Sheets问题咨询
解决Google Sheets中带连字符时间段的时区转换问题
因为你的单元格内容是文本格式的时间段(包含连字符分隔的两个时间),不是可直接计算的日期时间数值,所以直接用=A1+(-8/24)会失效。可以通过「拆分时间段→转数值计算→格式化合并」的方式解决,具体方法如下:
单个公式直接生成转换结果
在空白单元格输入以下公式,替换A1为你的时间段所在单元格:
=TEXT(--LEFT(A1, FIND("-", A1)-2) + (-8/24), "mm/dd/yyyy hh:mm") & " - " & TEXT(--MID(A1, FIND("-", A1)+2, LEN(A1)) + (-8/24), "mm/dd/yyyy hh:mm")
公式拆解:
- 拆分时间段:
LEFT(A1, FIND("-", A1)-2):提取连字符前的开始时间文本(减2是去掉连字符前的空格)MID(A1, FIND("-", A1)+2, LEN(A1)):提取连字符后的结束时间文本(加2是跳过连字符后的空格)
- 转数值计算:
--:将文本格式的日期时间转换为Google Sheets可识别的数值+ (-8/24):减去8小时(完成UTC-8时区转换)
- 格式化合并:用
TEXT()函数将计算后的数值转为指定日期时间格式,再用&拼接成带连字符的时间段。
分步处理(适合新手调试)
如果觉得单个公式复杂,可以分步骤操作:
- 步骤1:拆分时间段到不同单元格。在B1输入
=SPLIT(A1, " - "),自动将开始时间放到B1,结束时间放到C1 - 步骤2:转换时区。在D1输入
=TEXT(B1 + (-8/24), "mm/dd/yyyy hh:mm"),E1输入=TEXT(C1 + (-8/24), "mm/dd/yyyy hh:mm") - 步骤3:合并结果。在F1输入
=D1 & " - " & E1
内容的提问来源于stack exchange,提问作者NoobYubaba
相关产品推荐
相关产品推荐

