Случмежду excel без повторений

Случайные числа без повторов

Постановка задачи

Предположим, что нам необходимо создать набор целых случайных чисел без повторов в заданном интервале значений. Примеры с ходу:

  • генерация уникальных случайных кодов для товаров или пользователей
  • назначение людей на задачи (каждому по случайной из списка)
  • перестановки слов в поисковом запросе (привет seo-шникам)
  • игра в лото и т.д.

Способ 1. Простой

Для начала рассмотрим простой вариант: нам необходимо получить случайный набор из 10 целых чисел от 1 до 10. Использование встроенной в Excel функции СЛУЧМЕЖДУ (RANDBETWEEN) уникальности не гарантирует. Если ввести ее в ячейку листа и скопировать вниз на 10 ячеек, то запросто могут случиться повторы:

random-unique3.png

Поэтому мы пойдем другим путем.

Во всех версиях Excel есть функция РАНГ (RANG), предназначенная для ранжирования или, другими словами, определения топовой позиции числа в наборе. Для самого большого числа в списке ранг=1, второе в топе имеет ранг=2 и т.д.

Введем в ячейку А2 функцию СЛЧИС (RAND) без аргументов и скопируем формулу вниз на 10 ячеек. Эта функция сгенерирует нам набор из 10 случайных дробных чисел от 0 до 1:

random-unique1.png

В соседний столбец введем функцию РАНГ, чтобы определить позицию в рейтинге для каждого полученного случайного числа:

random-unique2.png

Получим в столбце В то, что хотели — любое нужное количество неповторяющихся случайных целых чисел от 1 до 10.

Чисто теоретически, может возникнуть ситуация, когда СЛЧИС выдаст нам два одинаковых случайных числа в столбце А, их ранги совпадут и мы получим повтор в столбце В. Однако, вероятность такого сценария крайне мала, учитывая тот факт, что точность составляет 15 знаков после запятой.

Способ 2. Сложный

Этот способ чуть сложнее, но использует всего одну формулу массива. Допустим, нам нужно создать на листе список из 9 неповторяющихся случайных целых чисел в интервале от 1 до 50.

Введите в ячейку А2 следующую формулу, нажмите в конце Ctrl+Shift+Enter (чтобы ввести ее как формулу массива!) и скопируйте формулу вниз на требуемое количество ячеек:

random-unique4.png

Способ 3. Макрос

Ну и, конечно, можно решить задачу с помощью программирования на Visual Basic. В одной из старых статей про случайную выборку я уже приводил  макро-функцию массива Lotto, которая выдает требуемое количество случайных неповторяющихся чисел из заданного интервала.

Ссылки по теме

  • Как подсчитать количество уникальных значений в диапазоне
  • Случайная выборка элементов из списка

Это глава из книги Билла Джелена Гуру Excel расширяют горизонты: делайте невозможное с Microsoft Excel.

Задача: вы хотите сгенерировать случайные числа между 1 и 100, но… без дубликатов. Excel стандартно предлагает функции СЛЧИС() и СЛУЧМЕЖДУ(), но обе они, генерируют совершенно случайные числа с морем дубликатов.

Предыстория: подобные задачи я обычно решаю с помощью трех дополнительных столбцов, но PGC01 (это ник участника форума) предложил немаленькую формулу, чтобы справиться с этой проблемой одним махом. Чтобы понять формулу, надо для начала познакомиться с работой функции НАИМЕНЬШИЙ(массив;k). Как правило, она возвращает k-е наименьшее значение массива. Например, =НАИМЕНЬШИЙ({69;9;12;27;42;55};3) возвращает 27, так как, 1-е наименьшее число в списке – 9, 2-е – 12, а 3-е – 27. Нечисловые значения в массиве игнорируются. Например, =НАИМЕНЬШИЙ({69;9;12;ЛОЖЬ;42;55};3) вернет 42.

Решение: сейчас мы разработаем формулу, которая будет формировать массив из неиспользованных чисел диапазона, а затем выбирать из этих чисел (рис. 1).

Рис. 1. Формула генерит наборы чисел, от 1 до 10, упорядоченные случайным образом

Рис. 1. Формула генерит наборы чисел, от 1 до 10, упорядоченные случайным образом

