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

Генерация, фиксация и удаление дубликатов случайных чисел в Excel

7 min read Excel Обновлено 23 Dec 2025
Случайные числа в Excel: генерация, фиксация, удаление
Случайные числа в Excel: генерация, фиксация, удаление

Рука держит значок Excel на фоне таблицы со случайными числами.

  • Excel предоставляет три основных функции для генерации случайных чисел: RAND, RANDBETWEEN и RANDARRAY. Они являются «летучими» — меняются при любом пересчёте листа.
  • Чтобы зафиксировать результаты, скопируйте диапазон и вставьте как значения (Paste Values).
  • Для удаления дубликатов используйте Data → Remove Duplicates либо Power Query или формулы; при необходимости повторно генерируйте недостающие числа и фиксируйте их.

Быстрые ссылки

  • Как сгенерировать случайные числа
  • Как зафиксировать сгенерированные случайные числа
  • Как удалить дубликаты случайных чисел

К чему этот материал

Коротко: это пошаговое руководство для пользователей Excel, которые хотят создать набор случайных чисел, превратить результат в неизменяемые значения и избавиться от повторов. Подходит для аналитиков, преподавателей, специалистов по тестированию и всех, кому нужны случайные выборки.

Важно: термины

  • Волатильная функция: функция, которая пересчитывается при любом изменении на листе или при открытии книги.

Как сгенерировать случайные числа

Excel предлагает три основные функции для генерации случайных чисел. Краткая сводка — в таблице, затем — расширенный разбор и примеры.

Название функцииЧто делаетСинтаксисПримечания
RANDГенерирует случайное число от 0 до 1.=RAND()Формула не принимает аргументов. Возвращает десятичное число.
RANDBETWEENГенерирует случайное целое число между указанными минимальным и максимальным значениями.=RANDBETWEEN(a, b)a — нижняя граница, b — верхняя. Работает с целыми числами.
RANDARRAYГенерирует массив случайных чисел по заданным критериям.=RANDARRAY(v, w, x, y, z)v — строки, w — столбцы, x — нижняя граница, y — верхняя граница, z — TRUE для целых чисел, FALSE для десятичных.

Примеры:

  • Один случайный десятичный: =RAND()
  • Случайное целое от 1 до 100: =RANDBETWEEN(1,100)
  • Массив 10x1 случайных чисел от 1 до 100: =RANDARRAY(10,1,1,100,TRUE)

Практическая подсказка: после ввода формулы и нажатия Enter можно использовать маркер заполнения (fill handle), чтобы распространить формулу на соседние ячейки. Но с RANDARRAY будьте внимательны: если при заполнении вы попытаетесь перезаписать область, которую занимает исходный динамический массив, Excel может вернуть ошибку #SPILL! и прервать массив.

Когда выбирать какую функцию

  • Нужно много десятичных чисел в диапазоне 0–1 — используйте RAND.
  • Нужны целые числа в ограниченном диапазоне — RANDBETWEEN прост и быстр.
  • Требуется сразу заполнить блок ячеек — RANDARRAY удобен для массивов.

Примечание: если важна уникальность значений, RAND (с большим числом десятичных знаков) реже даёт точные совпадения по сравнению с RANDBETWEEN, потому что возвращает дробные значения с высокой точностью.

Как зафиксировать сгенерированные случайные числа

Проблема: все перечисленные выше функции — волатильные. Они пересчитаются при любом изменении листа. Чтобы «заморозить» результаты и сохранить текущие числа, выполните следующие действия:

  1. Выделите диапазон ячеек с сгенерированными числами.
  2. Щёлкните правой кнопкой и выберите «Копировать» или нажмите Ctrl+C.
  3. Перейдите в верхнюю левую ячейку диапазона, раскройте кнопку «Вставить» на вкладке Home и выберите «Values» (Вставить значения). (Альтернатива: комбинации клавиш Alt+H+V+V или используйте меню Paste Special → Values.)

Выделенный список случайных чисел и выбранный пункт 'Копировать'.

Кнопка

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

Важно: если вы предпочитаете полностью отключить автоматический пересчёт — можно переключить книгу в ручной режим: Formulas → Calculation Options → Manual. В ручном режиме значения с волатильных функций не будут обновляться, пока вы не нажмёте Calculate Now.

Как удалить дубликаты случайных чисел

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

Способ 1 — Простое удаление дубликатов (быстро для одного столбца):

  1. Выделите диапазон с вашими числами (или весь столбец).
  2. Вкладка Data → Remove Duplicates.
  3. В диалоге убедитесь, что выбраны правильные столбцы и указана строка заголовка, если она есть. Нажмите OK.

Выделен диапазон и подсвечена кнопка Remove Duplicates.

Диалог покажет количество удалённых дубликатов и оставшихся уникальных значений.

Диалог Remove Duplicates и сообщение о количестве удалённых дубликатов.

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

