Генератор случайных чисел VBA

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

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

Щелкните вкладку «Разработчик». В группе «Код» выберите Visual Basic

image

  • Введите следующий код в модуль рабочего листа

Function DistinctRandomNumbers(NumCount As Long, LLimit As Long, ULimit As Long) As Variant

Dim RandColl As Collection, i As Long, varTemp() As Long

DistinctRandomNumbers = False

If NumCount< 1 Then Exit Function

If LLimit>ULimit Then Exit Function

If NumCount> (ULimit - LLimit + 1) Then Exit Function

Set RandColl = New Collection

Randomize

Do

On Error Resume Next

i = CLng(Rnd * (ULimit - LLimit) + LLimit)

RandColl.Addi, CStr(i)

On Error GoTo 0

Loop Until RandColl.Count = NumCount

ReDimvarTemp(1 To NumCount)

For i = 1 ToNumCount

varTemp(i) = RandColl(i)

Next i

Set RandColl = Nothing

DistinctRandomNumbers = varTemp

Erase varTemp

End Function



Sub Test()

Dim varrRandomNumberList As Variant

varrRandomNumberList = DistinctRandomNumbers(50, 1, 100)

Range(Cells(3, 1), Cells(50 + 2, 1)).Value = _

Application.Transpose(varrRandomNumberList)

End Sub

image

  • После копирования кода вам нужно ввести формулу в любую ячейку

* = DistinctRandomNumbers (50, 1, 100)

image

Таким образом, мы можем составить список различных случайных чисел без повторения в Excel 2013.

Другой способ в Excel 2016

Функция RANDBETWEEN означает случайное число между двумя числами.

Чтобы получить то же самое, выполните следующие действия.

Функция RANDBETWEEN возвращает случайные числа между любыми двумя числами.

Синтаксис:

=RANDBETWEEN

( bottom, top )

Внизу: меньшее из двух чисел.

Вверху: большее из двух чисел.

Как мы знаем, телефонный номер имеет следующее условие:

  1. Он состоит из 10 цифр. Не может начинаться с 0 Таким образом, наименьшее возможное число оказывается равным 1000000000, а наибольшее возможное число оказывается равным 9999999999. Поэтому используйте приведенную ниже формулу для генерации телефонных номеров

Используйте формулу:

=

RANDBETWEEN

( 1000000000 , 9999999999 )

1000000000: меньший 9999999999: больший

image

Просто введите формулу один раз и повторите результаты, используя опцию перетаскивания вниз в Excel, как показано на снимке выше.

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

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

Для этого мы можем выбрать любой из двух методов, упомянутых ниже. Один из методов — использование link: / lookup-formulas-how-to-use-the-select-function-in-excel [CHOOSE function]. Здесь нам нужно ввести в функцию все индивидуальные значения из списка. Эту формулу можно использовать, когда числовых значений в списке меньше.

Формула с использованием функции ВЫБРАТЬ:

=

CHOOSE

(

RANDBETWEEN

( 1 , n) , «value1» , «value2» , «value3″,,,»value n» )

n: количество значений в списке value1, value2, value3, до значения n: отдельные значения из списка. Эти значения можно вводить либо с использованием ссылки на ячейку, либо непосредственно с кавычками, либо с использованием ссылки на ячейку.

Другой метод — использование link: / lookup-formulas-excel-index-function [INDEX function], где мы будем вводить случайное число в качестве индекса, что приведет к соответствующему значению в индексе.

Формула с использованием функции ИНДЕКС:

=INDEX(data,

RANDBETWEEN

(1,ROWS

(data)),col_index)

data: массив данных может быть списком или таблицей.

1: начальный индекс col_index: индекс столбца, чтобы указать список в таблице.

Примечания:

  1. Функция возвращает ошибку, если первый числовой аргумент (внизу)

больше, чем второй аргумент числа (вверху).

  1. Функция возвращает ошибку, если аргумент функции не является числовым.

Надеюсь, эта статья о генераторе случайных чисел без повторяющихся чисел с использованием VBA в Microsoft Excel будет пояснительной. Дополнительные статьи о генерации случайных чисел или значений дат можно найти здесь. Если вам понравились наши блоги, поделитесь ими со своими друзьями на Facebook. А также вы можете подписаться на нас в Twitter и Facebook. Мы будем рады услышать от вас, дайте нам знать, как мы можем улучшить, дополнить или усовершенствовать нашу работу и сделать ее лучше для вас. Напишите нам на [email protected]

image

`link: /wp-content-uploads-2015-05-Download-Random-Number-Generator-without-Repeat-Numbers-xlsm.xls [Загрузить — Генератор случайных чисел без повторяющихся чисел-xlsm]

Статьи по теме:

link: / excel-range-name-all-about-excel-named-range-excel-range-name [Все о именованных диапазонах Excel]: диапазоны Excel, помеченные именами, легко использовать в формулах Excel. Узнайте об этом здесь.

link: / excel-generals-relative-and-absolute-reference-in-excel [Относительная и абсолютная ссылка в Excel]: Понимание относительной и абсолютной ссылки в Excel очень важно для эффективной работы в Excel. Относительная и абсолютная привязка ячеек и диапазонов.

link: / tips-random-phone-numbers-in-microsoft-excel [Генерировать случайные номера телефонов]: генерировать случайные 10-значные числа с помощью формулы RANDBETWEEN в Excel `link: / Mathematical-functions-get-random-number- from-fixed-options [Получить случайное число из фиксированных параметров] `: Генерация случайных чисел из списка с критериями в Excel.

link: / excel-formula-and-function-excel-randbetween-function [Получить случайные числа между двумя числами]: СЛУЧАЙНЫЙ номер генератора функции между двумя заданными числами в Excel.

link: / excel-formula-and-function-excel-random-selection [Случайный выбор Excel: как получить случайную выборку из набора данных]: Используйте случайные выборки в Excel для объясненных здесь примеров.

link: / excel-formula-and-function-excel-randbetween-function-2 [Как использовать функцию RANDBETWEEN в Excel]: функция Excel RANDBETWEEN возвращает число между двумя заданными числами в Excel.

Популярные статьи:

link: / keyboard-formula-shortcuts-50-excel-shortcuts-to-повышения-продуктивность [50 сочетаний клавиш Excel для повышения производительности]: быстрее справляйтесь с задачей. Эти 50 ярлыков заставят вас работать в Excel еще быстрее.

link: / tips-if-condition-in-excel [Как использовать функцию IF в Excel]: оператор IF в Excel проверяет условие и возвращает конкретное значение, если условие истинно, или другое конкретное значение, если оно ложно .

link: / formulas-and-functions-Introduction-of-vlookup-function [Как использовать функцию ВПР в Excel]: Это одна из наиболее часто используемых и популярных функций Excel, которая используется для поиска значений из разных диапазонов и листы.

link: / excel-formula-and-function-excel-sumif-function [Как использовать функцию СУММЕСЛИ в Excel]: Это еще одна важная функция информационной панели. Это поможет вам суммировать значения для конкретных условий.

link: / tips-countif-in-microsoft-excel [Как использовать функцию СЧЁТЕСЛИ в Excel]: Подсчет значений с условиями с помощью этой удивительной функции. Вам не нужно фильтровать данные для подсчета определенных значений. Функция Countif важна для подготовки вашей приборной панели.