Скачать заметку в формате Word или pdf, примеры в формате Excel

Формула массива в ячейке В9: {=НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ(B$3:B8;СТРОКА($1:$10))<>1; СТРОКА($1:$10));1+ЦЕЛОЕ(СЛЧИС()*(10-СТРОКА()+СТРОКА(B$4))))}. Excel начинает расчет формулы с функции СЧЁТЕСЛИ (рис. 2 и 3). СТРОКА($1:$10) возвращает массив чисел {1, 2, 3,…10} (Е5:Е14 на рис. 2 и второй прямоугольник на рис. 3).

Рис. 2. Диапазон Е4-Н14 показывает, как вычисляется фрагмент формулы

Рис. 2. Диапазон Е4:Н14 показывает, как вычисляется фрагмент формулы

Функция СЧЁТЕСЛИ просит Excel просматривать ранее сгенерированные числа (на рис. 1 и 2 они размещены в диапазоне B$3:B8), и подсчитывать, сколько из них равны последовательно 1, 2, 3, … 10. Ответы будут 1 или 0, в зависимости от того, было ли ранее сгенерировано соответствующее число, или нет. На рис. 2 результат работы функции СЧЁТЕСЛИ помещен в столбец F. На рис. 3 – это третий прямоугольник. В ячейках G5:G14 проверяется, равен ли единице результат в F (4-й прямоугольник). Функция ЕСЛИ в столбце Н (рис. 2) проверяет значение в столбце G, и возвращает значение из столбца Е, если в G = ИСТИНА, и ЛОЖЬ, если в G =ЛОЖЬ (см. также 6-й прямоугольник на рис. 3).

Рис. 3. Последовательность вычислений

Рис. 3. Последовательность вычислений, аналогичная рис. 2

В этот момент массив для выбора следующего случайного числа (т.е., случайного числа, которое будет отражено в ячейке В9 на рис. 1) сформирован. Обратите внимание, что в столбце Н на рис. 2 и в 6-м прямоугольнике на рис. 3 представлены числа, ранее не выбиравшиеся среди случайных. Оставшаяся часть формулы призвана выбрать из них одно число случайным образом. В принципе, теперь осталась формула: =НАИМЕНЬШИЙ(Н5:Н14;СЛУЧМЕЖДУ(1;5))

На самом деле, установить, что осталось именно пять невыбранных чисел сложнее, чем в приведенной выше формуле. Чтобы сделать формулу совместимый с Excel 2003, PGC01 использует функции СЛЧИС() вместо СЛУЧМЕЖДУ(). Функция СЛЧИС возвращает случайное число между 0 и 0,99999… =ЦЕЛОЕ(СЛЧИС()*5) возвращает случайное целое число между 0 и 4. И, наконец, =1+ЦЕЛОЕ(СЛЧИС()*5) возвращает случайное целое число между 1 и 5.

Поскольку вместо 5 в этой части формулы в разных строках должны быть разные числа, вместо фиксированного значения используется фрагмент 10-СТРОКА()+СТРОКА(B$4). Для ячейки В9 он вернет 10-9+4=5.

Резюме: довольно сложная формула массива может генерировать случайные числа без повторений.

Источник: http://www.mrexcel.com/forum/showthread.php?t=222922

Во многих случаях вы можете создавать случайные числа в Excel? Но с общими формулами для рандомизации чисел могут быть некоторые повторяющиеся значения. Здесь я расскажу вам несколько хитростей для генерации случайных чисел без дубликатов в Excel.

Создавайте уникальные случайные числа с помощью формул

Сгенерируйте уникальное случайное число с помощью Kutools for ExcelВставка случайных данных (просто!) хорошая идея3


стрелка синий правый пузырь Создавайте уникальные случайные числа с помощью формул

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

1. Предположим, вам нужно сгенерировать случайные числа без дубликатов в столбце A и столбце B, теперь выберите ячейку E1 и введите эту формулу = СЛЧИС (), Затем нажмите Enter ключ, см. снимок экрана:
doc-randomize-no-repeat-1

2. И выберите весь столбец E, нажав Ctrl + Space одновременно, а затем нажмите Ctrl + D ключи для применения формулы = СЛЧИС () ко всей колонке E. См. снимок экрана:
doc-randomize-no-repeat-2

