Глядя на ваш скриншот, кажется, что вам нужно всего лишь несколько лишних битов для формулы (при условии, что вы исправили другие вероятные трудности: "20018", вероятно, должен иметь только один ноль (тривиальный) и «:» и далее после ROWS () функция выглядит немного нужной)
ROWS(), так как вы используете его, конечно, создаст для вас ряд чисел. Это идеально, как есть и идеально подходит для этой цели. Однако он выдаст "1" и "2" и т.д., А не "001" и "002" и т.д.
Так что "оберните его" в функцию TEXT() и укажите "000" в качестве числового формата, который он должен вернуть. Тогда вы получите "001" и так далее.
В этот момент все должно работать идеально.
В более общем смысле, как это происходит, каждый имеет буквенно-цифровой номер детали, возможно, даже тупой, как "AN34TDKH020", и ему нужно увеличивать одну или обе числовые части. Ключ тогда - "Хорошо ли ведет себя шаблон?«Первые два символа остались прежними? Всегда ли вторая альфа-часть состоит из четырех символов, а не двух или восьми? Если эта часть движется на вас, остальная часть стабильна? Как в этой части всегда начинается с 5-го символа, а конечная числовая часть всегда длиной в три цифры?
Посмотрите на стабильность шаблонов, как это, затем примените LEFT(), MID() и RIGHT() по мере необходимости, чтобы сначала вытащить часть, которую вы хотите увеличить, увеличить ее, собрать обратно и продолжить для любых других частей, пока не закончите увеличение и затем остановитесь, давая вам увеличенный результат. Whatif можно применять так же, как и простые +1, +1 и т.д.
Учитывая, что буквенные символы имеют числовые значения для компьютеров (помните вашу функцию CHAR ()), можно даже увеличивать буквы во многих случаях, хотя они часто имеют значения в номерах деталей, которые делают увеличение как таковое бесполезным усилием.
Но ваш готов приступить к работе после того, как вы завернете его в функцию TEXT(): TEXT(ROWS(J $ 115: J115), "000").