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

时间:2018-11-05 20:52:26

标签: 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 = [];
  rangeToLoopThrough =   {"A"&substitute(TEXTJOIN(",A",,ArrayFormula(row(passedRange)*(passedRange<>""))),",A0","")};
  return rangeToLoopThrough[0];
};

它抱怨

  

第5行上的“缺少:属性ID之后”。

我认为它不喜欢passRange。您不应该将范围传递给自定义公式吗?

干杯, 哈克

3 个答案:

答案 0 :(得分:1)

有一个更好的解决方案/更清晰的问题,请尝试:

="A"&substitute(TEXTJOIN(",A",,ArrayFormula(row(A4:A62)*(A4:A62<>""))),",A0","") 

答案 1 :(得分:0)

您可能正在寻找大括号解决方案:

{A4,A29,A30,A62}将为您提供一个包含四列的行的数组 {A4; A29; A30; A62}将为您提供一个包含四行的列的数组

您可以从那里拿走。

在创建数组标题下的更多信息:https://support.google.com/docs/answer/6208276?hl=en

答案 2 :(得分:0)

不需要自定义功能。您可以使用FILTER:

=FILTER(A:A,A:A<>"")