3. Затем в ячейке D1 введите максимальное количество необходимого случайного числа. В этом случае я хочу вставить случайные числа без повторения от 1 до 50, поэтому я введу 50 в D1.
doc-randomize-no-repeat-3

4. Теперь перейдите к столбцу A, выберите ячейку A1, введите эту формулу. =IF(ROW()-ROW(A$1)+1>$D$1/2,»»,RANK(OFFSET($E$1,ROW()-ROW(A$1)+(COLUMN()-COLUMN($A1))*($D$1/2),),$E$1:INDEX($E$1:$E$1000,$D$1))), затем перетащите маркер заполнения в следующий столбец B и перетащите маркер заполнения в нужный диапазон. Смотрите скриншот:
doc-randomize-no-repeat-4

Теперь в этом диапазоне нужные вам случайные числа не повторяются.

Примечание:

1. В приведенной выше длинной формуле A1 указывает ячейку, в которой используется длинная формула, D1 указывает максимальное количество случайных чисел, E1 — первая ячейка столбца, в котором применяется формула = RAND (), а 2 означает, что вы хотите вставить случайное число в два столбца. Вы можете изменить их по своему усмотрению.

2. Когда все уникальные числа сгенерированы в диапазоне, избыточные ячейки будут показаны как пустые.

3. С помощью этого метода вы можете просто сгенерировать случайное число, начиная с числа 1. Но с помощью второго способа вы можете легко указать диапазон случайных чисел.


стрелка синий правый пузырь Сгенерируйте уникальное случайное число с помощью Kutools for Excelвставить случайные данные

Обработка вышеуказанных формул вызывает слишком много неудобств. Но с Kutools for ExcelАвтора Вставить случайные данные функция, вы можете быстро и легко вставить уникальные случайные числа по мере необходимости, что сэкономит много времени.

Меньше времени, но выше производительность

Включает более 300 профессиональных инструментов для Excel 2019-2003
Первая версия 1.0 была выпущена в 2011 году, сейчас это версия 18.0.
Решает большинство ежедневных сложных задач Excel за секунды, экономя ваше время
30-дневная бесплатная пробная версия без каких-либо ограничений

kte 包装 盒

После установки Kutools for Excel, пожалуйста, сделайте следующее:(Бесплатная загрузка Kutools for Excel Сейчас!)

1. Выберите диапазон, необходимый для генерации случайных чисел, и нажмите Кутулс > Вставить > Вставить случайные данные. Смотрите скриншот:

2. в Вставить случайные данные диалога, перейдите к Целое на вкладке введите нужный диапазон номеров в от и к текстовые поля и не забудьте проверить Уникальные ценности вариант. Смотрите скриншот:

3. Нажмите Ok для генерации случайных чисел и выхода из диалогового окна.

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

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

Наконечник.Если вы хотите выбирать или сортировать данные случайным образом, попробуйте использовать Kutools for ExcelАвтора Сортировка диапазона случайным образом как показано на следующем снимке экрана. Полная функция без ограничений в 30 дней, пожалуйста, скачайте и получите бесплатную пробную версию сейчас.

документ выбирается случайным образом


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


  • Генерация случайного целого / десятичного числа в Excel
  • Создавать случайные будни / выходные в Excel
  • Остановить изменение случайных чисел в Excel
  • Генерация нечетных или четных чисел в Excel

Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

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

