Сортировка по возрастанию одновременно нескольких строк или столбцов

Автор лена89, 13 апреля 2020, 11:39

0 Пользователи и 1 гость просматривают эту тему.

лена89

Добрый день.

Никогда не сталкивалась с сортировкой одновременно нескольких столбцов или строк. Самое большое количество столбцов , с которыми приходилось работать - это штук 20. Не составляло труда отсортировать по очереди 20 столбцов. А тут, надо аж 100 столбцов отсортировать по возрастанию.

Сижу сортирую. Уже устала чего-то. И тут призадумалась - наверное же можно одновременно отсортировать. выделить все столбцы (или строки). А ещё усложнение небольшое, надо сортировку сделать и  в строках. Их больше 200. Строки вообще трудно сортировать, надо заходить в параметры после каждой строки, менять их, потом сортировать одну строку, снова заходить в параметры и снова их менять, так как там сразу автоматически проставляется сортировка по столбцам. А надо строки. Но я нашла выход- сначала транспонирую таблицу, строки меняются на столбцы, я сортирую столбцы ( 100 столбцов) потом снова транспонирую. Ну, это же понятно, что я делаю что-то очень замудренно, и есть способ полегче.  Помогите, пожалуйста. Хотя бы ссылку на тему дайте, так как я искала поиском ( вбила "сортировка") , а что-то тут на форуме вообще про сортировку мало вопросов было. Или не так надо поиск вбивать.  Заранее благодарю.

mikekaganski

Если Вы сортируете отдельно каждый столбец, независимо от других, это значит, что у Вас не таблица. Таблица - это структура, в которой значения в каждом столбце и в каждой строке однородны (относятся к какой-то одной сущности). А Вы их произвольно перетасовываете. Табличные документы не приспособлены для такой работы - в них нет встроенных средств сделать так (ведь это значит использовать инструмент не по назначению). Вам понадобится макрос.
С уважением,
Михаил Каганский

bigor

А я вообще ничего не понял :) Для чего вы это делаете? Опишите задачу что нужно получить с примерами
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

лена89

Цитата: mikekaganski от 13 апреля 2020, 12:10
Если Вы сортируете отдельно каждый столбец, независимо от других, это значит, что у Вас не таблица. Таблица - это структура, в которой значения в каждом столбце и в каждой строке однородны (относятся к какой-то одной сущности). А Вы их произвольно перетасовываете. Табличные документы не приспособлены для такой работы - в них нет встроенных средств сделать так (ведь это значит использовать инструмент не по назначению). Вам понадобится макрос.

Да, я это знаю, что если столбцы связаны между собой, то надо выделить один столбец, и поставить расширенную сортировку. Можно и текущую, но потом вернуть "взад", чтобы не нарушить структуру массива. Это понятно. Мои столбцы не связаны друг с другом, в том-то и дело. Но они стоят рядышком. Мне просто надо каждый столбец отсортировать по возрастанию. Но не по отдельности, а сразу одним махом.

лена89

Цитата: Bigor от 13 апреля 2020, 12:26
А я вообще ничего не понял :) Для чего вы это делаете? Опишите задачу что нужно получить с примерами

задача - все столбцы или строки в массиве одновременно отсортировать по возрастанию. Это нужно для того, чтобы, к примеру, узнать какое число в каждом столбце наименьшее, а какое наибольшее. Чтобы не прописывать каждый раз формулы MIN MAX, а осоритировал и видишь наименьшее и наибольшее. Да и вообще, для общего развития. Мало ли когда понадобится такой способ. 

mikekaganski

Цитата: лена89 от 13 апреля 2020, 12:51Да и вообще, для общего развития. Мало ли когда понадобится такой способ.
Он не должен никогда надобиться. Формулы MIN/MAX - правильный способ узнать наибольшее и наименьшее.

Но как я уже написал - Вам понадобится макрос для решения этой методологически некорректной задачи. Нет (и не должно быть) встроенных инструментов для "сломай мне все данные за один проход".
С уважением,
Михаил Каганский

bigor

Неужели проще протыкать сотню столбцов туда сюда, чем написать одну формулу и протянуть ее на 100 столбиков? А со строками там вообще беда, и транспонировать и сортировать и опять транспонировать
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

лена89

