0

我正在尝试编写一个自定义函数,该函数将两个单元格范围(开始时间和停止时间)作为输入,然后输出总小时数。如果单元格被格式化为正常数字(即晚上 9:00 表示为 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;
}
4

1 回答 1

0

当单元格被格式化为日期或时间值时,它的值将作为 JavaScript Date 对象传递给 Apps 脚本。您可以使用以下代码确定该值是否为日期:

if (value instanceof Date) {
  ...
} else {
  ...
}
于 2012-06-01T14:27:18.313 回答