【问题标题】:How to return #N/A from Google Sheet App Script?如何从 Google Sheet App Script 返回#N/A?
【发布时间】:2019-05-08 19:49:24
【问题描述】:

这似乎是一个微不足道的问题。但是我花了一些时间,我仍然无法从互联网上找到任何线索。我一直在尝试解决方法。他们都不好看。返回nullundefined 只会产生一个空白单元格。当然 return "#N/A" (作为一个字符串)远非好。

例如,我们在 Google App Script 中有一个函数。

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

在工作表公式中,我们可以简单地使用=NA()。但在 App Script 中,我不能。

【问题讨论】:

    标签: javascript google-apps-script google-sheets google-sheets-formula google-sheets-custom-function


    【解决方案1】:

    如果你

    return "=NA()"?
    

    我不清楚您使用这个的方式为什么需要气体解决方案,因为无论如何您都将它用作单元内功能。

    如果你在做一个普通的脚本,你可以使用这样的东西

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

    【讨论】:

    • 是的。你说的对。使用setFormula('=NA()') 可以实现这一点。但就我而言,将其更改为setFormula() 方式有点困难。我的函数接受一个范围(一个单元格、一个数组或一个二维数组),检查里面的值,然后返回一个包含相同数量项目的数组。例如,它需要A1:D4。检查值,一些TRUE 和一些FALSE。然后返回一个 4x4 数组。如果E1=myFunc(A1:D4),则填充E1:H4。如果D3D4 是空白,我希望H3H4 得到#N/A 的值。
    【解决方案2】:

    目前无法实现,因为自定义函数支持的返回值是字符串、数字、布尔值和日期。

    正如您已经注意到返回 NA() 不起作用。

    自定义函数无法返回公式,用户 return '=NA()' 在 Google 表格中设置为 TEXT 值,直到用户手动编辑单元格值(或将单元格置于编辑模式然后按 Enter kbd>.

    相关

    参考

    【讨论】:

      猜你喜欢
      • 2016-08-10
      • 1970-01-01
      • 2021-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-26
      • 1970-01-01
      相关资源
      最近更新 更多