X

Автоматическая нумерация строк 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». Теперь можно распространять эту формулу на весь наш столбец и всё будет хорошо пронумеровано.

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

Vladimir:

View Comments (9)

  • Доброе время суток. Как в Excel вписав начальную дату и количество месяцев получить автозаполнение, но не с помощью команды Fill - Series, а с помощью формулы?
    Спасибо.

  • Здравствуйте, Владимир. А многоуровневая нумерация возможна в excel?

    • Ирина, в Excel многоуровневой нумерации как таковой нету, потому как номер должен однозначно в числовом формате определять строку. А многоуровневый вариант описывает какие-то наши измышления. Однако, если пошаманить с формулами, то, в принципе, такую нумерацию можно настроить. :-)

  • Если не секрет, дорого обошлось создание блога? Тоже хочется попробовать вести своё что-нибудь.

    • Ну, учитывая, что я всё делал своими силами, то не очень.
      Своими руками сделано:
      - разобрался с настройкой Wordpress (настройки, дизайн)
      - написание материалов
      - телодвижения по продвижению (всё на бесплатной основе)

      Обязательные ежегодные расходы:
      1. за доменное имя
      2. за хостинг для размещения сайта

      В принципе, всё реально, но требует времени.

  • Очень порадовали Вы меня! Как раз актуально на данный момент! :) Спасибо!

  • Добрый день!
    Часто нужно, чтобы номера были не в каждой строке, например, когда список включает расшифровки, а таком случае удобно пользоваться формулой МАКС(). Допустим, первая строка с номером у нас, как с примере Владимира, в ячейке A3, тогда:
    1. Мы записываем в неё формулу =МАКС($A$1:A2)+1 . В этой формуле - A2 - ячейка сразу над той, в которую нужно поставить первый номер.
    2. Выделяем ячейку A3 и жмем копировать CTRL + C.
    3. В тех строках, где нужны номера жмем вставить - CTRL + V.
    При таком способе удобно, что можно вставлять и удалять номера, когда это нужно - остальные номера поменяются автоматически.
    Если нужен номер с точкой в конце - ставим точку в формате "0."

  • Здравствуйте, Владимир. Не буду повторять все комплименты, которые Вам говорили благодарные пользователи сайта и к которым я, конечно, присоединяюсь. Сейчас меня "распирает" от благодарности к Вам и восторга от того, что благодаря Вашим урокам и письмам пользователей, которые я внимательно изучила, я наконец-то нашла способ проставлять автоматически нумерацию строк с точкой (1. и т.д.). У Вас я этого способа не нашла. При простых способах нумерации программа не давала продолжить автоматически нумерацию строк с номера "1." , а предлагалось все строки обозначить как "1.". Сейчас я нумерую строки автоматом числами с точкой способом "функция СТРОКА" , предварительно, задавая "тип" ячейки новым форматом "0.", на вкладке "Число". Конкретно этот способ "родился" из всех Ваших советов и советов Ваших пользователей, за что всем-всем-всем благодарна. Всем здоровья и удачи.

    • Рита, большое спасибо за отзыв! Очень приятно, когда люди читают с пользой и потом сами докапываются до интересных решений.

Related Post