德语版Excel提取时间后计算毫秒级时间差报#WERT!问题
解决德语版Excel中提取时间无法计算的问题
问题根源
你用TEIL()提取出的11:50:16,765本质是文本字符串,即便给单元格设置了hh:mm:ss,000格式,Excel仍不会自动将其转换为可运算的时间序列值。而手动输入的文本Excel会自动识别并转为时间值,所以能正常计算。
解决方案
要让提取的时间能参与运算,必须先把文本格式的时间转换为Excel可识别的时间值,用德语版函数ZEITWERT()(对应英文版TIMEVALUE())即可实现:
基础转换(逗号分隔毫秒)
把提取公式嵌套进ZEITWERT():=ZEITWERT(TEIL(A2;11;13))这个公式会将提取的文本时间转为可运算的时间序列数,此时直接用两个转换后的单元格相减就能得到时间差。
兼容点分隔毫秒的情况
如果提取的时间是点分隔毫秒(比如11:50:16.765),因为德语区域默认用逗号作为小数分隔符,需要先替换点为逗号再转换:=ZEITWERT(WECHSELN(TEIL(A2;11;13);".";","))(
WECHSELN对应英文版SUBSTITUTE,用于替换字符)计算时间差并格式化
用转换后的两个时间值相减,比如:=ZEITWERT(TEIL(B2;11;13)) - ZEITWERT(TEIL(A2;11;13))最后给结果单元格设置格式为
hh:mm:ss,000,就能显示带毫秒的时间差。
内容的提问来源于stack exchange,提问作者zlica
相关产品推荐
相关产品推荐