Значит. макросы? Как жаль.  Макросы- это пока самое сложное для меня. Хотя странно. Как может быть некорректна задача, если надо 100 независимых столбцов отсортировать по возрастанию? Почему это должна обязательна быть структура? А если не структура. Бывает же в одном столбце температура, в другом давление. Какая наименьшая температура по отделению? Какое наименьшее давление по отделению? Если привязывать и давление и температуру к одному и тому же больному, то да, это структура. а если просто "забор" данных, независимо от больных, так называемая статистика, то что делать? Ну да. Макросы. уже понятно. спасибо)

mikekaganski

Цитата: Bigor от 13 апреля 2020, 12:57Неужели проще протыкать сотню столбцов туда сюда
Ну, лена89 и хочет одну кнопку "отсортируй мне всё выделенное независимо"  ;D
С уважением,
Михаил Каганский

лена89

Цитата: Bigor от 13 апреля 2020, 12:57
Неужели проще протыкать сотню столбцов туда сюда, чем написать одну формулу и протянуть ее на 100 столбиков? А со строками там вообще беда, и транспонировать и сортировать и опять транспонировать


Так это , если только наименьшее и наибольшее значение вытащить - это несложно формулу написать и протянуть по столбцам. А надо именно расположить в порядке возрастания. Желательно строки. Со столбцами проще.

mikekaganski

Статистика никогда не делается уничтожением исходных данных. К структурированным исходным данным применяются методы получения новых аггрегированных данных (НОВЫХ! Расположенных в новом месте). И если кому-то понадобится узнать максимальную температуру по отделению, никто никогда не будет проводить сортировку одновременно по температуре, по росту и по фамилии в исходном массиве данных. ("Одновременно" в Вашей трактовке, то есть уничтожая взаимосвязи). Даже при ослеплении тестов исходная структура сохраняется в защищённом виде, чтобы потом восстановить данные в виде, который имеет хоть какой-то смысл.
С уважением,
Михаил Каганский

лена89

Цитата: mikekaganski от 13 апреля 2020, 13:04
Статистика никогда не делается уничтожением исходных данных. К структурированным исходным данным применяются методы получения новых аггрегированных данных (НОВЫХ! Расположенных в новом месте). И если кому-то понадобится узнать максимальную температуру по отделению, никто никогда не будет проводить сортировку одновременно по температуре, по росту и по фамилии в исходном массиве данных.

Так , а почему нет? Почему не отсортировать одновременно температуру, вес, рост, давление, и тд и тп, если не привязывать их к отдельному человеку? Надо узнать пять самых низких и пять самых верхних показателей по всем столбцам (или строкам). Функции мин и макс тут не спасут, ибо они дадут только крайние варианты. Красиво бы было, если бы отсортировать столбцы одним разом  и сиди любуйся, какие самые высокие , какие самые низкие показатели. И не только крайние, а и вообще, сколько хочешь, столько и бери. Это сбор статистических данных.

mikekaganski

Цитата: лена89 от 13 апреля 2020, 13:10Функции мин и макс тут не спасут
Зато спасёт знание других имеющихся функций (в т.ч. статистических). Например, LARGE/SMALL.

Вообще статистика не делается для сидения и любования. А когда требуется получение какого-нибудь среза, делается определённое действие над исходными данными.

В принципе получение крайних пяти значений без дальнейшей обработки (скажем, нахождения корреляции) не имеет смысла, и поэтому не относится к статистике. Статистикой оно станет только если сохранена структура данных и возможен дальнейший анализ в связи с другими параметрами.

А попытка отсортировать сразу всё - это не "сбор статистических данных", а подготовка к той "статистике", которая завершает ряд "ложь, наглая ложь и ..." ;)
С уважением,
Михаил Каганский

лена89

Что значит ложь?) Кому это надо? Для того, чтобы лгать в статистике, даже с учетом всех корреляций- проще запретить компы и вернуться к амбарным книгам и костяным счетам. Там проверять в лом будет. а тут лги- не лги, а ПК и в частности либреофис (простите за манерное написание этого святого инструментария) - не даст соврать. Неоднократно в этом убеждалась. Вот просто приспичило сделать такую сортировку, очень надо. Но понятно уже , что надо изучать макросы. Спасибо.

bigor

Цитата: лена89 от 13 апреля 2020, 13:31Что значит ложь?
это он про фразу, которую приписывают Черчилю :)

Цитата: лена89 от 13 апреля 2020, 13:31Но понятно уже , что надо изучать макросы.
Можно и формулами, на соседнем листе типа =small(диапазон; row(a1)) и тянуть вниз, для строк =small(диапазон; column(a1)) и тянуть вправо. Получите нужные данные и исходные останутся нетронутыми
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут