Google电子表格 - 导入范围具有自定义功能时出现#N / A错误

时间:2014-08-28 09:50:54

标签: google-apps-script google-sheets google-spreadsheet-api

在我的Google电子表格中(最新版本,截至2014年8月)我正在使用=IMPORTRANGE(P5,"Tasks!b6:o7")其中P5单元格包含另一个spreadhsheet的密钥。另一个电子表格中的一个单元格包含我的自定义函数,有时需要时间来计算(有几十个单元格使用该函数)。问题是在第一个spr。如果单元格的值未正确显示,则会显示#N/A错误消息。

该功能定义如下:

//  global variable
var ONEDAY = 24*60*60*1000; // hours*minutes*seconds*milliseconds

function _mySimpleCalculateDaysDifference(DateToBeChecked)
{
  var todaysDate = new Date();
  var todaysDayModifier = todaysDate.getHours()<6?-1:0;
  var daysDiff = (todaysDate.getTime() - DateToBeChecked.getTime())/ONEDAY;
  return Math.floor(daysDiff) + todaysDayModifier;
}

它被称为以下方式:

=if((H18>0),(H18-F18),if((F18>0),_mySimpleCalculateDaysDifference(F18),""))

其中FH列包含日期值。

有没有办法解决这个问题?

修改
我提到主要的spreadhsheet是最新的Google电子表格,但那些被拉进去的是'旧'。

1 个答案:

答案 0 :(得分:1)

此答案涉及导入电子表格是“新”字样的情况。一,进口 - “老”&#39; (截至2014年9月):

确保两个电子表格版本相同,即old<-oldnew<-new(尽管@eddieparkinson评论过,在他的情况下,{{{{{{ 1}}情况)。

在我的情况下,将导入的电子表格转换为新的帮助,我现在无法观察到这个问题。

<强> PS
可能最简单的转换方法是将其保存为Excel文件,然后将其导入Google云端硬盘并转换为Google电子表格。我发现它是最简单,最可靠的方式,虽然我丢失了我的图表和脚本。验证也存在问题,因此我不得不重新创建它们。如果你没有使用其中任何一个 - 应该。