Добрый всем день!
Новая интересная задачка, я её решил формулами, но пипец как длинно и громоздко. Если будут мысли как это сделать более "элегантно" буду премного благодарен!
Суть задачи:
Существует запись заказа, которая прописывается в файле Плана Производства:
Необходимо из записи заявки извлечь все порядковые номера Блок-контейнеров, диапазоны заменить на последовательности, каждый номер расположить в отдельной ячейке, в столбик. Конечная запись выглядит так:
Правила записи номера заявки следующие:
Заявка_058_099_БК: 001,002,005-008,020-027,030-035,070-079,097
Заявка_058_099_БК: - постоянная часть, с постоянным количеством знаков 19 штук. (включая пробел после ":"). Оба числа всегда по 3 знака, от 001, до 999.
001,002,005-008,020-027,030-035,070-079,097 - порядковые номера контейнеров, всегда по 3 знака, "-" - обозначение интервалов с номерами, разделение ",", всегда записываются без пробелов. количество одиночных номеров и интервалов не ограничено.
Пробел в записи встречается только один раз, после ":", т.е. отделяет номер заявки от перечня контейнеров.
Данную задачу решил с помощью формул, очень громоздко получилось, файл прикрепляю.
При чём пришлось использовать нестандартную функцию "РАЗБСТРОКУ" - как я понимаю эта функция появилась после установки надстройки "EXCELTools".
Буду благодарен за подсказку как это сделать менее громоздко, в т.ч. с помощью макроса.
Особенно хотелось бы убрать нестандартную функцию "РАЗБСТРОКУ".
Новая интересная задачка, я её решил формулами, но пипец как длинно и громоздко. Если будут мысли как это сделать более "элегантно" буду премного благодарен!
Суть задачи:
Существует запись заказа, которая прописывается в файле Плана Производства:
Заявка_058_099_БК: 001,002,005-008,020-027,030-035,070-079,097 |
где: |
Заявка_058 - порядковый номер заявки в году (min 001, max 999) |
_099_БК: - общее количество Блок-контейнеров в заявке (min 001, max 999) |
001,002,005-008,020-027,030-035,070-079,097 - порядковые номера идентичных Блок-контейнеров ("-" обозначает диапазон "с… по...") |
Результат |
1 |
2 |
5 |
6 |
7 |
8 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
30 |
31 |
32 |
33 |
34 |
35 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
97 |
Заявка_058_099_БК: 001,002,005-008,020-027,030-035,070-079,097
Заявка_058_099_БК: - постоянная часть, с постоянным количеством знаков 19 штук. (включая пробел после ":"). Оба числа всегда по 3 знака, от 001, до 999.
001,002,005-008,020-027,030-035,070-079,097 - порядковые номера контейнеров, всегда по 3 знака, "-" - обозначение интервалов с номерами, разделение ",", всегда записываются без пробелов. количество одиночных номеров и интервалов не ограничено.
Пробел в записи встречается только один раз, после ":", т.е. отделяет номер заявки от перечня контейнеров.
Данную задачу решил с помощью формул, очень громоздко получилось, файл прикрепляю.
При чём пришлось использовать нестандартную функцию "РАЗБСТРОКУ" - как я понимаю эта функция появилась после установки надстройки "EXCELTools".
Буду благодарен за подсказку как это сделать менее громоздко, в т.ч. с помощью макроса.
Особенно хотелось бы убрать нестандартную функцию "РАЗБСТРОКУ".