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

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

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

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

Формула

$$\texttt{=TAKE(A1:C3,2,-2)}$$
Таблица массива TAKE: выбранный блок 2×2 из матрицы 3×3
TAKE выбирает блок 2 на 2A1:C3123456789→результат 2×22356

TAKE(A1:C3,2,-2) возвращает [2,3;5,6].

Обозначения

$array$
исходный массив или ссылка на диапазон, массив
$rows$
число строк от начала или конца, целое число
$columns$
число столбцов от начала или конца, целое число

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

TAKE возвращает соседний прямоугольный фрагмент, не меняя порядок значений. Положительное rows выбирает верхние строки, отрицательное — нижние; положительное columns выбирает левые, отрицательное — правые. Ноль в rows или columns означает пустой результат и недопустим для вычисления. Примеры используют английские имена функций и запятые; язык функции и разделитель аргументов зависят от локали Excel. Поддержка: Microsoft 365 и Excel 2024.

Ограничения

TAKE не сортирует и не фильтрует массив: критерии отбора в него не передаются. Формула не переставляет строки и не исправляет исходные данные. При rows или columns=0 Excel возвращает #CALC! для пустого массива; слишком большой массив может вызвать #NUM!. Если область разлива занята, появляется #SPILL!.

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

TAKE выбирает фрагмент по позиции, а не по значению. Для матрицы 3×3 rows=2 означает две верхние строки, а columns=-2 — два правых столбца. Поэтому результатом становятся [2,3] и [5,6], хотя исходный массив содержит ещё третью строку.

Знак параметра задаёт направление. rows=-2 возвращает последние две строки, сохраняя внутри них исходный порядок слева направо. columns=2 берёт первые два столбца. Эти операции независимы и могут применяться одновременно.

TAKE не ищет максимум, не сортирует числа и не удаляет строки по условию. Если нужна выборка по статусу или значению, сначала получают массив критерием другой функции, а TAKE может ограничить уже полученный результат по позиции.

Результат является динамическим массивом и разливается из верхней левой ячейки. Перед формулой нужно оставить свободными столько строк и столбцов, сколько фактически возвращается. Внутри разлива редактируется только первая ячейка с формулой.

Нулевое число выбираемых строк или столбцов означает пустой массив и приводит к #CALC!. Если область назначения занята, появляется #SPILL!. Это разные причины: в первом случае исправляют размер выборки, во втором освобождают место под готовый результат.

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

  1. Запишите исходный диапазон и определите, нужен фрагмент с начала или с конца.
  2. Задайте rows положительным числом для верхних строк или отрицательным для нижних.
  3. При необходимости задайте columns; положительное число берёт слева, отрицательное — справа.
  4. Проверьте, что rows и columns не равны нулю и область разлива свободна.
  5. Сверьте размер выбранного блока и значения каждой позиции с соответствующими ячейками исходной матрицы.
  6. Не используйте TAKE как замену сортировке или фильтрации; сначала примените операцию по условию, если она нужна.

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

TAKE входит в современную систему динамических массивов Excel и официально документирована Microsoft для Excel for Microsoft 365 и Excel 2024, включая Mac. Практическая задача функции возникла из необходимости выбирать край таблицы без ручного изменения диапазона и без цепочки INDEX, ROWS и COLUMNS. В современной записи направление выбора выражается знаком rows или columns, а оба измерения можно задать одновременно. Это продолжает развитие массивных формул, которые возвращают диапазоны переменного размера из одной верхней левой ячейки. Документация Microsoft отдельно описывает нулевой размер как пустой массив и предупреждает о слишком больших массивах, поэтому эти случаи нельзя заменять общим правилом. Источник не называет одного автора TAKE; корректно говорить о развитии табличной модели Excel и динамического разлива.

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

TAKE — современная функция Excel, описанная Microsoft для Microsoft 365 и Excel 2024. Официальная документация не приписывает её одному автору; она относится к развитию динамических массивов и позиционной выборки диапазонов.

Пример

В A1:C3 находятся строки [1,2,3], [4,5,6], [7,8,9]. Формула =TAKE(A1:C3,2,-2) берёт две верхние строки и два правых столбца. На пересечении остаются [2,3] и [5,6]. Проверка координат: из первой строки сохраняются C1 и B1 в исходном порядке слева направо как 2,3, а из второй — 5,6; третья строка исключена параметром rows=2. Формула не сортирует числа и не проверяет их величину, а только отрезает прямоугольный край массива. Контрольная сверка выполняется по координатам: результат содержит B1:C2, поэтому в нём ровно четыре числа и ни одного элемента из третьей строки или первого столбца. Это подтверждает позиционную выборку, а не сортировку значений.

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

Не путайте rows с номером строки: rows=2 возвращает две строки, а не строку 2. Отрицательное значение выбирает с конца, но порядок внутри выбранного блока не разворачивает. columns=-2 означает два правых столбца, а не удаление двух столбцов. Нулевой rows или columns создаёт пустой массив и #CALC!. Занятая область приводит к #SPILL!, а сама TAKE не фильтрует записи по условию.

Практика

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

Последние две строки

Условие. Для матрицы [1,2,3;4,5,6;7,8,9] примените TAKE с rows=-2 и сохраните все столбцы.

Решение. Отрицательное rows считает от нижнего края. Последние две строки — [4,5,6] и [7,8,9].

Ответ. [4,5,6;7,8,9]

Первая строка и два столбца

Условие. Для той же матрицы примените TAKE с rows=1 и columns=2.

Решение. Положительные параметры берут верхний и левый край: первая строка и первые два столбца.

Ответ. [1,2]

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

  • https://support.microsoft.com/en-us/excel/functions/take-function
  • https://support.microsoft.com/en-us/excel/dynamic-array-formulas-and-spilled-array-behavior

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

Excel и Google Workspace

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

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

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

Excel и Google Workspace

TOCOL в Excel: диапазон в один столбец

$\texttt{=TOCOL(A1:B2)}$

TOCOL превращает прямоугольный массив в один вертикальный столбец. По умолчанию значения читаются построчно, а scan_by_column=TRUE переключает обход по столбцам, сохраняя выбранный порядок позиций.

Excel и Google Workspace

TRANSPOSE / ТРАНСП: поменять строки и столбцы местами

$=TRANSPOSE(A2:C4)$

TRANSPOSE поворачивает диапазон: строки становятся столбцами, а столбцы строками. Формула удобна для подготовки отчетов, импорта и динамических массивов. Прием особенно удобен в повторяемых офисных отчетах.