ArrayFormula Auto-Increment

Никак не могу понять, как именно работает нижеприведенная формула в Google Spreadsheets:

=ArrayFormula(COUNTIFS(ROW(B2:B), "<="&ROW(B2:B)))

Мне не ясно, почему ROW(B2:B) (1ый аргумнет) вообще работает. Первым аргументом же должен идти диапозон, функция ROW возвращает текущий номер строки, так почему он отрабатывает по-другому и возвращает как будто диапозон, состоящий из номеров строк?

введите сюда описание изображения


Ответы (1 шт):

Автор решения: vikttur_Stop_RU_war_in_UA

Странное поведение...

В Excel такая конструкция не сработает, т.к. COUNTIF первым аргументом воспринимает только диапазон листа, а ROW(B2:B9) - это диапазон номеров строк (от 2 до 9).

В Google-таблице, похоже, интереснее, но в справке разъяснения не нашел. Возможно, незадокументированная возможность, и такое предположение:

т.к. ROW - строка, то ROW(B2:B9) (диапазон чисел) в первом аргументе функции COUNTIF восприниматься как диапазон листа и ошибка не возникает. Тогда понятна логика работы функции.

Но сама запись странная... Если хотели пронумеровать строки, то достаточно

=ArrayFormula(ROW(B2:B)-1)
→ Ссылка