Excel и Google Workspace / Базовые формулы Excel

CHOOSEROWS в Excel: выбрать строки массива по номерам

CHOOSEROWS извлекает отдельные строки массива по их позициям, сохраняя порядок аргументов и позволяя обращаться к строкам с конца.

Опубликовано: Обновлено:

Формула

$$\texttt{=CHOOSEROWS(array,row\_num1,[row\_num2],…)}$$
Схема Выбор строк 3 и 1
Выбор строк 3 и 1Выбор строк 3 и 1Позиция источникаПервое полеВторое полеТретье поле33132331111213=CHOOSEROWS(A2:C5,3,1)

Результат имеет две строки и три столбца.

Обозначения

$array$
исходный двумерный массив, строки и столбцы
$row_num1$
номер первой возвращаемой строки, целое число
$row_num2$
дополнительные номера строк, целые числа

Условия применения

array должен иметь хотя бы одну строку. row_num — целое число; допустимы положительные номера от 1 до высоты массива и отрицательные от -1 до минус высоты. Ноль и выход за высоту дают #VALUE!. Индексы считаются относительно переданного диапазона, поэтому добавление строк выше диапазона листа не меняет смысл формулы, а изменение самого array может изменить доступные позиции. Доступность проверена для Microsoft 365 и Excel 2024; формулы показаны в английской записи с запятыми.

Ограничения

CHOOSEROWS не выполняет фильтрацию по значениям, сортировку, агрегацию или удаление дублей. Повтор row_num создаёт повтор строки. Ошибки источника сохраняются в выбранных ячейках. Номер 0 и индекс за пределами высоты вызывают #VALUE!, а занятая область вывода — #SPILL!. Для отбора по условию используйте отдельный шаг подготовки массива.

Подробное объяснение

CHOOSEROWS возвращает из array только строки, перечисленные аргументами row_num. Порядок аргументов становится порядком строк результата, а все столбцы выбранных строк сохраняются. Для A2:C5=[[11,12,13],[21,22,23],[31,32,33],[41,42,43]] формула CHOOSEROWS(A2:C5,3,1) возвращает [[31,32,33],[11,12,13]]. Индексы 3 и 1 относятся к строкам внутри переданного диапазона, а не к абсолютным номерам строк листа. Отрицательная нумерация идёт от конца: -1 — последняя строка, -2 — предпоследняя. Поэтому CHOOSEROWS(A2:C5,-1,2) даёт [[41,42,43],[21,22,23]]. Такой приём удобен для журнала, где нужно поставить свежую запись перед контрольной строкой. Один индекс можно повторить. CHOOSEROWS(A2:C5,2,2) возвращает [[21,22,23],[21,22,23]]. Повтор сохраняет исходные значения и создаёт две одинаковые строки в разливе; это может быть частью шаблона, но обычно требует проверки намерения. Ноль недопустим, как и индекс, абсолютное значение которого превышает высоту array: Microsoft указывает #VALUE!. CHOOSEROWS не фильтрует строки по условию и не сортирует их. Если нужен отбор по значениям, сначала сформируйте подходящий массив отдельной функцией, затем примените позиционный выбор. Область разлива должна быть свободна.

Как пользоваться формулой

  1. Посчитайте строки внутри исходного диапазона, начиная с единицы, независимо от номеров строк листа.
  2. Составьте порядок вывода из положительных или отрицательных индексов; повторы задавайте намеренно.
  3. Введите =CHOOSEROWS в свободную область, оставив достаточно места для всех столбцов выбранных строк.
  4. Сверьте порядок записей и проверьте индексы при #VALUE!: ноль и выход за высоту массива недопустимы.

Историческая справка

CHOOSEROWS появилась в наборе динамических массивов Excel, где формула может вернуть разлившийся набор строк. До этого выбор и перестановку строк часто строили через INDEX, вспомогательные номера или ручное копирование диапазонов. Новая функция формализует именно позиционное извлечение: array задаёт границы, а список row_num задаёт последовательность результата. Отрицательные индексы делают обращение к хвосту диапазона явным, а повтор аргумента позволяет описывать шаблон без дублей исходных данных. Microsoft относит функцию к возможностям Microsoft 365 и Excel 2024; это осторожная атрибуция поддерживаемых продуктов и синтаксиса, а не заявление о происхождении всех прежних методов выборки.

Историческая линия формулы

Microsoft Support описывает CHOOSEROWS как функцию возврата заданных строк массива, показывает повтор и отрицательные номера в примерах и указывает #VALUE! для нуля или выхода за высоту. Сведения о Microsoft 365 и Excel 2024 взяты из официального справочника функций; объяснение относительности индексов и практические сценарии являются редакционным применением этого синтаксиса.

Пример

В A2:C5 записаны четыре строки: [11,12,13], [21,22,23], [31,32,33], [41,42,43]. Формула =CHOOSEROWS(A2:C5,3,1) возвращает [31,32,33] и [11,12,13]. Третья строка диапазона находится на строке 4 листа, а первая — на строке 2. Результат имеет две строки и три столбца: ширина каждой записи сохранена полностью. Для проверки сумма первой выбранной строки равна 96, второй — 36; сами значения функция только копирует в разлив. Если требуется выбрать записи с определённой суммой или датой, нужна предварительная фильтрация по условию. Здесь выбор зависит исключительно от позиции внутри переданного array.

Частая ошибка

Не путайте индекс внутри A2:C5 с номером строки листа: первая строка массива находится на строке 2 листа. Не считайте -1 последней непустой строкой всего листа: это последняя строка переданного массива. Не ждите фильтрации по значению. Не удаляйте повторяющийся индекс, если шаблон специально требует показать запись дважды.

Практика

Задачи с решением

Последняя и вторая

Условие. A2:C5 задан как [[11,12,13],[21,22,23],[31,32,33],[41,42,43]]. Используйте исходный массив из разобранного примера.

Решение. = CHOOSEROWS(A2:C5,-1,2). Перенесите указанные строки целиком, сохранив три значения внутри каждой.

Ответ. [[41,42,43],[21,22,23]].

Повтор второй строки

Условие. Нужно два раза вывести строку 2. Используйте исходный массив из разобранного примера.

Решение. =CHOOSEROWS(A2:C5,2,2). Индекс 2 записан дважды, поэтому строка [21,22,23] появляется в результате два раза.

Ответ. [[21,22,23],[21,22,23]].

Дополнительные источники

  • https://support.microsoft.com/en-us/excel/functions/chooserows-function
  • https://support.microsoft.com/en-us/excel/functions/choosecols-function

Связанные формулы

Excel и Google Workspace

TAKE в Excel: выбрать строки и столбцы массива

$\texttt{=TAKE(A1:C3,2,-2)}$

TAKE возвращает заданное число соседних строк или столбцов с начала или конца массива. Знак rows и columns задаёт сторону выбора, а исходная матрица и порядок её элементов сохраняются.

Excel и Google Workspace

DROP в Excel: исключить строки и столбцы массива

$\texttt{=DROP(A1:C3,1,1)}$

DROP удаляет заданное число соседних строк или столбцов с начала или конца массива и возвращает оставшуюся прямоугольную часть. Исходный диапазон при этом не изменяется.