
Резюме
Для создания базовой нумерации схемы вы можете использовать формулу на основе нескольких функций Excel, включая COUNTA, IF, MID, FIND и LEN. В показанном примере формула в D5:
=COUNTA($B$5:B5)&"."&IF(B5"",1,MID(D4,FIND(".",D4)+1,LEN(D4))+1)
Примечание: эта формула будет обрабатывать только двухуровневую схему.
Объяснение
По сути, эта формула строит числа уровня 1 и уровня 2 и объединяет два числа вместе с точкой (".") В качестве разделителя. Результат - значение типа «1,1». Номер "уровня 1" генерируется с помощью COUNTA следующим образом:
=COUNTA($B$5:B5)
Обратите внимание, что диапазон является расширяющейся ссылкой, поэтому он будет расширяться по мере копирования вниз по столбцу.
Номер «уровня 2» генерируется с помощью этого кода:
IF(B5"",1,MID(D4,FIND(".",D4)+1,LEN(D4))+1)
Здесь функция ЕСЛИ используется для проверки содержимого B5. Если поле B5 не пустое, это означает, что у нас есть новый заголовок уровня 1, а IF возвращает 1. Другими словами, каждый раз, когда у нас появляется новая запись уровня 1, мы перезапускаем нумерацию уровня 2 с 1.
Если B5 * пусто, нам нужно увеличить номер уровня 2, используя значение в ячейке выше. Это немного сложно, потому что номер схемы - это текстовая строка, а не число. Это означает, что нам нужно извлечь значение с помощью текстовой функции, прежде чем мы сможем увеличить. Для этого мы используем функцию MID, чтобы извлечь весь текст справа от точки («.»), Который мы обнаруживаем с помощью функции FIND:
MID(D4,FIND(".",D4)+1,LEN(D4))+1
Функция LEN используется как простой способ гарантировать извлечение всех символов после точки. Обратите внимание, что затем мы добавляем 1 непосредственно к результату, который по-прежнему остается текстом. Эта математическая операция заставляет Excel преобразовывать текст в число, поэтому в результате получается увеличивающееся число. Наконец, числа уровня 1 и уровня 2 объединяются точкой (".") В качестве разделителя.