SEQUENCE в Google Sheets: руководство и примеры
TL;DR
SEQUENCE автоматически заполняет диапазон чисел в Google Sheets по вашим параметрам: количество строк, столбцов, стартовое число и шаг. Подойдёт для нумерации, матриц, дат и вложения в другие формулы. Ниже — синтаксис, практические примеры, шаблоны, чек‑листы и способ проверить корректность.
Что такое SEQUENCE в Google Sheets?
SEQUENCE — это функция, которая генерирует массив чисел и заполняет им ячейки в Google Sheets согласно указанным параметрам. Она возвращает диапазон значений, начиная со стартового числа и увеличивая (или уменьшая) его на шаг между элементами.
Короткое определение: функция для автоматической генерации последовательностей чисел или дат.
Важно: функция создаёт динамический массив. Это значит, что при изменении входных параметров весь результирующий диапазон обновится автоматически.
Синтаксис
=SEQUENCE(rows, columns, start, step)Аргументы:
- rows — обязательный: число строк в возвращаемом массиве.
- columns — необязательный: число столбцов (по умолчанию 1).
- start — необязательный: стартовое значение (по умолчанию 1).
- step — необязательный: разница между соседними значениями (по умолчанию 1).
Факто‑бокс
- Количество аргументов: 1 обязательный + до 3 необязательных.
- Значение start и step могут быть отрицательными или нулём.
- SEQUENCE возвращает массив; он займёт столько ячеек, сколько указано в rows × columns.
Простые примеры и пошаговые инструкции
Одностолбцовая последовательность
Генерирует вертикальный список чисел.
Шаги:
- Выберите ячейку (например, A1).
- Введите формулу:
=SEQUENCE(10)— создаст 10 строк, начиная с 1 и шагом 1. - Нажмите Enter.
Примеры формул:
=SEQUENCE(5)→ [1;2;3;4;5] (колонка из 5 строк).=SEQUENCE(100,1,1000,10)→ начнёт с 1000 и добавит 10, 100 строк.
Однострочная последовательность
Генерирует горизонтальный ряд чисел.
Шаги:
- Выберите ячейку (например, A1).
- Введите:
=SEQUENCE(1,10)— 1 строка, 10 столбцов. - Нажмите Enter.
Примеры:
=SEQUENCE(1,8,0,2)→ [0,2,4,6,8,10,12,14]
Двумерный массив (матрица)
SEQUENCE создаёт матрицы: задайте rows и columns.
Пример: создать матрицу 4×5, начиная с 10 с шагом 10:
=SEQUENCE(4,5,10,10)Результат — 4 строки по 5 столбцов: 10,20,30,…,200 (в порядке заполнения по строкам).
Совет: чтобы получить последовательность, заполненную по столбцам, используйте комбинацию с TRANSPOSE:
=TRANSPOSE(SEQUENCE(5,4,10,10))Массив дат
SEQUENCE удобно превращать в даты, если использовать дату как старт и шаг в днях.
Пример: один столбец с 12 последовательными днями, начиная с 1 января 2022:
=SEQUENCE(12,1,DATE(2022,1,1),1)Если вы видите числовые значения вместо дат, примените формат “Дата”: Формат → Число → Дата.
Альтернатива: использовать TO_DATE() если хотите явно преобразовать числа в дату:
=ARRAYFORMULA(TO_DATE(SEQUENCE(12,1,DATE(2022,1,1),1)))Полезные приёмы и шаблоны
Шаблон: нумерация строк после заголовка
=SEQUENCE(COUNTA(B2:B)-1)Этот шаблон создаёт номера для непустых строк в столбце B, предполагая, что первая строка — заголовок.
Отрицательная и убывающая последовательность
=SEQUENCE(5,1,10,-2) // 10,8,6,4,2Сдвиг старта в зависимости от другой ячейки
=SEQUENCE(10,1,$D$1,1) // старт берётся из D1Генерация повторяющихся наборов чисел (пример: группы по 3)
=ARRAYFORMULA(INT((SEQUENCE(12,1,0,1))/3)+1)Использование вместе с FILTER / INDEX
=INDEX(SEQUENCE(10,1,5), FILTER(ROW(SEQUENCE(10,1,5)), SEQUENCE(10,1,5)>7))Но проще: FILTER(SEQUENCE(10,1,5),SEQUENCE(10,1,5)>7)
Когда SEQUENCE не подойдёт или вызовет ошибку
- Диапазон перекрывает существующие нестатические данные. Если результирующий массив попадает на ячейки с фиксированным содержимым, появится ошибка #REF.
- Слияние ячеек (merged cells) в области вывода часто блокирует заполнение массива.
- Для очень сложных регулярных паттернов (например, переменный шаг в середине) проще использовать скрипт Apps Script.
Примеры ошибок и причины:
- #REF! — место вывода занято.
- Неправильный формат даты — вывод чисел вместо дат: нужно применить формат даты.
Альтернативные подходы
- ROW/ROW(A1:A10) и COLUMN для простого нумерования в пределах уже определённого диапазона.
- SEQUENCE + ARRAYFORMULA для гибких трансформаций.
- Apps Script для очень нестандартных последовательностей или если нужно записать результат как фиксированные значения (вместо динамического массива).
Ментальные модели и эвристики
- Модель «размер → форма → значения»: сначала решите, сколько элементов (rows), затем как их располагать (columns), затем что в них должно быть (start, step).
- Если нужно заполнить таблицу по столбцам, думайте в терминах TRANSPOSE.
- Для дат думайте в шагах «в днях»: шаг 1 = плюс 1 день, шаг 7 = плюс 1 неделю.
Чек‑лист ролей
Аналитик:
- Убедитесь, что область вывода пуста.
- Подумайте об обработке заголовков.
- Проверьте форматы дат.
Разработчик / автоматизатор:
- Оберните SEQUENCE в ARRAYFORMULA при сложных трансформациях.
- Проверьте граничные условия (ноль, отрицательные шаги).
Сотрудник ввода данных:
- Не вводите вручную числа в диапазоны, занимаемые SEQUENCE.
- Если нужно зафиксировать значения, скопируйте → Вставить значения.
Тренер / документатор:
- Добавьте комментарий в ячейку с формулой, объясняющий назначение.
Мини‑методология: как выбрать параметры
- Определите, сколько значений вам нужно → rows × columns.
- Выберите направление: по строкам (по умолчанию) или по столбцам (TRANSPOSE).
- Установите стартовое значение (start).
- Задайте шаг (step).
- Протестируйте на маленьком диапазоне и проверьте формат вывода.
SOP: быстрая последовательность действий для создания нумерации
- Очистите целевую область.
- Вставьте
=SEQUENCE(rows,columns,start,step)в первую ячейку. - Примените формат (Число или Дата).
- Если надо, закрепите заголовки или добавьте абсолютные ссылки.
- При необходимости преобразуйте результат в значения: Правка → Вставить специальные → Только значения.
Тесты и критерии приёмки
Критерии приёмки
- Формула возвращает ожидаемое число строк и столбцов.
- Стартовое и конечное значения совпадают с расчётом: конечное = start + (rowscolumns - 1) step при заполнении по строкам.
- В случае дат все ячейки имеют формат “Дата”.
- Нет конфликтов с существующими данными (#REF отсутствует).
Тестовые случаи
- Простая:
=SEQUENCE(3)→ [1;2;3]. - Горизонтальная:
=SEQUENCE(1,4,5,5)→ [5,10,15,20]. - Дата:
=SEQUENCE(7,1,DATE(2023,12,25),1)→ семь последовательных дат. - Негативный шаг:
=SEQUENCE(4,1,0,-1)→ [0;-1;-2;-3]. - Пересечение: разместите формулу так, чтобы она должна была перезаписать ячейку с текстом — ожидается #REF.
Шаблоны и примеры формул (чек‑шит)
| Задача | Формула | Описание |
|---|
| Нумерация записей (без заголовка) | =SEQUENCE(COUNTA(B2:B)) | Нумерует непустые строки в столбце B. | Нумерация с заголовком | =SEQUENCE(COUNTA(B2:B)-1) | Пропускает строку заголовка. | Серии по 10 | =ARRAYFORMULA(CEILING(SEQUENCE(30)/10)) | Присваивает номер группы по 10 элементов. | Даты по неделям | =SEQUENCE(12,1,DATE(2024,1,1),7) | 12 недель, шаг 7 дней. | Обратный список | =SEQUENCE(5,1,5,-1) | 5,4,3,2,1 |
Решение задач: пример «развернуть список»
Если у вас есть список значений в столбце A, и вы хотите пронумеровать их в обратном порядке:
=SEQUENCE(COUNTA(A:A),1,COUNTA(A:A),-1)Это создаст номера от общего количества вниз к 1.
Decision tree (упрощённый)
flowchart TD
A[Нужно числовая последовательность?] --> B{Сложность шаблона}
B -- Простая --> C[Использовать SEQUENCE]
B -- Периодическая, но сложная --> D[SEQUENCE + ARRAYFORMULA]
B -- Нестандартная логика --> E[Apps Script]
C --> F[Проверить область вывода]
F --> G[Применить формат]
E --> H[Написать/запустить скрипт]Безопасность и приватность
SEQUENCE работает локально в таблице. Если вы используете внешние данные (например, ссылки на другие таблицы), проверьте права доступа к этим данным.
Советы по производительности
- Большие массивы (тысячи строк × столбцов) могут замедлять лист. Тестируйте на частичных выборках.
- Если результат должен быть статичным, скопируйте и вставьте как значения.
Частые ошибки и как их исправить
- Проблема: формула даёт #REF!. Решение: освободите область вывода или переместите формулу.
- Проблема: даты отображаются как числа. Решение: Формат → Число → Дата или обернуть в TO_DATE.
- Проблема: нужно заполнить по столбцам, а заполнение идёт по строкам. Решение: применять TRANSPOSE.
Краткое резюме
SEQUENCE — простой и мощный инструмент для создания числовых и датовых массивов в Google Sheets. Он экономит время при нумерации, создании матриц и шаблонов. Используйте его вместе с ARRAYFORMULA, TRANSPOSE, FILTER и DATE для гибких решений. Тестируйте на небольших диапазонах и следите за конфликтами вывода.
Важно: всегда проверяйте, что область вывода пуста, и применяйте нужный формат (число/дата) после ввода формулы.
Часто задаваемые вопросы
Как сделать последовательность, которая идёт по столбцам, а не по строкам?
Используйте TRANSPOSE вокруг SEQUENCE: =TRANSPOSE(SEQUENCE(5,4)).
Можно ли использовать SEQUENCE в сочетании с FILTER?
Да. Пример: =FILTER(SEQUENCE(10), SEQUENCE(10)>5) вернёт числа больше 5.
Как получить уникальные группы по N элементов?
Пример для групп по 3: =ARRAYFORMULA(INT((SEQUENCE(12,1,0,1))/3)+1).
Краткий список действий для быстрого старта:
- Выберите ячейку.
- Введите
=SEQUENCE(rows,columns,start,step). - Отформатируйте вывод.
- При необходимости преобразуйте в значения.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone