Сортировка по столбцу с помощью формулы

Автор лена89, 11 августа 2021, 13:33

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

лена89

Добрый день!

Понимаю, что это такой пустяк, но я на нем споткнулась. Знаю функцию SMALL , которая сортирует строку по возрастанию. А аналогичная  SMALL , но только для столбца есть функция?
Задача такая. Есть столбец, который нельзя изменять вообще. Поэтому сортировать с помощью фильтров сортировки его нельзя. Надо рядом с этим столбцом поставить такой же, но отсортированный по возрастанию. Это возможно вообще?
Заранее благодарю за ответ.

mikekaganski

Цитата: лена89 от 11 августа 2021, 13:33Знаю функцию SMALL , которая сортирует строку по возрастанию. А аналогичная  SMALL , но только для столбца есть функция?

Функции SMALL совершенно неважно, как расположены данные в диапазоне, который Вы в неё передаёте. Передадите строку - даст заданную наименьшую величину в строке; передадите столбец - обработает его точно так же; передадите прямоугольный диапазон - и в нём будет искать.
С уважением,
Михаил Каганский

rami

Используйте окно сортировки: меню "Данные" —> "Сортировка". Нужно указать в какую ячейку вставлять результат.

лена89

#3
Цитата: mikekaganski от 11 августа 2021, 13:49Функции SMALL совершенно неважно, как расположены данные в диапазоне,

Странно, а у меня не получается её к столбцу применить. У меня тогда получается весь столбец из наименьшего числа. SMALL  если копировать по столбцу , тянуть вниз, она не работает. А если тянуть её в строчку - работает. То есть надо как-то её транспонировать. Но вот как не знаю. И не вручную, а чтобы сама транспонировалась.

лена89

Цитата: rami от 11 августа 2021, 14:01
Используйте окно сортировки: меню "Данные" —> "Сортировка". Нужно указать в какую ячейку вставлять результат.

У меня много -много столбцов, и лучше функцию.


лена89


mikekaganski

Цитата: лена89 от 11 августа 2021, 14:04
SMALL  если копировать по столбцу , тянуть вниз, она не работает. А если тянуть её в строчку - работает. То есть надо как-то её транспонировать. Но вот как не знаю.

И я не знаю. И знаете почему? Потому что я не имею представления, какую формулу Вы тянете. Догадываюсь только, что где-то в ней есть SMALL, но в каком месте и в какой компании - неизвестно.

rami по доброте душевной :) дал Вам вариант решения, но вообще-то обратите внимание, что вопрос нужно формулировать так, чтобы на него можно было ответить! ;)
С уважением,
Михаил Каганский

sokol92

Интересный порядок дней на иврите в #2.  ;D
Владимир.

rami

Это никак не связано, списки сортировки есть только на русском, язык документа тоже русский. Окном сортировки никогда не пользовался и не настраивал параметры.

лена89

Цитата: mikekaganski от 11 августа 2021, 14:31И я не знаю. И знаете почему? Потому что я не имею представления, какую формулу Вы тянете. Догадываюсь только, что где-то в ней есть SMALL, но в каком месте и в какой компании - неизвестно.

rami по доброте душевной  дал Вам вариант решения, но вообще-то обратите внимание, что вопрос нужно формулировать так, чтобы на него можно было ответить!

Да, rami мне очень помог. Спасибо ему огромное. И я подумала, что раз мне ответили, значит я всё доходчиво объяснила)))) Тянула внизу я вот таку формулу: =SMALL($BS2:$BS254; COLUMN(A1)) И если так её вниз тянуть, то получается столбик, который состоит из наименьшего числа столбца BS. А если тянуть эту формулу вправо, то всё нормально сортируется. Но мне то надо столбик, а не строчку. И вот rami каким-то чудом меня понял же) Спасибо ещё раз!)))

mikekaganski

Цитата: лена89 от 11 августа 2021, 16:16=SMALL($BS2:$BS254; COLUMN(A1))

Вот видите! В Вашем первоначальном вопросе Вы исходили из того, что "SMALL ... сортирует строку". А в формуле как раз всё, кроме SMALL, было заточено на обработку строк: конкретно $BS2:$BS254 использует $ только перед обозначением столбца, но не перед обозначением строки, чтобы при растягивании формулы по горизонтали (т.е. при копировании её в столбец рядом) не происходило изменения адреса (то есть формула продолжала бы выбирать данные из того же диапазона), а при копировании формулы в другую строку диапазон бы менялся на другую строку относительно нового места; а COLUMN(A1) использовало только столбец из относительного адреса A1 для того, чтобы определить, какой по порядку наименьший член диапазона нужен. То есть при копировании такой формулы вниз, во-первых, всё время меняется диапазон, из которого берутся числа, а во-вторых, не меняется номер столбца, передаваемый в качестве порядкового номера возвращаемого ответа...

=SMALL(BS$2:BS$254; ROW(A1))
С уважением,
Михаил Каганский

лена89

Цитата: mikekaganski от 11 августа 2021, 16:37=SMALL(BS$2:BS$254; ROW(A1))

Да, спасибо за разъяснение. Поняла, где была моя ошибка. Ну, я изначально понимала, что я делаю что-то не так) Но вот где конкретно. не понимала) . Спасибо, ваша формула тоже подошла, спасибо огромное)