Объединить увеличивающийся номер строки со строкой в ​​массиве Google Sheets - PullRequest
1 голос
/ 05 ноября 2019

Я пытаюсь заставить столбец автоматически заполняться увеличивающимися строками в зависимости от номера строки в ARRAYFORMULA в листах Google. Я могу легко получить столбец для отображения смещенного номера строки, поместив =ARRAYFORMULA(ROW(A:A)-1) в верхнюю ячейку. Однако попытка использовать этот ROW вызов внутри CONCATENATE не дает мне желаемого результата, я пробовал с TO_TEXT.

и без него. На рисунке формула, используемая для различных столбцов::

A1: =ARRAYFORMULA(ROW(A:A)-1)

B1: =ARRAYFORMULA(IF(ROW(B1:B)>1,CONCATENATE("Hello World: ",(ROW()-1)),"Hello there world!"))

C1: =ARRAYFORMULA(IF(ROW(C1:C)>1,CONCATENATE("Hello World: ",TO_TEXT(ROW(C:C)-1)),"Hello there world!"))

D1: D16: Вручную введите нужные строки.

Снимок экрана электронной таблицы

Как видите, B1 не увеличивает число, а использует только значение ROW из ячейки, в которой задана формула. И C1 объединяет все номера строк в каждой строке.

Любые идеи о том, как я могу достичь желаемого результата без заполнения или использования скриптов?

Ответы [ 2 ]

0 голосов
/ 05 ноября 2019

существует неписанное правило, которое гласит, что никогда не следует использовать CONCATENATE, если оно вам действительно не нужно, что также всегда никогда. чтобы присоединиться, все что вам нужно это &

=ARRAYFORMULA({"Hello there world!"; "Hello World: "&ROW(A2:A)-1})
0 голосов
/ 05 ноября 2019

В B1 попробуйте

=ARRAYFORMULA(IF(ROW(B:B)>1, "Hello World: "&ROW(B:B)-1,"Hello there world!"))

или

={"Hello there world!"; ARRAYFORMULA("Hello World: "&ROW(B2:B)-1)}

и посмотрите, работает ли это?

...