Excel и Google Workspace / Базовые формулы Excel
TAKE в Excel: выбрать строки и столбцы массива
TAKE возвращает заданное число соседних строк или столбцов с начала или конца массива. Знак rows и columns задаёт сторону выбора, а исходная матрица и порядок её элементов сохраняются.
Формула
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!. Это разные причины: в первом случае исправляют размер выборки, во втором освобождают место под готовый результат.
Как пользоваться формулой
- Запишите исходный диапазон и определите, нужен фрагмент с начала или с конца.
- Задайте rows положительным числом для верхних строк или отрицательным для нижних.
- При необходимости задайте columns; положительное число берёт слева, отрицательное — справа.
- Проверьте, что rows и columns не равны нулю и область разлива свободна.
- Сверьте размер выбранного блока и значения каждой позиции с соответствующими ячейками исходной матрицы.
- Не используйте 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: исключить строки и столбцы массива
DROP удаляет заданное число соседних строк или столбцов с начала или конца массива и возвращает оставшуюся прямоугольную часть. Исходный диапазон при этом не изменяется.
Excel и Google Workspace
TOCOL в Excel: диапазон в один столбец
TOCOL превращает прямоугольный массив в один вертикальный столбец. По умолчанию значения читаются построчно, а scan_by_column=TRUE переключает обход по столбцам, сохраняя выбранный порядок позиций.
Excel и Google Workspace
TRANSPOSE / ТРАНСП: поменять строки и столбцы местами
TRANSPOSE поворачивает диапазон: строки становятся столбцами, а столбцы строками. Формула удобна для подготовки отчетов, импорта и динамических массивов. Прием особенно удобен в повторяемых офисных отчетах.