RANDARRAY в Excel: как генерировать случайные числа и случайно сортировать данные
RANDARRAY — динамическая функция Excel для генерации массива случайных чисел. Она полезна для случайной раздачи людей по группам, тестовых данных и перемешивания списков. В статье показаны синтаксис, примеры (десятичные и целые числа), совместное использование с SORTBY для случайной сортировки и практические советы по локали, совместимости и отладке.

Функция RANDARRAY в Excel возвращает массив случайных значений по заданному числу строк, столбцов и диапазону значений. Это динамическая функция: результат «выплескивается» (spill) в соседние ячейки автоматически, заполняя нужный диапазон.
Кратко: используйте RANDARRAY, когда нужно быстро получить набор случайных чисел или перемешать элементы списка (в связке с SORTBY), а затем — применить фильтры/условия к этим данным.
Синтаксис и параметры
Синтаксис функции:
=RANDARRAY([rows],[columns],[min],[max],[integer])Параметры:
- rows — число строк в массиве (необязательное). По умолчанию 1.
- columns — число столбцов в массиве (необязательное). По умолчанию 1.
- min — минимальное значение (необязательное). По умолчанию 0.
- max — максимальное значение (необязательное). По умолчанию 1.
- integer — TRUE или FALSE (необязательное). TRUE — целые числа, FALSE — десятичные (по умолчанию FALSE). Если вы хотите целые числа, укажите этот аргумент.
Важно: все аргументы опциональны — функция вернёт результат даже при указании одного параметра (например, только rows).
Примечание по локали: в русской версии Excel аргументы в формулах часто разделяются точкой с запятой “;” вместо запятой “,”. В примерах ниже показаны оба варианта.
Пример 1 — массив заданной формы (строки × столбцы)
Задача: получить случайные десятичные числа в диапазоне 5 строк и 4 столбца.
Шаги:
- Выберите целевую ячейку (например, B3).
- Введите формулу и нажмите Enter.
Англоязычная нотация:
=RANDARRAY(5,4)Русская/локальная нотация:
=RANDARRAY(5;4)Результат: Excel выведет 5×4 случайных десятичных чисел, автоматически заполнив соседние ячейки.
Пример 2 — указание минимума и максимума
Задача: получить случайные десятичные числа от 20 до 100 в массиве 5×4.
Формула (английская нотация):
=RANDARRAY(5,4,20,100)Русская нотация:
=RANDARRAY(5;4;20;100)После нажатия Enter вы получите числа с плавающей точкой в указанном диапазоне.
Пример 3 — получение целых чисел
По умолчанию RANDARRAY возвращает дробные (десятичные) значения. Чтобы получить целые числа, укажите последний аргумент TRUE.
Английская нотация:
=RANDARRAY(5,4,20,100,TRUE)Русская нотация:
=RANDARRAY(5;4;20;100;TRUE)После ввода формулы вы получите целые числа в каждой ячейке массива.
Если вместо TRUE указать FALSE (или не указывать аргумент), будут возвращены десятичные значения.
Случайная сортировка списка: RANDARRAY + SORTBY
Если задача — не только сгенерировать числа, но и перемешать существующий список (например, список имён), используйте SORTBY в связке с RANDARRAY.
Синтаксис SORTBY:
=SORTBY(array, by_array, [sort_order], ...)- array — диапазон, который нужно отсортировать.
- by_array — массив значений, по которому выполняется сортировка (в нашем случае — случайные числа).
- sort_order — 1 (по возрастанию) или -1 (по убыванию), по умолчанию 1.
Пример: у нас список имён в диапазоне C3:C12 (10 имён). Нужно получить перемешанный список.
Формула (англ. нотация):
=SORTBY(C3:C12, RANDARRAY(10))Русская нотация:
=SORTBY(C3:C12; RANDARRAY(10))В результате вы получите тот же список имён, но в случайном порядке. Если нужно контролировать повторяемость результатов, обратите внимание: RANDARRAY не предоставляет управления «seed» — каждый пересчёт листа даст новые значения.
Совет: если требуется зафиксировать один набор случайных значений (чтобы они не менялись при каждом пересчёте), скопируйте диапазон и вставьте как значения (Paste Special → Values).
Альтернативные подходы и когда их использовать
- RANDBETWEEN / СЛУЧМЕЖДУ (RANDBETWEEN) — возвращает одно случайное целое число в диапазоне; подходит, если нужен только один случайный номер.
- RAND / СЛУЧ (RAND) — возвращает одно десятичное число от 0 до 1; устаревающий подход для массивов в старых версиях Excel.
- INDEX + SORTBY + RAND — при необходимости более сложной логики выбора (например, выбор без повторов + дополнительные критерии).
- Power Query — если нужно перемешать очень большие наборы данных вне листа Excel с возможностью сценариев и автоматизации.
Когда RANDARRAY не подойдёт:
- В старых версиях Excel без поддержки динамических массивов (результат не «выплеснется» автоматически).
- Если важен детерминированный псевдослучайный поток с фиксируемым семенем (RandArray не принимает seed).
Локальные особенности и потенциальные ошибки
Важно учитывать локальные настройки Excel:
- Разделитель аргументов формулы: в русской локали обычно точка с запятой “;”. Если формула выдает ошибку, попробуйте заменить запятые на точку с запятой.
- Десятичный разделитель: в некоторых конфигурациях системы десятичный разделитель — запятая. Это влияет только на ввод чисел в ячейки, но не на саму формулу.
- Совместимость: RANDARRAY — функция динамических массивов, доступна в Excel с поддержкой динамических массивов (Microsoft 365 и более новых релизах Excel). В более старых версиях используйте альтернативы (RANDBETWEEN, макросы или Power Query).
Типичные ошибки и их причины:
- #NAME? — Excel не распознаёт функцию (возможно, версия без поддержки динамических массивов).
- Результат «не выплескивается» — убедитесь, что есть свободное пространство справа и вниз от выбранной ячейки.
- Непредсказуемые изменения — каждая пересчётка листа изменит случайные значения. Зафиксируйте значения, если нужен постоянный набор.
Практические сценарии использования
- Разбивка участников на случайные группы (воркшопы, классы, тимбилдинги).
- Создание тестовых данных для отчётов и валидации формул.
- Случайная выборка строк для A/B-тестов или проверки качества.
- Перемешивание очередности заданий или звонков в службе поддержки.
Мини-методология: как случайно распределить 25 участников по 5 групп
- Поместите список имён в столбец A (A2:A26).
- В ячейку B2 введите: =RANDARRAY(25) (локально: =RANDARRAY(25;)).
- В столбце C отсортируйте имена: =SORTBY(A2:A26, B2:B26).
- Для присвоения номеров групп используйте формулу: =INT((ROW()-ROW($C$2))/5)+1 и протяните вниз.
- Зафиксируйте значения C и номера групп — вставьте как значения.
Отладка и лучшие практики
- Если нужно один раз сгенерировать случайные номера и больше их не менять — скопируйте и вставьте как значения.
- Не полагайтесь на RANDARRAY для воспроизводимости исследований: используйте специализированные инструменты или макросы с контролируемым seed.
- Для больших диапазонов оцените производительность: динамические массивы могут требовать времени при очень больших объёмах.
Критерии приёмки
- Формула возвращает ожидаемое количество строк и столбцов.
- Минимальные/максимальные значения находятся в указанном диапазоне.
- Целые/десятичные значения соответствуют аргументу integer.
- Результат корректно «выплескивается» и не конфликтует с соседними данными.
Роль-based checklist (быстрое):
- Учитель: проверить, что каждая группа содержит нужное количество учеников; зафиксировать результат.
- Организатор мероприятия: убедиться, что имена уникальны и нет пустых ячеек в исходном списке.
- Аналитик: проверить производительность на больших таблицах и при необходимости использовать Power Query.
Шаблоны формул (шпаргалка)
- Массив 10×3 десятичных чисел от 0 до 1:
=RANDARRAY(10,3)- Массив 8×2 целых чисел от 1 до 100:
=RANDARRAY(8,2,1,100,TRUE)- Перемешать список в диапазоне A2:A101:
=SORTBY(A2:A101, RANDARRAY(ROWS(A2:A101)))(в русской версии: =SORTBY(A2:A101; RANDARRAY(ROWS(A2:A101))) )
Безопасность и приватность
RANDARRAY не отправляет данные внешним сервисам — она генерирует значения локально в Excel. Если вы перемешиваете персональные данные (списки людей), убедитесь в соответствии с политиками конфиденциальности вашей организации и применимых правовых требований перед экспортом или публикацией результатов.
Частые вопросы
Q: Можно ли задать «seed», чтобы результат был воспроизводимым?
A: Нет, у RANDARRAY нет параметра seed. Для воспроизводимости используйте VBA-скрипты с контролируемым генератором случайных чисел или внешние инструменты.
Q: Как зафиксировать текущий набор случайных чисел?
A: Выделите диапазон с результатами, Ctrl+C → Правый клик → Специальная вставка → “Значения” (Paste Values).
Q: Почему формула выдаёт ошибку в русской версии Excel?
A: Замените запятые на точку с запятой в списке аргументов.
Когда лучше использовать альтернативы
- Power Query: когда нужно автоматическое перемешивание больших наборов и повторяемость в ETL-процессах.
- VBA: когда нужен управляемый seed или сложная логика выбора без изменений при каждом пересчёте.
- R / Python: при необходимости статистического контроля и воспроизводимости исследований.
Важно
RANDARRAY очень удобна для быстрых задач и прототипирования, но для критичных бизнес-процессов учитывайте требования к воспроизводимости и производительности.
Примечание
Если вы планируете делиться файлом с пользователями на старых версиях Excel, проверьте совместимость — формулы RANDARRAY могут не работать и потребуют альтернативных решений.
Краткое резюме
RANDARRAY — простой способ быстро получить массив случайных чисел и перемешивать списки в Excel. В связке с SORTBY она позволяет легко генерировать случайный порядок записей. Учитывайте локальные особенности (разделители аргументов), совместимость версии Excel и необходимость фиксировать результаты, если они должны оставаться неизменными.
Похожие материалы
Как поставить пароль на заметки в iOS 11
Установка и переключение среды рабочего стола в Linux
Как скрыть лайки в Instagram — пошаговая инструкция
Подготовка дома к 5G‑Wi‑Fi — проверка и советы
Как быстро находить лучшие игры в Steam