Альтернативы и расширенные подходы

  1. Power Query (рекомендуется при больших наборах данных):

    • Загрузите таблицу в Power Query (Data → From Table/Range).
    • Выберите столбец → Remove Duplicates → Close & Load. Power Query надёжно и быстро обрабатывает большие объёмы.
  2. Формулы для пометки и фильтрации дубликатов:

    • Добавьте вспомогательный столбец с формулой =COUNTIF($A$2:A2,A2) и фильтруйте значения, где результат = 1 (первое появления).
    • Для динамических массивов можно использовать =UNIQUE(range) чтобы получить только уникальные значения.
  3. Генерация уникальных случайных целых чисел (с нуля):

    • Если вам нужен список неповторяющихся целых чисел от 1 до N, используйте комбинацию =SORTBY(SEQUENCE(N),RANDARRAY(N)) — это создаст последовательность 1..N и перемешает её случайным образом. Затем можно взять первые k значений.

Пример формулы для k уникальных чисел от 1 до N:

=INDEX(SORTBY(SEQUENCE(N),RANDARRAY(N)),SEQUENCE(k))

Эта схема работает на современных версиях Excel с динамическими массивами.

Когда удаление дубликатов может не подойти

  • Нужна строгая случайная выборка без замены: простое удаление дубликатов после генерации может изменить распределение, особенно если дубли часто встречаются. В таких случаях лучше генерировать уникальные числа изначально (метод с SEQUENCE + SORTBY).
  • Большие объёмы и частые пересчёты: волатильные функции могут замедлить книгу. Используйте ручной пересчёт или Power Query.

Практическое SOP: шаг за шагом

  1. Определите требования: нужно ли числа с плавающей точкой или целые, сколько значений, нужны ли уникальные значения.
  2. Сгенерируйте числа функцией: RAND / RANDBETWEEN / RANDARRAY.
  3. Зафиксируйте результат: копировать → вставить как значения.
  4. Удалите дубликаты: Data → Remove Duplicates или Power Query.
  5. Если после удаления не хватает значений — сгенерируйте дополнительные и повторяйте.
  6. Переключите книгу в Manual, если работаете с большим объёмом и хотите избежать повторного пересчёта.

Проверки качества и тест-кейсы

  • Кейс 1: генерация 1000 целых чисел RANDBETWEEN(1,100000) — проверить отсутствие дубликатов с помощью =COUNTIF(range,value)>1.
  • Кейс 2: генерация 500 десятичных RAND() — убедиться, что значения изолированы и зафиксированы после Paste Values.
  • Кейс 3: генерация уникальных чисел с SEQUENCE+SORTBY — проверить, что диапазон содержит ровно требуемые уникальные значения без пропусков.

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

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

Ментальные модели и подсказки

  • Волатильность: думайте о волатильных функциях как о «генераторе в реальном времени» — пока он включён, изменения влияют на результат. Зафиксируйте, если хотите остановить изменения.
  • Уникальность: чем меньше диапазон значений по сравнению с количеством требуемых чисел, тем выше вероятность дубликатов. Если нужен большой набор уникальных целых чисел, генерируйте последовательность и перемешивайте её.

Риски и пути смягчения

  • Риск потери исходных формул при копировании-вставке: прежде чем вставлять как значения, сохраните исходные формулы в отдельной копии листа или книге.
  • Риск медленной работы из-за волатильных функций: переключитесь на ручной пересчёт или используйте Power Query для статической обработки.

Роль‑ориентированные чек‑листы

Аналитик:

  • Определить требования по типу числа и уникальности.
  • Сгенерировать и зафиксировать значения.
  • Применить Remove Duplicates или формулы для очистки.

Преподаватель/экзаменатор:

  • Предпочесть RANDARRAY + Paste Values для создания тестовых наборов.
  • Проверить репродуцируемость: сохранить копию файла с зафиксированными числами.

Разработчик отчётов:

  • Использовать Power Query для построения чистых наборов данных.
  • Автоматизировать шаги в макросе, если нужно часто повторять.

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

  • Выбирайте функцию по задаче: RAND для десятичных, RANDBETWEEN для целых, RANDARRAY для массивов.
  • Зафиксируйте результат через «Вставить как значения», чтобы избежать непредвиденных пересчётов.
  • Удаляйте дубликаты встроенным инструментом, Power Query или формулами; для гарантий уникальности генерируйте последовательность и перемешивайте её.

Примечание: если вы работаете в совместной книге или делитесь файлом, убедитесь, что получатель понимает, что числа зафиксированы — иначе при их пересчёте результаты могут измениться.


Если нужно, могу добавить готовые макросы VBA для автоматизации всего процесса: генерация → фиксация → удаление дубликатов → отчёт о результате.

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

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

Как включить iCloud Photos и синхронизировать фото
Технологии

Как включить iCloud Photos и синхронизировать фото

Aitum Vertical Plugin для OBS — вертикальный стриминг
Стриминг

Aitum Vertical Plugin для OBS — вертикальный стриминг

Как отформатировать SD‑карту на Mac
Руководство

Как отформатировать SD‑карту на Mac

Перенос чатов WhatsApp с iPhone на Android
Мобильные устройства

Перенос чатов WhatsApp с iPhone на Android

Как снимать ночью: избавляемся от смаза
Фотография

Как снимать ночью: избавляемся от смаза

Как блокировать мошеннические номера и спам‑звонки
Безопасность

Как блокировать мошеннические номера и спам‑звонки