Создать нумерованный список с функцией обновления?

Создать нумерованный список с функцией обновления?

Можно ли сделать что-то подобное в Excel? Типа списка активных строк с порядковым номером в них.

Есть столбец B. Он должен показывать порядковый номер, который представляет активную строку на листе. Посмотрите на изображение.

Если строка неактивна, то столбец B не будет иметь порядкового номера. Теперь, когда яудалить некоторые порядковые номераиз столбца B, порядковый порядок должен обновиться соответственно. Допустим, я удаляю текст ячейки B7, как мне сделать так, чтобы столбец B обновил свои значения. Посмотрите на изображение.

Можно ли сделать это простым способом, без написания большого количества кода скрипта?

PS. Я не эксперт по Excel, поэтому было бы здорово, если бы было простое решение с помощью встроенных формул Excel. :) PPS. эта функция похожа на нумерованный список Word. Если я удалю любой элемент списка, последующие элементы обновят его значения соответствующим образом.

РЕДАКТИРОВАТЬ

В столбце A перечислены все задачи от 1 до X. В столбце B перечислены активные задачи. Они упорядочены по статусу (активные неактивные). Когда я заканчиваю определенную задачу (например, 7-ю задачу), я просто удаляю ее значение в столбце B, а затем вручную исправляю все последующие числа. Таким образом я знаю, сколько у меня активных задач и какие из них активны.

Пожалуйста, сообщите, если что-то все еще непонятно и какая часть требует дополнительных пояснений!!!

P.S. Задания описаны в столбцах C, D и E, но эта часть здесь неактуальна.

решение1

Я думаю, было бы проще управлять, если бы у вас был дополнительный столбец, где вы могли бы просто отмечать, активна ли строка, скажем, с помощью «x». Тогда вы могли бы автоматически вычислять порядковый ранг каждой активной строки в следующем столбце.

Например, если вы сделаете столбец B содержащим символы «x», обозначающие, что строка активна, в столбце C вы можете ввести следующее (в C2):

=IF(B2="x",MAX(C$1:C1)+1,"")

Затем заполните эту колонку.

скриншот

решение2

На основе предложений я нашел правильный и простой способ сделать это. Просто используя maxфункцию.

Формула такова:=MAX($B$X:BY)+1

Например, в ячейку B2 я ввожу формулу =MAX($B$1:B1)+1, а затем копирую ее во все остальные ячейки столбца B и вуаля - я получил то, что мне нужно. Я могу удалить любое значение ячейки, и все последующие сразу же обновятся.

Спасибо ребята!

решение3

Не зная, как попадают входные данные или для чего они используются, вы можете попробовать следующее:

Если вы ввели «1» в ячейку B1 и скопировали следующую формулу в ячейку B2:

=IF(B1 = "", OFFSET(B1,-1,0)+1,B1+1)

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

Примечание: Offsetпозволяет удалить содержимое ячейки и «перейти» на одну ячейку вверх в списке, если указанная выше ячейка пуста

Использование циклического макроса обеспечит большую масштабируемость.

Более подробная информация о том, чего вы пытаетесь достичь, будет весьма полезна.

Связанный контент