谷歌表格时长运算问题:计算睡眠债时遇MINUS函数参数错误
在谷歌表格中处理时长格式的睡眠债计算问题
情况1:总睡眠时间是带文本后缀的格式(如"9.5 hrs"、"8 hrs 30 mins")
如果单元格包含文字后缀(比如"hrs"),需要先提取纯数字部分再计算:
- 提取数字并转换为数值,再执行减10运算:
说明:=VALUE(REGEXEXTRACT(A1, "\d+\.?\d*")) - 10\d+\.?\d*会匹配单元格中的整数或小数(比如"9.5"、"8"),VALUE将提取到的文本转为可计算的数值,之后就能直接得到睡眠债结果。
情况2:总睡眠时间是时间格式(如"8:30"、"9:15")
谷歌表格中时间值本质是按「天」计算的小数(1小时=1/24),可通过两种方式运算:
- 方法1:转为小时数后计算
说明:=TIMEVALUE(A1)*24 - 10TIMEVALUE将时间格式转为天数小数,乘以24得到小时数,再减10即可。 - 方法2:直接用时间值运算(需转数值看正负)
说明:=(A1 - TIME(10, 0, 0))*24TIME(10,0,0)代表10小时的时间值,用总睡眠时间减去它后,乘以24转为小时数(负数表示缺觉,正数表示超额睡眠)。
为什么MINUS函数会报错?
MINUS要求两个参数均为数值类型,而你的「Total Amount of sleep (hrs)」列要么是带文字的文本,要么是时间格式(虽本质是小数,但函数识别为时间类型),直接使用MINUS会触发类型不匹配错误,先转为纯数值即可解决。
内容的提问来源于stack exchange,提问作者Shadi Ahmadi
相关产品推荐
相关产品推荐

