Страницы: 1
RSS
Разбить строку с номерами домов на чётные и нечётные
 
Доброго времени суток, уважаемые форумчане!
Сама полнейший профан в exel, а сейчас приходится обрабатывать большие массивы данных, помогите, пожалуйста, решить задачу.

Необходимо разбить в отдельные строки номера домов на чётные и нечётные, при условии, что нумерация внесена в разных форматах: "48, 41 - 49, 53, 52, 54, 58 - 68, 72 - 78, 57 - 71, 82 - 94" и через запятую и диапазоны и в одной строке. Файл с примером прилагаю.
Сейчас делаю ручками, но наверняка есть более быстрое решение.
Заранее благодарна за помощь!
Изменено: raiana5 - 06.03.2020 17:03:45 (Неправильный файл примера)
 
А как вы определяете, что  55-87 нечетное, в диапазоне есть же и четные?
Пример совсем непонятен - исходные одни а результат совсем другой, как-будто не та информация.
Изменено: skais675 - 06.03.2020 16:09:19
 
Цитата
skais675 написал:
А как вы определяете, что  55-87 нечетное, в диапазоне есть же и четные?
а я делаю доп. столбец и ставлю признак четности 1 или 2 (в образце есть такой столбец)
 
Цитата
raiana5 написал:
и ставлю признак четности 1 или 2
на каком основании по какому принципу?
 
1 - нечетные
2 - четные

Цитата
skais675 написал: ...исходные одни а результат совсем другой, как-будто не та информация.
да, я уже подумала, что это запутает)) пример для образца, данные там разнятся. просто показала, что в одной строке дома в одной строке и четные и нечетные и через запятую и с диапазоном.  
 
Если мы рассматриваем 1-4 - Это какое? здесь же есть нечетные 1,3 и четные 2,4.
 
в диапазоне (когда тире) обычно по умолчанию либо четные, либо нечетные, т.е. 1 - 3, 5 - 11. Если комбинация четное и нечетное число то это ошибка, которая почти не встречается.  А вот через запятую в строке все числа подряд могут быть. Этот файл необходимо потом загружать в систему. А система при указании диапазона считывает только по признаку четности 1 или 2 (четные/нечетные). Не знаю, правильно ли я поняла ваш вопрос))  
 
Доброе время суток
raiana5,  а не подскажете, по какому принципу ул. Сорокинская и пер. Степной стали ул. Советской? И почему в примере части как надо, нумерация почти не сбивается по числам
Изменено: Андрей VG - 06.03.2020 16:50:08
 
Андрей VG, добрый день! Спасибо, что обратили внимание, всё-таки образец я неудачный сделала. Прилагаю исправленный.
Суть в том, что разбивка идет в привязке к номеру участка +признак четности.
 
Решение.
Скрытый текст
Изменено: skais675 - 06.03.2020 17:38:49
 
Я бы сначала в исходной таблице ", " заменил на перенос строки (Ctrl-J), данные из ячейки скопировал в Блокнот, потом обратно в Excel, тогда бы номера домов выстроились в столбец. Протянул улицу. Отделил корпуса, а потом уже выяснял, что четное/нечетное, ну и собирал далее.
 
skais675, спасибо большое!!!
Дмитрий Плотников, благодарю! Ваш вариант тоже испробую!
Буду пробовать, если разберусь  :oops:  
 
Ещё вариант. Выделяем данные как в примере, выполняем SplitByEvenOdd
 
Андрей VG, огромное спасибо! И это тоже попробую!
 
raiana5, вариант в PQ
 
И повалило! Вот что  значит толковый пример  :D
 
Андрей VG, очень здорово! такая отзывчивость! осталось разобраться с этими "пирожками"  :D  
пока только с первого раза разобралась с примером Дмитрий Плотников,

Цитата
Михаил Л написал:  вариант в PQ
Михаил Л, моя огромная благодарность!!!
 
Добрый день. Можно попробовать макросом. В файле на доп.листе фигура с побуждающей надписью. Текст макроса - ниже:
Скрытый текст
Кому решение нужно - тот пример и рисует.
 
Пытливый,  благодарю Вас за помощь. Ваше решение на текущем этапе, оказалось самым удобным (в моем профанском случае).
Но не могу полноценно пользоваться им..  Дело в том, что в вашем варианте макрос выдает результат обработки в восьмую строку, мой же массив включает в себя до 30 тыс. строк. Как переделать, чтобы результаты обработки выводились ниже такого массива - я не знаю и не умею.
Прошу Вас, помогите пожалуйста - могли бы вы поправить макрос так, чтобы результаты обработки выводились например в сроку 30001?
Если это уместно, конечно  :oops:  
 
Вообще, макрос задуман так, что он сам определяет последнюю заполненную строку по столбцу В (в примере с этого столбца начинаются данные) и вставляет результат обработки на 2 строки ниже заполненной области. Макрос будет корректно работать, если шапка таблицы будет расположена также, как в примере (строка,  столбец), данные будут идти без разрыва, ну и таблица будет совпадать по столбцам (наименование, содержание) с примером.
Кому решение нужно - тот пример и рисует.
 
Пытливый, поняла, Спасибо!
Страницы: 1
Наверх