Гид по технологиям

ARRAYFORMULA в Google Таблицах

6 min read Google Таблицы Обновлено 26 Dec 2025
ARRAYFORMULA в Google Таблицах — руководство
ARRAYFORMULA в Google Таблицах — руководство

Кратко

Логотип Google Sheets на водянистом фоне

Что такое ARRAYFORMULA?

ARRAYFORMULA — это функция Google Таблиц, которая возвращает не одно значение, а диапазон (массив) значений. Она превращает обычные (не массивные) формулы в совместимые с массивами, позволяя одной формуле охватить сразу несколько столбцов или строк.

Краткое определение: ARRAYFORMULA оборачивает выражение или функцию и распространяет его на диапазон ячеек.

Почему это важно (одна строка): вместо копирования одной и той же формулы в сотни ячеек вы пишете её один раз для всего диапазона.

Термин в одну строку: “массив” — последовательность ячеек в строках и/или столбцах, возвращаемая функцией.

Когда использовать ARRAYFORMULA — быстрые случаи

  • Соединение столбцов (например, имя + фамилия).
  • Массовая проверка условий (IF / IFS) для списка записей.
  • Преобразование столбца чисел (например, умножение на коэффициент) сразу для всего столбца.
  • Когда хочется уменьшить количество формул и ускорить расчёты.

Преимущества ARRAYFORMULA

  • Меньше формул = быстрее расчёты в больших таблицах.
  • Авторасширение: при добавлении строк формула может автоматически распространяться.
  • Централизованное обслуживание — менять надо только одну формулу.

Важно: ARRAYFORMULA удобна, но не всегда должна полностью заменять отдельные формулы — иногда явное заполнение упрощает отладку.

Синтаксис

=ARRAYFORMULA(formula)

Где аргумент formula — выражение, диапазон или функция, возвращающая больше одного значения.

Аргумент может быть:

  • Диапазоном ячеек (например, A2:A100).
  • Математическим выражением с одним или несколькими диапазонами одинакового размера (A2:A & B2:B).
  • Функцией, которая возвращает массив (например, QUERY, MMULT и др.).

