Вопрос или проблема
У меня есть 100 чисел в Excel, и я хочу случайным образом выбрать 30 чисел, без возможности повторного выбора одного и того же числа (то есть с удалением уже выбранных чисел).
Я не знаю, как это сделать? Я пробовал использовать RANDBETWEEN(1;100)
и копировать это 30 раз, но оно может повторять одно и то же число.
Не могли бы вы помочь мне, как сделать это с помощью формул в листе вместо использования VBA, как предлагают некоторые вопросы на других форумах?
Серьезно, исключив VBA, так как вы не хотите VBA, используйте фильтр. Поставьте колонку рядом с вашим диапазоном и заполните её =Rand()
.
Протяните вниз. Затем скопируйте и вставьте специальным образом – значения поверх самой себя.
Теперь просто отсортируйте по возрастанию или убыванию и выберите либо первые 30, либо последние 30 в качестве вашего выбора.
Это примерно на 99,999% эффективно, если у вас нет миллионов в вашем списке.
Ответ или решение
Чтобы случайным образом выбрать 30 чисел из 100 в Excel без повторений, вы можете воспользоваться следующими шагами, избегая макросов на VBA. Это решение основывается на использовании встроенных функций Excel — это удобно и эффективно для работы с данными.
Шаг 1: Подготовка данных
- Создайте список чисел. В одной из колонок введите ваши 100 чисел (например, в диапазоне A1:A100).
Шаг 2: Генерация случайных чисел
-
Добавьте дополнительный столбец для уникальных случайных чисел. Например, в ячейку B1 введите следующую формулу:
=RAND()
Эта формула генерирует случайное число между 0 и 1.
-
Примените формулу к остальным ячейкам. Протяните маркер заполнения вниз до ячейки B100, чтобы заполнить весь диапазон случайными числами, соответствующими вашим исходным данным.
Шаг 3: Копирование значений
- Копируйте случайные числа и замените формулы. Выделите диапазон B1:B100, затем скопируйте значение и выполните "Специальная вставка" — "значения" (Paste Special -> Values). Это заменит формулы с случайными числами на их текущее значение.
Шаг 4: Сортировка данных
- Сортируйте данные. Выделите обе колонки (A и B), затем перейдите во вкладку "Данные" и выберите "Сортировка". Выберите сортировку по столбцу B (случайные числа) в любом порядке (по возрастанию или убыванию).
Шаг 5: Извлечение случайных чисел
- Выберите 30 чисел. После сортировки выберите первые 30 чисел из столбца A. Это и будет ваш случайный выбор без повторений.
Примечания
- Метод с использованием функции
RAND()
эффективен даже для больших объемов данных. Он минимально подвержен ошибкам, и вероятность повторений крайне низка. - Не забудьте, что при каждом пересчете (например, при изменении чего-либо в таблице)
RAND()
будет пересчитываться, что приведет к изменению случайных значений. Если вам нужно зафиксировать набор случайных чисел, обязательно выполните "Специальную вставку".
Этот метод подходит для случаев, когда вам нужно провести случайный отбор без замены, оставаясь в рамках функций Excel. Удачи в вашей работе!