ArrayFormula Auto-Increment
Никак не могу понять, как именно работает нижеприведенная формула в Google Spreadsheets:
=ArrayFormula(COUNTIFS(ROW(B2:B), "<="&ROW(B2:B)))
Мне не ясно, почему ROW(B2:B) (1ый аргумнет) вообще работает. Первым аргументом же должен идти диапозон, функция ROW возвращает текущий номер строки, так почему он отрабатывает по-другому и возвращает как будто диапозон, состоящий из номеров строк?
Ответы (1 шт):
Странное поведение...
В Excel такая конструкция не сработает, т.к. COUNTIF первым аргументом воспринимает только диапазон листа, а ROW(B2:B9) - это диапазон номеров строк (от 2 до 9).
В Google-таблице, похоже, интереснее, но в справке разъяснения не нашел. Возможно, незадокументированная возможность, и такое предположение:
т.к. ROW - строка, то ROW(B2:B9) (диапазон чисел) в первом аргументе функции COUNTIF восприниматься как диапазон листа и ошибка не возникает. Тогда понятна логика работы функции.
Но сама запись странная... Если хотели пронумеровать строки, то достаточно
=ArrayFormula(ROW(B2:B)-1)
