Пользовательская функция Google Sheet - как получить ячейки из диапазона, если ячейка не пуста - PullRequest
0 голосов
/ 05 ноября 2018

Не уверен, смогу ли я сделать это, но если у меня есть 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.

Я думаю, что ему не нравится пройденный диапазон. Разве вы не можете передать диапазон в пользовательскую формулу?

Ура, Гек

Ответы [ 3 ]

0 голосов
/ 06 ноября 2018

Возможно, вы ищете решение для фигурных скобок:

{A4, A29, A30, A62} даст вам массив, состоящий из четырех столбцов {A4; A29; A30; A62} даст вам массив, который является столбцом с четырьмя строками

И вы можете взять его оттуда.

Подробнее здесь под заголовком Создать массивы: https://support.google.com/docs/answer/6208276?hl=en

0 голосов
/ 06 ноября 2018

Пользовательская функция не требуется. Вы можете использовать ФИЛЬТР:

=FILTER(A:A,A:A<>"")
0 голосов
/ 06 ноября 2018

В ожидании лучшего решения / уточнения Q, пожалуйста, попробуйте:

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