Страницы: 1
RSS
Сортировка групп данных по наименьшему значению в группе
 
Доброго времени суток. Помогите, пожалуйста, с решением следующей задачей.
Имеется массив из двух столбцов (в дальнейшем может больше). На одно значение из левого столбца, приходится два из правого, значений левого не повторяются, а вот значения в правом дублируются. Данные занесены, допустим, в произвольном порядке. Необходим поиск дублей и сортировка таким образом, чтобы эти дубли располагались друг за другом парами с подстановкой значения левого столбца.
Я надеюсь не сильно накрути с объяснением.... В примере понятнее вроде бы.  
 
Задача: Сортировка парных значений из столбца B которым соответствует одно значение из столбца A таким образом, что бы дублирующие значения столбца B располагались друг за другом и при этом второе (парное) значение следовало бы ниже и к нему тоже  присоединялся его дубль ниже. И так друг за другом вниз.  
 
Здравствуйте.
Вариант темы: Сортировка групп данных по наименьшему значению в группе.
Вариант с формулой в доп столбце в файле.

Упс! Наверно я не так понял, группы должны стыковаться одинаковыми значениями?
Изменено: gling - 06.12.2020 23:17:48
 
Уважаемый, gling, да, вы правы, немного не то

Более наглядный пример ниже
 
Андрей Н, общая схема понятна, вроде как нужно на основе значений в столбце В построить последовательность в столбце А. Но не понятно почему начинается все с тройки в столбце А и с 3564 в столбце В?
Изменено: PooHkrd - 06.12.2020 23:30:52
Вот горшок пустой, он предмет простой...
 
PooHkrd, Первое значение пары вводится вручную, оно не имеет дубля. Можно начать и с пятерки 3559 тоже не имеет дубля.  
 
Андрей Н, всегда только 2 значения не имеют дублей? т.е. по сути можно взять любое из двух, и цепочка выстроится одинаковая, просто в разных направлениях. Правильно?
Вот горшок пустой, он предмет простой...
 
Да все верно.
Представил табличные данные в виде схемки.  
 
схематичная формула:
Код
 =ИНДЕКС($B$3:$B$22;ПОИСКПОЗ(O4;$B$3:$B$22*ЕНЕЧЁТ(СТРОКА($B$3:$B$22));)+1)
Изменено: buchlotnik - 07.12.2020 01:17:52
Соблюдение правил форума не освобождает от модераторского произвола
 
Очень круто! Но. Получается что формула привязана к жесткому  критерию последовательности исходных данных. Если применить обычную сортировку в таблице исходных данных или поменять местами значения из пары, то все сбивается.
 
Цитата
Андрей Н написал:
Если
а сразу привести РЕАЛЬНЫЙ пример никак было?
Соблюдение правил форума не освобождает от модераторского произвола
 
Пример РЕАЛЬНЫЙ. Всего лишь совпадение, что значения встали таким порядком. В самом начале я написал что они в произвольном порядке.
Да собственно самый первый пример, там как раз таки в произвольном.
 
Андрей Н, формулой такое не смогу, вариант решения на PQ интересует? Если да, то ближе к вечеру освобожусь и постараюсь нарисовать. А может и опередит кто.
Вот горшок пустой, он предмет простой...
 
PooHkrd, интересует. Мне главное решение
 
да ну, чего ж сразу PQ
Код
=ЕСЛИ(ЕЧЁТН(СТРОКА());ИНДЕКС($A$12:$A$19;ПОИСКПОЗ(L13;$B$12:$B$19*($A$12:$A$19<>K12);));K12)
Код
=ЕСЛИ(ЕЧЁТН(СТРОКА());L12;МАКС(($A$12:$A$19=K12)*($B$12:$B$19<>L12)*$B$12:$B$19))
Изменено: buchlotnik - 07.12.2020 17:47:42
Соблюдение правил форума не освобождает от модераторского произвола
 
buchlotnik, Спасибо тебе, мил человек.  
Страницы: 1
Наверх