Сортировка по другому столбцу с помощью SORTBY
Упорядочивайте один массив по значениям другого массива.
«Сортировка по другому столбцу с помощью SORTBY» — бесплатный урок Excel Formulas Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Excel Formulas Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Excel Formulas Academy содержит 4 уроков всего.
Зачем нужна SORTBY
SORT упорядочивает данные по столбцу, который находится внутри массива. Но что делать, если нужно упорядочить один список по значениям отдельного массива, не входящего в результат?
Именно это делает SORTBY. Она сортирует один диапазон по порядку значений совершенно других диапазонов, позволяя гибко сортировать данные по нескольким ключам, не добавляя столбцы сортировки в результат.
=SORTBY(A2:A10, B2:B10)Синтаксис SORTBY
Шаблон SORTBY выглядит так:
- массив — данные, которые нужно вернуть в отсортированном порядке;
- массив_по1 — значения, определяющие порядок;
- порядок_сортировки1 — 1 для сортировки по возрастанию, -1 для сортировки по убыванию (необязательно).
Можно добавлять дополнительные пары массив_по / порядок, чтобы сортировать по нескольким ключам. Каждый массив_по должен иметь ту же высоту или ширину, что и сортируемый массив.
=SORTBY(array, by_array1, [order1], [by_array2], [order2], ...)Сортировка имён по скрытой оценке
Предположим, в A2:A10 находятся имена игроков, а в B2:B10 — их оценки. Вы хотите получить список имён, упорядоченный по оценкам от большей к меньшей, но отображать нужно только имена.
SORTBY возвращает только имена, упорядоченные по массиву оценок. Сами оценки в результат не попадут.
=SORTBY(A2:A10, B2:B10, -1)SORT и SORTBY: сравнение
Главное различие: в SORT столбец, по которому выполняется сортировка, входит в результат. В SORTBY ключ сортировки находится в отдельном массиве и не возвращается.
- Используйте SORT, если столбец порядка должен отображаться в результате.
- Используйте SORTBY, если нужен чистый результат, упорядоченный по скрытому значению.
=SORTBY(A2:A10, C2:C10, 1)Сортировка всей таблицы по внешнему столбцу
Возвращаемый массив может содержать несколько столбцов. Предположим, в A2:B10 находятся имя и адрес электронной почты, а в C2:C10 — число приоритета.
SORTBY возвращает таблицу с именами и адресами электронной почты, упорядоченную по приоритету, хотя сам приоритет в результате не отображается.
=SORTBY(A2:B10, C2:C10, 1)Сортировка по нескольким ключам
Добавляйте дополнительные пары массив_по / порядок, чтобы разрешать совпадения. SORTBY применяет их по очереди: сначала сортирует первый ключ, затем второй разрешает совпадения и так далее.
Здесь таблица сортируется по региону по возрастанию, а внутри каждого региона — по продажам по убыванию.
=SORTBY(A2:C20, B2:B20, 1, C2:C20, -1)Сортировка по вычисляемому массиву
Массив_по не обязан быть сохранённым столбцом. Сортировку можно выполнять по вычислению, которое создаётся непосредственно в формуле.
Представьте, что в A2:A10 находятся названия товаров, в B2:B10 — цены, а в C2:C10 — себестоимость. Чтобы упорядочить товары по марже, не сохраняя её где-либо, вычислите её внутри SORTBY.
=SORTBY(A2:A10, B2:B10-C2:C10, -1)Одинаковый размер массивов
Каждый массив_по должен соответствовать длине сортируемого массива. Если в массиве 9 строк, в каждом массиве_по также должно быть 9 строк.
Несоответствие приводит к ошибке #VALUE!. Проверьте, что начальные и конечные строки всех диапазонов совпадают.
=SORTBY(A2:A10, B2:B10, -1)SORTBY в Google Таблицах
Google Таблицы поддерживают SORTBY с тем же синтаксисом, поэтому формулы можно переносить. Поведение, включая несколько ключей сортировки и вычисляемые массивы_по, совпадает с Excel.
Как и SORT, SORTBY разливает результаты, поэтому убедитесь, что под формулой достаточно свободного места.
=SORTBY(A2:C20, B2:B20, 1, C2:C20, -1)Объединение SORTBY с FILTER
Как и SORT, SORTBY хорошо работает вместе с FILTER. Сначала отфильтруйте нужные строки, затем SORTBY упорядочит оставшиеся.
Важно: при фильтрации массива необходимо таким же образом отфильтровать и массив_по, чтобы они оставались согласованными. Здесь мы сортируем всю таблицу по отфильтрованному вспомогательному массиву только в том случае, если оба массива содержат одни и те же строки, поэтому часто проще сначала применить SORTBY, а затем отфильтровать её результат.
=FILTER(SORTBY(A2:C20, C2:C20, -1), SORTBY(B2:B20, C2:C20, -1)="East")Практическая таблица лидеров
Объединим всё изученное: создадим обновляемую таблицу лидеров, в которой имена игроков упорядочены по оценкам, а при совпадении оценок — по наименьшему числу попыток.
Если имена находятся в A2:A20, оценки — в B2:B20, а попытки — в C2:C20, SORTBY ранжирует игроков сначала по оценкам (от большей к меньшей), а затем по числу попыток (от меньшего к большему). Измените любое значение — и порядок обновится.
=SORTBY(A2:A20, B2:B20, -1, C2:C20, 1)Быстрая проверка
Имена находятся в A2:A10, а их оценки — в B2:B10. Вы хотите вернуть только имена, расположив их от самой высокой оценки к самой низкой. Какая формула подойдёт?
Итоги: сортировка с помощью SORTBY
SORTBY упорядочивает один массив по значениям отдельных массивов, которые не отображаются в результате:
=SORTBY(array, by_array1, order1, ...)- Добавляйте пары массив_по / порядок для сортировки по нескольким ключам.
- Массивы_по могут быть сохранёнными столбцами или вычислениями, выполняемыми в реальном времени.
- Каждый массив_по должен соответствовать длине исходного массива.
Эта функция идеально подходит для получения чистых результатов, упорядоченных по скрытому значению, например для таблицы лидеров.
=SORTBY(A2:A20, B2:B20, -1, C2:C20, 1)Часто задаваемые вопросы
Урок «Сортировка по другому столбцу с помощью SORTBY» бесплатный?
Да — полный текст урока «Сортировка по другому столбцу с помощью SORTBY» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Excel Formulas Academy, подпишись на CoddyKit PRO. Курс Excel Formulas Academy содержит 4 уроков всего.
Чему я научусь в уроке «Сортировка по другому столбцу с помощью SORTBY»?
Упорядочивайте один массив по значениям другого массива. Ты практикуешь Excel Formulas Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Excel Formulas Academy?
Предыдущий опыт не требуется. Excel Formulas Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Сортировка по другому столбцу с помощью SORTBY»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Excel Formulas Academy?
Да. Каждый урок Excel Formulas Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Сортировка результатов с помощью SORT
- Сортировка по другому столбцу с помощью SORTBY
- Генерация чисел с помощью SEQUENCE
- Создание случайных данных с помощью RANDARRAY