Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 谷歌工作表自定义功能-如果单元格不为空,如何从范围中获取单元格位置_Google Apps Script_Google Sheets_Custom Function - Fatal编程技术网

Google apps script 谷歌工作表自定义功能-如果单元格不为空,如何从范围中获取单元格位置

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

不确定我是否可以这样做,但如果我在一列中有4个非空白单元格(比如A4、A29、A30和A62),我可以通过一个函数(即[A4、A29、A30、A62])获得这些单元格的数组吗

干杯, 哈克



更新-所以我尝试将解决方案滚动到自定义公式中

我有:

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()进行替换()。