我正在尝试编写一个自定义函数,它将两个单元格范围(开始时间和停止时间)作为输入,然后输出总小时数。如果将单元格格式化为正常数字(即9:00 pm表示为0.875),则该功能正常工作。如果我将单元格格式化为时间,则公式所在的单元格值为“#NUM!”并且工具提示是“错误:溢出”。有没有办法在没有格式化的情况下读取原始单元格数据,以便我的公式可以工作?
公式代码
function getHoursTest(startRange, stopRange) {
var hours = 0; // define "hours" with start value of 0
var i = startRange.length - 1; // define "i" and assign the position of the last array element
while(i>=0){
hours = hours + ((stopRange[i] - startRange[i])*24);
i--
}
return hours;
}
答案 0 :(得分:0)
当单元格被格式化为日期或时间值时,它的值将作为JavaScript Date对象传递给Apps脚本。您可以使用以下代码确定该值是否为日期:
if (value instanceof Date) {
...
} else {
...
}