Подсказка: чтобы быстро обернуть уже существующую формулу в ARRAYFORMULA, поставьте курсор в строку формул и используйте Ctrl+Shift+Enter — Google автоматически добавит ARRAYFORMULA(. (Примечание: поведение может отличаться в зависимости от платформы и локали.)

Примеры использования

1. Простое соединение имени и фамилии

Обычная формула для одной строки:

=A2 & " " & B2

Чтобы применить это ко всему столбцу — используем массивы:

=ARRAYFORMULA(A2:A & " " & B2:B)

Пошагово:

  1. Выберите ячейку, где должна появиться первая объединённая запись.
  2. Введите =ARRAYFORMULA(.
  3. Вставьте выражение A2:A & “ “ & B2:B.
  4. Закройте скобку ).
  5. Нажмите Enter — формула заполнит результаты вниз до конца диапазонов.

Пример простой ARRAYFORMULA

Совет: если одна из колонок имеет заголовок в первой строке, начните диапазон с той строки, где начинаются данные (A2:A). Если хотите, чтобы формула автоматически включала новые добавляемые строки, используйте скорее всю колонку (A2:A), а не A2:A100, но внимательно относитесь к пустым строкам.

2. ARRAYFORMULA с IF — метки состояния запасов

Пример: есть список товаров и количество на складе в столбце B. Хотим пометить «order», если запас меньше 25, иначе «no».

Одиночная формула для одной строки:

=IF(B2<25, "order", "no")

Массовая версия:

=ARRAYFORMULA(IF(B2:B<25, "order", "no"))

Инструкция:

  1. Выберите ячейку для результата.
  2. Вставьте =ARRAYFORMULA( перед существующим IF или напишите формулу целиком.
  3. Убедитесь, что ссылки на диапазоны имеют одинаковую длину/начало.
  4. Закройте скобку и нажмите Enter.

ARRAYFORMULA с функцией IF

Примечание: ARRAYFORMULA корректно работает с такими функциями как SUMIF, VLOOKUP, если они возвращают массив значений.

3. Комбинация с VLOOKUP/INDEX — массовый поиск

Если у вас прайс-лист и отдельный столбец с кодами, можно вернуть все наименования сразу:

=ARRAYFORMULA(IF(A2:A="", "", VLOOKUP(A2:A, Products!A:B, 2, FALSE)))

Здесь внешняя IF служит для того, чтобы пустые строки не превращались в ошибки.

4. Преобразование и нормализация данных

Например, умножить цены в столбце C на курс и отформатировать:

=ARRAYFORMULA(IF(C2:C="","", ROUND(C2:C * 0.85, 2)))

Так вы массово применяете пересчёт и округление.

Частые ошибки и как их исправить

  • Несоответствие размеров диапазонов: все диапазоны в формуле должны иметь одинаковую «форму» по числу строк.
  • Ошибки из-за пустых строк: добавляйте внешнюю проверку IF(A2:A=””,””, …).
  • Конфликт с существующими ячейками: ARRAYFORMULA заполняет диапазон — если в нём есть данные, формула вернёт ошибку #REF!.
  • Использование неподдерживаемых функций внутри ARRAYFORMULA: не все функции возвращают массивы корректно в сочетании с ARRAYFORMULA.

Критерии приёмки

  • Формула не возвращает #REF! из-за занятых ячеек.
  • Диапазоны одинаковой длины и не содержат неожиданных пустых строк.
  • При добавлении строки результат автоматически обновляется (если этого ожидают).

Когда ARRAYFORMULA не подходит (контрпример)

  • Когда требуется уникальная формула для каждой строки с индивидуальной логикой.
  • При сложной пост-обработке результатов, когда нужно записывать промежуточные значения вручную.
  • В сочетании с некоторыми надстройками, где массивы обрабатываются некорректно.

Альтернатива: использовать автозаполнение (Автозаполнение Google Таблиц) или Apps Script, если нужно сложное поведение при добавлении строк.

Ментальная модель (heuristic)

Думайте об ARRAYFORMULA как о “векторизации” операций: вместо петли по каждой строке вы применяете операцию к вектору целиком. Это то же, что преобразование столбца целиком в языке программирования с поддержкой массивов.

Быстрая шпаргалка (cheat sheet)

  • Соединить: =ARRAYFORMULA(A2:A & “ “ & B2:B)
  • IF по столбцу: =ARRAYFORMULA(IF(B2:B<25, “order”, “no”))
  • Округление: =ARRAYFORMULA(ROUND(C2:C * 1.2, 2))
  • VLOOKUP по массиву: =ARRAYFORMULA(IF(A2:A=””,””, VLOOKUP(A2:A, Products!A:B, 2, FALSE)))
  • Защитить от пустых: IF(A2:A=””, “”, …)

Пошаговая методика для внедрения ARRAYFORMULA в существующую таблицу

  1. Определите повторяющиеся формулы в столбцах.
  2. Проверьте, что все диапазоны имеют одинаковый исходный ряд (например, начинаются с A2).
  3. Создайте резервную копию листа (копирование листа).
  4. Постройте ARRAYFORMULA в отдельной колонке и протестируйте на части данных.
  5. Разрешите конфликт с данными: удалите или переместите исходные заполненные ячейки.
  6. При успешном тесте замените старые формулы на одну массивную.
  7. Добавьте обработку пустых строк и ошибок.

Риски и меры предосторожности

  • Риск: случайная потеря данных при замещении диапазона. Мера: всегда делайте копию листа.
  • Риск: ухудшение читабельности формулы. Мера: добавляйте комментарии/описание столбца.

Ролевые чек-листы

Для аналитика данных:

  • Найти колонки с одинаковой логикой формул.
  • Убедиться в стабильности диапазонов.
  • Написать ARRAYFORMULA и протестировать на образце.

Для маркетолога/менеджера:

  • Проверить, что визуализация (диаграммы/отчёты) не ломается после замены формул.
  • Убедиться, что новые строки корректно обрабатываются.

Для разработчика (Apps Script):

  • Рассмотреть вариант автоматического заполнения скриптом, если логика требует действий при создании строки.

Отладка: что делать при ошибках

  • #REF!: проверьте, не заняты ли ячейки, которые формула пытается заполнить.
  • #N/A или #VALUE!: проверьте входные данные и используемые функции (VLOOKUP, DATE и др.).
  • Непредвиденные пустые строки: добавьте IF(A2:A=””,””, …).

Примеры тестовых случаев (acceptance)

  1. Добавить новую строку с данными — массивная формула автоматически применяет вычисление.
  2. Вставить пустую строку в середину диапазона — формула корректно игнорирует или обрабатывает пустые значения.
  3. Попытаться вставить значение в область, которую должна заполнять ARRAYFORMULA — должна появиться ошибка #REF!.

Решение: использовать или не использовать ARRAYFORMULA — простое дерево принятия решения

flowchart TD
  A[Нужно ли массово применять одну и ту же логику к столбцу?] -->|Да| B{Диапазоны одинаковы и предсказуемы?}
  A -->|Нет| E[Не использовать ARRAYFORMULA]
  B -->|Да| C[Использовать ARRAYFORMULA]
  B -->|Нет| D[Рассмотреть Apps Script или оставлять индивидуальные формулы]

Совместимость и миграция

  • Google Таблицы: полностью поддерживается.
  • Excel: в классическом Excel ARRAYFORMULA как функция не существует, но современные Excel с динамическими массивами (Office 365) имеют подобную семантику через формулы, возвращающие массивы; придется адаптировать синтаксис.

Краткое резюме

ARRAYFORMULA — мощный инструмент для оптимизации и упрощения таблиц. Он экономит время, снижает нагрузку на расчёты и делает таблицу более управляемой. Однако важно следить за размером диапазонов, обработкой пустых значений и конфликтами с существующими ячейками.

Ключевые действия на практике:

  • Начните с тестовой колонки и резервной копии.
  • Используйте IF(…””…) для пустых строк.
  • Проверяйте совместимость диапазонов.

Спасибо за внимание — практикуйте на реальных данных, и ARRAYFORMULA станет вашим постоянным инструментом при работе с Google Таблицами.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Выровнять ресиновый 3D‑принтер — пошагово
3D-печать

Выровнять ресиновый 3D‑принтер — пошагово

ChatGPT как редактор и коуч для вашего контента
Контент

ChatGPT как редактор и коуч для вашего контента

Как делать отличные фото на смартфон
Фотография

Как делать отличные фото на смартфон

Как сделать Stitch в TikTok — пошагово
соцсети

Как сделать Stitch в TikTok — пошагово

Резервные копии iPhone/iPad на Mac — инструкция
Mac

Резервные копии iPhone/iPad на Mac — инструкция

Новый фишинг PayPal: как он работает и как защититься
Кибербезопасность

Новый фишинг PayPal: как он работает и как защититься