这似乎是一个琐碎的问题。但是我花了一些时间,我仍然无法从互联网上找到任何线索。我一直在尝试解决方法。他们都不好。返回null
或undefined
只会导致一个空白单元格。当然,返回“#N / A”(作为字符串)远不是很好。
例如,我们在Google App脚本中有一个功能。
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中,我不能。
答案 0 :(得分:1)
如果您
return "=NA()"?
我不清楚您使用此气体的方式为何要使用气体解决方案,因为无论如何您都将其用作单元内功能。
如果您使用的是普通脚本,则可以使用类似的内容
ss.getRange(1,1)setFormula('=NA()');
答案 1 :(得分:0)
我实际上对此很感兴趣,因为我通常不执行内联函数(太慢的enmasse)。
您必须使用引号引起来的范围(作为字符串)来调用它,但这是可行的。
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;
}//*****************************************************************************
答案 2 :(得分:0)
这是不可能的,因为自定义函数支持的返回值为字符串,数字,布尔值和日期。
您已经注意到返回NA()
不起作用。
自定义函数无法返回公式,用户return '=NA()'
在Google表格中被设置为TEXT值,直到用户手动编辑单元格值(或将单元格置于编辑模式,然后按 Enter 。
相关
参考