Автоматическая нумерация строк Excel с помощью функции

Учитывая всеобщий постоянный интерес к статье о нумерации строк в таблицах Excel, где я описывал как пронумеровать строки, я решил рассказать ещё об одной возможности нумерации. Этот вариант интересен тем, что позволяет автоматически соблюдать порядок пронумерованных строк в случае удаления некоторых из них или добавлении.

Как я подозреваю, тут работает тот же механизм, которым пронумерованы строки самой таблицы (серое поле слева от ячеек), но которым можно воспользоваться и в собственных целях.

Итак, речь идет о функции =СТРОКА(), которую можно применить для отображения номера строки. Как это удобнее сделать?

Вообще, тут есть 2 варианта.

  1. Как и любая нормальная функция Excel :-), эта может иметь в качестве аргумента адрес ячейки. При этом она возвращает в ячейку, в которой установлена, результат — номер строки, на которой находится ячейка. Например, функция =СТРОКА(D9) вернет значение 9 в ту ячейку,  которой она находится. Однако, никто не запрещает её ставить в ту же ячейку, адрес которой указывается в ней как аргумент. Поэтому, поместив формулу =СТРОКА(В6) в ячейку В6, мы получем в ней цифру 6.
  2. Это вариант, когда аргумент функции вообще можно не указывать (но вы же помните, что скобки при этом обязательны?). В этом случае функция возвращает номер той строки, в которой она стоит. Тут очень просто, поставили функцию =СТРОКА() в ячейку А5, и получили в этой ячейке число 5.

Второй вариант конечно проще. Поэтому, чтобы пронумеровать столбец таблицы, который начинается в ячейке А3 и заканчивается в ячейке А25, нужно сделать следующее:

  1. Записываем в ячейку А3 функцию =СТРОКА();
  2. Захватываем маркер заполнения мыщью (это квадратик в правом нижнем углу прямоугольного курсора в таблице Excel);
  3. Протаскиваем за маркер прямоугольный курсор вниз по столбцу до ячейки А25 (на которой заканчивается столбец).

А вот тут интересно! Оно то конечно пронумеровалось, но так как А3 — это начало нашей таблицы, т.е. первая её строка, то увидеть там нумерацию начиная с числа «3» как-то не очень хорошо. Что делать? А немножко подумать. Всего-то и делов — внести поправку на сдвиг. Так как наша таблица располагается ниже основной нумерации строк на две строки, то нам нужно записать в ячейку: =СТРОКА()-2. В этом случае мы получаем в ячейке А3 значение, равное «1». Теперь можно распространять эту формулу на весь наш столбец и всё будет хорошо пронумеровано.

Стоит заметить, что эти числа обновляются при сортировке данных. При добавлении, перемещении или удалении строк последовательность может быть смещена, а значит и прервана. Тогда нумерацию нужно обновить вручную,  перетащив маркер заполнения по диапазону. А если вы объявите в свой заполненный диапазон данных, как таблицу и примените для нумерации строк функцию =СТРОКА(), то новые строки, добавленные в конец этой таблицы, будут пронумерованы автоматически.