ВидеоExcelАвтоматическая нумерация строк в Excel - новый простой способ или когда что-то...

Автоматическая нумерация строк в Excel — новый простой способ или когда что-то пошло не так

Еще одна запись в тему автоматической нумерации в Excel. До появления динамических массивов, если не рассматривать варианты с макросами, реализовать такое возможно было двумя путями:

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

Если преобразование данных в таблицу не является проблемой, то первый способ отличный вариант. Если вариант с оформлением данных таблицей — не вариант, можно воспользоваться вторым способом, но изящным его назвать нельзя. Скорее такой себе «костыль» который имел право на существование до появления динамических массивов…

Казалось бы, если бы не одно значительное НО…

Дальше планировался опус приблизительно такого содержания (запилю его цитатой самого себя:)

Проблема второго способа заключается в том, что мы занимаем место в ячейках формулой, со всеми вытекающими последствиями (случайная очистка данных, невозможность временно занять данную ячейку и т.д.). «Внутренний перфекционист» также не одобрит подобную реализацию.

На самом деле, все более интереснее. Как известно, Office 365 интенсивно обновляется, и Excel явный лидер в регулярных новшествах. В версии Excel 365 — 2006 (сборка 12905.20000), которая была установлена в системе «для видео уроков» проявилась интересная особенность. А именно, если обычная формула ссылается на смежные ячейки минимум 4 раза, то при добавлении новых данных формула будет реплицироваться также баз какого-либо автозаполнения.

В версии Excel 365 2005 (сборка 12827.20210), которая установлена на моем основном рабочем ноутбуке, такая фишка не сработала.

Таким образом, формула:

=ЕСЛИ(ЕПУСТО(B2),"",СТРОКА()-1)

оказалась не такой уж и «костыльной»

В завершение, все-таки, приведу и формулу на основе динамических массивов, ради которой эта запись и затевалась.

=ПОСЛЕД(СЧЁТЗ(B:B)-1)

В основе формулы находится функция ПОСЛЕД. Которая позволяет генерировать последовательности, в качестве аргумента, определяющего количество будущих строк, функции передается количество не пустых ячеек в диапазоне. -1 — это смещение в одну строку, которая отведена под заголовок. Да, эта функция использует возможности динамических массивов, поэтому, если вы не обладаете подпиской Office 365 — мучаемся, терпим боль и пользуемся способами, озвученными ранее.

 

- Advertisement -

ПРИСОЕДИНЯЙСЯ

15ЧитателиЧитать
4,930ПодписчикиПодписаться

Больше видео
Супер интеллектуальная подборка