Способ 1: Использование функции СЛУЧМЕЖДУ

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

  1. Выберите первую клетку списка с числами и объявите формулу =СЛУЧМЕЖДУ().Добавление функции для создания списка случайных чисел в Microsoft Excel

  2. Введите нижнюю границу (минимальное допустимое число), после которого поставьте точку с запятой.Выбор минимального порога для создания списка случайных чисел в Microsoft Excel

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

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

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

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Способ 2: Создание списка со случайными неповторяющимися числами

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

  1. Создайте первое случайное число в ячейке A2, выполнив операцию сложения с любым для вас шагом. Это может быть +1, +3 или даже +10. То есть каждое следующее число будет больше предыдущего на указанный шаг.Создание первой функции суммы для создания списка случайных чисел в Microsoft Excel

  2. Вы можете растянуть этот список вниз самостоятельно, создав уникальные числа с определенным шагом увеличения.Растягивание функции суммы для создания списка случайных чисел в Microsoft Excel

  3. Однако, если нужно получить больше 100 единиц в перечне, растягивать его не очень удобно. Можно пойти более простым путем. Сначала скопируйте первое значение.Копирование функции суммы для создания списка случайных чисел в Microsoft Excel

  4. После этого нажмите сочетание клавиш Ctrl + G и в поле «Ссылка» введите номер последней ячейки списка.Переход к последней ячейке для создания списка случайных чисел в Microsoft Excel

  5. Перейдите к ней, зажмите Ctrl + Shift + Стрелка Вверх для выделения всех ячеек до первой.Выделение диапазона ячеек для создания списка случайных чисел в Microsoft Excel

  6. Первое значение у вас уже скопировано, поэтому остается только вставить саму функцию, используя сочетание клавиш Ctrl + V. Теперь у вас в распоряжении есть большой список с неповторяющимися числами.Вставка функции во все ячейки для создания списка случайных чисел в Microsoft Excel

  7. Скопируйте весь перечень, откройте контекстное меню, щелкнув по любой ячейке правой кнопкой мыши, и используйте специальную вставку, чтобы вставить только значения. Так вы удалите функцию суммы, которая больше в списке не нужна.Вставка как значения для создания списка случайных чисел в Microsoft Excel

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

Список с неповторяющимися числами есть, но все они расположены в порядке возрастания. Нужно исправить эту ситуацию, сделав их случайными. В этом поможет инструмент сортировки данных и вспомогательная функция.

  1. Создайте название для текущего списка, а рядом пропишите еще один заголовок.Создание заголовков для списков для создания списка случайных чисел в Microsoft Excel

  2. После этого выделите первую ячейку второго списка и задайте там формулу =СЛЧИС(). Она генерирует случайное нецелое число в ячейке.Объявление функции случайных нецелых чисел для создания списка случайных чисел в Microsoft Excel

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

  4. Выделите первый заголовок и перейдите на вкладку «Данные».Переход к вкладке Данные для создания списка случайных чисел в Microsoft Excel

  5. Включите функцию «Фильтр».Включение фильтра для создания списка случайных чисел в Microsoft Excel

  6. Теперь нажмите кнопку со стрелкой, расположенную справа от названия списка с нецелыми числами, и выберите один из вариантов сортировки.Использование сортировки для создания списка случайных чисел в Microsoft Excel

  7. Вместе со вторым столбцом отсортирован и первый – все числа в нем не повторяются и являются случайными.Результат сортировки для создания списка случайных чисел в Microsoft Excel

  8. Удалите ненужные вспомогательные элементы, оставив только готовый перечень. Теперь его можно использовать в личных целях.Удаление лишнего для создания списка случайных чисел в Microsoft Excel

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

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше

В этой статье описаны синтаксис формулы и использование функции СЛУЧМЕЖДУ в Microsoft Excel.

Описание

Возвращает случайное целое число, находящееся в диапазоне между двумя заданными числами. При каждом вычислении листа возвращается новое случайное целое число.

Синтаксис

СЛУЧМЕЖДУ(нижн_граница;верхн_граница)

Аргументы функции СЛУЧМЕЖДУ описаны ниже.

  • Нижн_граница    Обязательный. Наименьшее целое число, которое возвращает функция СЛУЧМЕЖДУ.

  • Верхн_граница    Обязательный. Наибольшее целое число, которое возвращает функция СЛУЧМЕЖДУ.

Пример

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Формула

Описание

Результат

=СЛУЧМЕЖДУ(1;100)

Случайное число между 1 и 100 (меняется)

меняется

=СЛУЧМЕЖДУ(-1;1)

Случайное число между -1 и 1 (меняется)

меняется

Примечание. При пересчете значений листа после ввода формулы или данных в другую ячейку или при выполнении пересчета вручную (нажатие клавиши F9) создается новое случайное число для любой формулы с использованием функции СЛУЧМЕЖДУ.

Нужна дополнительная помощь?

Понравилась статья? Поделить с друзьями:
  • Случайный пароль в excel
  • Случайный номер в excel
  • Случайные числа онлайн в excel
  • Случайные числа не меняются excel
  • Случайные числа задачи в excel