Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Разбить диапазон чисел по разрядам
 
Ігор Гончаренко, не получается в обратную сторону
если вести другой интервал: 501-699
dubug: 501-509, 510-599, 600-689, 690-699 - жирный шрифт - лишнее
В сторону уменьшения от идет через десятки. Здесь нужен последний интервал - 600-699. Последнее значение, после которого 6 переходит в 7
Разбить диапазон чисел по разрядам
 
Equio - спасибо. Ваш способ делить длинное число на цифры оригинальнее моего.  :) Взял на вооружение, спасибо!
Подход по сравнению массивов я и думал реализовать, но запутался в самом процессе((
Ігор Гончаренко, Спасибо за функцию! Однако, она возвращает одно лишнее значение. На уменьшение нужно идти на один шаг раньше

Вот диапазон, который я вставил: 778-877
Результат функции: То, что выделил жирным - лишняя итерация
В обратную сторону на единицу шаг не нужен. Остальное все супер. Можно это как-то поправить? или нарушится логика функции и лучше потом уже из текстового результата это лишнее значение вырезать?
"778-779, 780-799, 800-799, 800-869, 870-877"
Разбить диапазон чисел по разрядам
 
Ну, в принципе верно. Только переход с 6 на 7 или 7 на 8 - это в данном конкретном примере. А в общем случае признак -  изменение на единицу сначала единиц, потом десяток, потом сотен
Разбить диапазон чисел по разрядам
 
Сорри, приложил недоделаный макрос
Разбить диапазон чисел по разрядам
 
Всем добрый день!
Поискав на форуме не нашел ничего про преобразование диапазона чисел в регулярные выражения.
Если у кого-то есть - буду благодарен.
Ну а пока, решил сделать его сам.
В процессе наткнулся на задачку, к которой не могу найти подход.
Нужно разбить диапазон чисел по разрядам:
Единицы должны переходить в десятки, десятки в сотни. Потом в обратную сторону до конечного значения. Итак:

Например есть диапазон: 778 - 877 (99 значений)
Необходимо его разбить следующим образом:

778-779 (2 значения) - диапазон до изменения второго разряда (десятки) (меняется с 7 на 8, так как единица обнуляется после значения 9. следующее число будет уже 780)

780-799 (19 значений) - диапазон до изменения первого разряда (после 799 идет 800: первый разряд переходит с 7 на 8 )

Так, как нам не нужен диапазон 9хх (у нас край диапазона - 877 см. условие), то идем в обратную сторону:

800-869 - (69 значений) - диапазон до изменения второго разряда (десятки) (после 869 идет 870)
870-877 - (7 значений) - диапазон до конца.

Вот такая интересная нетривиальная задачка.
На входе - диапазон значений ( в одной ячейке ОТ в другой ДО), на выходе - 4 диапазона в ячейках
В идеале - инструмент должен быть универсальный - диапазоны могут быть четырехзначные, пятизначные и т.п

Я начал диапазоны в массивы заносить, потом пытался сравнивать..в итоге запутался окончательно! )
Может есть какая-то готовая математическая функция? Может похожая? я сам адаптирую ее

Если есть любители поломать голову - буду благодарен  :)
Изменено: mant - 06.09.2016 12:44:05
Страницы: 1
Наверх