
Общая формула
=ROW()-ROW((#Headers))
Резюме
Чтобы добавить автоматические номера строк в таблицу Excel, вы можете использовать формулу, основанную на функции СТРОКА. В показанном примере формула в B5, скопированная ниже, выглядит так:
=ROW()-ROW(Table1(#Headers))
Примечание: имя таблицы не требуется. Однако Excel автоматически добавит имя таблицы, если оно не указано.
Объяснение
Если аргумент не указан, функция СТРОКА возвращает «текущую строку», то есть номер строки ячейки, которая ее содержит. Если указана ссылка на ячейку, СТРОКА возвращает номер строки ячейки. Если указан диапазон, СТРОКА возвращает номер первой строки в диапазоне.
В показанном примере формула B5 имеет следующий вид:
=ROW()-ROW(Table1(#Headers))
Первая строка ROW возвращает 5, поскольку ROW не имеет аргументов и находится в ячейке B5. Вторая строка ROW использует структурированную ссылку:
Table1(#Headers) // header row
Строка заголовка преобразуется в диапазон $ B $ 4: $ F $ 4, поэтому ROW возвращает 4. Для первых 3 строк таблицы мы имеем:
B5=5-4 // 1 B6=6-4 // 2 B7=7-4 // 3
Нет строки заголовка
Приведенная выше формула отлично работает, пока в таблице есть строка заголовка, но она не будет работать, если строка заголовка отключена. Если вы работаете с таблицей без строки заголовка, вы можете использовать эту альтернативу:
=ROW()-INDEX(ROW(Table1),1,1)+1
В этой формуле первая функция ROW возвращает текущую строку, как указано выше. Функция ИНДЕКС возвращает первую ячейку в диапазоне Таблица1 (ячейка B5) второй функции СТРОКА, которая всегда возвращает 5. Для первых 3 строк таблицы формула работает следующим образом:
B5=5-5+1 // 1 B6=6-5+1 // 2 B7=7-5+1 // 3
Эта формула будет продолжать работать нормально, даже если строка заголовка отключена.