Google apps script 谷歌工作表自定义功能-如果单元格不为空,如何从范围中获取单元格位置
不确定我是否可以这样做,但如果我在一列中有4个非空白单元格(比如A4、A29、A30和A62),我可以通过一个函数(即[A4、A29、A30、A62])获得这些单元格的数组吗 干杯, 哈克Google apps script 谷歌工作表自定义功能-如果单元格不为空,如何从范围中获取单元格位置,google-apps-script,google-sheets,custom-function,Google Apps Script,Google Sheets,Custom Function,不确定我是否可以这样做,但如果我在一列中有4个非空白单元格(比如A4、A29、A30和A62),我可以通过一个函数(即[A4、A29、A30、A62])获得这些单元格的数组吗 干杯, 哈克 更新-所以我尝试将解决方案滚动到自定义公式中 我有: function test(passedRange){ // return firt entry // call wthi "==test(General!A4:A62)" var rangeToLoopThrough = []; ra
更新-所以我尝试将解决方案滚动到自定义公式中 我有:
function test(passedRange){
// return firt entry
// call wthi "==test(General!A4:A62)"
var rangeToLoopThrough = [];
rangeToLoopThrough = {"A"&substitute(TEXTJOIN(",A",,ArrayFormula(row(passedRange)*(passedRange<>""))),",A0","")};
return rangeToLoopThrough[0];
};
功能测试(通过范围){
//返回第一个条目
//调用wthi“==测试(常规!A4:A62)”
var rangeToLoopThrough=[];
RangeToopThrough={“A”和替换(TEXTJOIN(“,A”,,ArrayFormula(row(passedRange)*(passedRange)”),“,A0”,”);
返回RangeToopToLoop至[0];
};
它抱怨
第5行“缺少:在属性ID之后”
我认为它不喜欢逾越节。难道你不能将一个范围传递到一个自定义公式中吗
干杯,
哈克等待更好的解决方案/Q,请尝试:
="A"&substitute(TEXTJOIN(",A",,ArrayFormula(row(A4:A62)*(A4:A62<>""))),",A0","")
=“A”和替换(TEXTJOIN(“,A”,”数组形式(行(A4:A62)*(A4:A62)”),“,A0“,”)
您可能正在寻找花括号解决方案:
{A4、A29、A30、A62}将为您提供一个数组,该数组是一行四列
{A4;A29;A30;A62}将为您提供一个数组,该数组是一个包含四行的列
你可以从那里得到它
创建数组标题下的更多信息:不需要自定义函数。您可以使用过滤器:
=FILTER(A:A,A:A<>"")
=过滤器(A:A,A:A“”)
类似于=过滤器(A4:A62,len(A4:A62))?ArrayFormula是否返回数组?我希望合并到一个自定义函数中,所以我试图将其转换为自定义函数,但我想我没有看到如何实现数组。我将把它添加到上面的问题中。现在我明白了,花括号只适用于工作表中的公式。那么,看看这个:。您可能希望将您的范围添加到一个变量中(比如myRange),然后使用stringreplace()进行替换()。