Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从Google Sheet应用程序脚本返回N/A?_Javascript_Google Apps Script_Google Sheets_Google Sheets Formula_Google Sheets Custom Function - Fatal编程技术网

Javascript 如何从Google Sheet应用程序脚本返回N/A?

Javascript 如何从Google Sheet应用程序脚本返回N/A?,javascript,google-apps-script,google-sheets,google-sheets-formula,google-sheets-custom-function,Javascript,Google Apps Script,Google Sheets,Google Sheets Formula,Google Sheets Custom Function,这似乎是个微不足道的问题。但我已经花了一些时间,我仍然无法从互联网上找到任何线索。我一直在努力解决这个问题。他们都不好。返回null或undefined只会导致空白单元格。当然,返回N/A作为字符串是远远不够好的 例如,我们在Google应用程序脚本中有一个函数 function GIVE_ME_NA() { return NA(); // This won't work } 在A1和A2单元格中 A1 =GIVE_ME_NA() A2 =ISNA(A1) A1和A2中显示的

这似乎是个微不足道的问题。但我已经花了一些时间,我仍然无法从互联网上找到任何线索。我一直在努力解决这个问题。他们都不好。返回null或undefined只会导致空白单元格。当然,返回N/A作为字符串是远远不够好的

例如,我们在Google应用程序脚本中有一个函数

function GIVE_ME_NA() {
    return NA();     // This won't work
}
在A1和A2单元格中

A1 =GIVE_ME_NA()
A2 =ISNA(A1)
A1和A2中显示的预期结果如下:

    A       B
1  #N/A   TRUE
在sheet公式中,我们可以简单地使用=NA。但是在应用程序脚本中,我不能。

如果您

return "=NA()"?
我不清楚你为什么要用气体溶液,因为你用它作为细胞内的函数

如果您正在编写一个普通脚本,那么可以使用如下内容

ss.getRange(1,1).setFormula('NA()');
如果你

return "=NA()"?
我不清楚你为什么要用气体溶液,因为你用它作为细胞内的函数

如果您正在编写一个普通脚本,那么可以使用如下内容

ss.getRange(1,1).setFormula('NA()');

实际上,我对此很感兴趣,因为我通常不会做太慢的内联函数

你必须用你想要的引号作为字符串的范围来调用它,但这是可行的

function getThing(aRange){
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var data = sheet.getRange(aRange).getValues();
  Logger.log(data);

  var result = [];
  for (var i=0; i<data.length;i++)
    {
      var row = [];
      for (var j=0; j<data[0].length; j++)
          {
               if (data[i][j] == "")
                   { 
                   row.push("=NA()"); 
                   continue;}                  

               var value = data[i][j];
               // DO OTHER LOGIC TO GET WHAT YOU WANT TO RETURN
               row.push(value);
          }//for loop
       result.push(row);

    }//for loop

  return result;

}//*****************************************************************************

实际上,我对此很感兴趣,因为我通常不会做太慢的内联函数

你必须用你想要的引号作为字符串的范围来调用它,但这是可行的

function getThing(aRange){
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var data = sheet.getRange(aRange).getValues();
  Logger.log(data);

  var result = [];
  for (var i=0; i<data.length;i++)
    {
      var row = [];
      for (var j=0; j<data[0].length; j++)
          {
               if (data[i][j] == "")
                   { 
                   row.push("=NA()"); 
                   continue;}                  

               var value = data[i][j];
               // DO OTHER LOGIC TO GET WHAT YOU WANT TO RETURN
               row.push(value);
          }//for loop
       result.push(row);

    }//for loop

  return result;

}//*****************************************************************************

此时不可能,因为自定义函数支持的返回值是string、number、boolean和Date

正如你已经注意到的,返回NA不起作用

自定义函数无法返回公式,用户返回“=NA”在Google Sheets中设置为文本值,直到用户手动编辑单元格值或将单元格置于编辑模式,然后按Enter键

相关的

参考文献


此时不可能,因为自定义函数支持的返回值是string、number、boolean和Date

正如你已经注意到的,返回NA不起作用

自定义函数无法返回公式,用户返回“=NA”在Google Sheets中设置为文本值,直到用户手动编辑单元格值或将单元格置于编辑模式,然后按Enter键

相关的

参考文献


对你是对的。使用setFormula'=NA'可以实现这一点。但在我的情况下,把它改成setFormula有点困难。我的函数取一个范围,一个单元格,一个数组,或一个二维数组,检查里面的值,然后返回一个相同项数的数组。例如,它需要A1:D4。检查值,有些为真,有些为假。然后返回一个4x4数组。如果E1=myFuncA1:D4,则填充E1:H4。如果D3和D4为空,我希望H3和H4得到数值N/A。是。你是对的。使用setFormula'=NA'可以实现这一点。但在我的情况下,把它改成setFormula有点困难。我的函数取一个范围,一个单元格,一个数组,或一个二维数组,检查里面的值,然后返回一个相同项数的数组。例如,它需要A1:D4。检查值,有些为真,有些为假。然后返回一个4x4数组。如果E1=myFuncA1:D4,则填充E1:H4。如果D3和D4是空的,我希望H3和H4得到数值N/A。对不起,这也不准确,我不确定为什么,我会在早上看。对不起,这也不准确,我不确定为什么,我会在早上看