Google脚本:时间格式化的单元格会导致错误:溢出

时间:2012-05-26 13:25:01

标签: google-apps-script cell

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

1 个答案:

答案 0 :(得分:0)

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

if (value instanceof Date) {
  ...
} else {
  ...
}