我希望能够检查一个范围,以确保其中的所有细胞都有一个公式;这会让我知道列中的任何单元格是否已更改为静态数据。换句话说,如果范围中的任何单个单元格不是公式,则它应该返回FALSE。
我试过了:
=ARRAYFORMULA(ISFORMULA(A1:A6))
但仍然只检查A1中的值。有谁知道我怎么能这样做?
答案 0 :(得分:3)
您可以使用自定义功能(见下文)。它需要一个范围作为输入(但作为一个字符串)和一个绕过caching的虚拟值,例如
=onlyFormulas("A1:A4", E1)
如果要更新输出,则需要更改E1。
自定义功能
function onlyFormulas(range, dummy) {
var f = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(range).getFormulas();
for (i = 0; i < f.length; i++)
if (f[i] == '') {
return false;
}
return true;
}