【发布时间】:2019-09-15 15:12:59
【问题描述】:
我想编写一个可以在 ArrayFormula 中使用的函数。我的桌子是这样的:
| A | B | C |
1| a | | |
2| b | | |
3| c | | |
首先我写了一个简单的函数来返回输入(所以我知道它在 ArrayFormula 中工作):
function retAddress(cell){
return cell;
}
在 B1 上,我写了 =ArrayFormula(retAddress(address(row(B:B),column(A:A),4))),显然它按预期工作,它返回每个地址,如下所示:
| A | B | C |
1| a | A1| |
2| b | A2| |
3| c | A3| |
现在,在 C 列,我想返回 A 列的值,所以我写了一个这样的函数:
function retValue(cell){
var cellRang = SpreadsheetApp.getActive().getRange(cell);
return cellRang.getValue();
}
在 C1 上我写了=ArrayFormula(retValue(address(row(B:B),column(A:A),4))),但它给了我错误Exception: Range not found (line 2).,这是getRange(cell) 方法的行。
如果我像这样编写没有 ArrayFormula 的函数:
在 C1 上,=retValue(address(row(C1),column(A:A),4))
在 C2 上,=retValue(address(row(C2),column(A:A),4))
在 C3 上,=retValue(address(row(C3),column(A:A),4))
我得到了预期的结果:
| A | B | C |
1| a | A1| a |
2| b | A2| b |
3| c | A3| c |
那么,如何让它在 ArrayFormula 中工作?
【问题讨论】:
标签: google-apps-script google-sheets google-sheets-formula array-formulas custom-function