Инструмент Пакета анализа MS EXCEL «Выборка» извлекает случайную выборку из входного диапазона, рассматривая его как генеральную совокупность. Также случайную выборку можно извлечь с помощью формул.
Пусть имеется некая совокупность данных, которая слишком велика для обработки или построения диаграммы. Для этих целей можно использовать репрезентативную
выборку
из данной совокупности.
Данную
выборку
можно получить с помощью инструмента «Выборка»
надстройки Пакет анализа
(
Analysis
ToolPak
).
Надстройка доступна из вкладки
Данные
, группа
Анализ
.
СОВЕТ
: Подробнее о других инструментах надстройки
Пакет анализа
и ее подключении – читайте в статье
Надстройка Пакет анализа MS EXCEL
.
Случайная выборка
Разместим исходную
генеральную совокупность
в диапазоне
A7:A32
(см.
файл примера лист Пример
).
Для наглядности все значения совокупности сделаны
последовательными числами
.
Вызовем надстройку
Пакет анализа
, выберем инструмент
Выборка.
Нажмем ОК.
В появившемся диалоговом окне в поле
Входной интервал
введите ссылку на
A
7:
A
32
.
Если диапазон включает и заголовок, то нужно установить галочку в поле
Метки
. В нашем случае устанавливать галочку не требуется, т.к. заголовок столбца не входит в диапазон
A
7:
A
32
.
Метод выборки
установите
Случайный
, в поле
Число выборок
введите 6. Таким образом, из совокупности будет выбрано 6 чисел в случайном порядке (возможны повторы).
В поле
Выходной интервал
достаточно ввести ссылку на верхнюю ячейку диапазона с результатами (укажем ячейку
С7
). Нажмем ОК.
В результате работы надстройки, MS EXCEL разместил в
столбце
D
6 значений выбранных случайных образом из диапазона
A
7:
A
32
.
В принципе, количество случайных значений можно установить даже больше чем значений в исходной совокупности (безусловно, при этом будут повторы).
Аналогичную случайную выборку можно осуществить с помощью формулы
=ИНДЕКС($A$7:$A$32;СЛУЧМЕЖДУ(1;СЧЁТ($A$7:$A$32)))
Функция
СЛУЧМЕЖДУ()
случайным образом выбирает позицию совокупности, из которой нужно взять 1 значение (
для этой функции вероятность выбрать любую строку одинакова
).
Выборка с определенной периодичностью
С помощью инструмента «Выборка» можно осуществить выборку с определенной заданной периодичностью. В этом случае пользователь должен сам убедиться, что данная
выборка
будет репрезентативной (как минимум, исходная совокупность не должна быть
отсортирована
).
Установив в поле
Период
, например, значение 3, выведем каждое третье значение из
Входного интервала
.
Этот же результат можно получить формулой (см.
файл примера лист Пример
):
=ИНДЕКС($A$7:$A$32;$H$6*(СТРОКА()-СТРОКА($G$6)))
В ячейке
H6
содержится период
выборки
.
Если исходная совокупность имеет цикличность и упорядочена, то можно создать
выборку
, содержащую значения только из отдельной части цикла. Например, если входной диапазон содержит данные для квартальных продаж за несколько лет, то создание
выборки
с периодом равным 4 разместит в выходном интервале значения продаж только из заданного квартала.
Для
выборки
из всех кварталов кроме 4-го придется включить в исходную совокупность пустые ячейки. Например, для 3-го квартала нужно ввести в поле
Входной интервал
ссылку на
A
6:
A
32
, причем
А6
должна быть пустой ячейкой (или содержать фиктивное число).
Гораздо проще для этого использовать формулу (см.
файл примера лист Квартал
):
=ИНДЕКС($C$9:$C$32;4*(СТРОКА()-СТРОКА($F$8))-4+$F$6)
или
=СУММЕСЛИМН($C$9:$C$32;$A$9:$A$32;E9;$B$9:$B$32;$F$6&» кв.»)
Примечание
: Для наглядности строки, относящиеся к нужному кварталу, выделены
Условным форматированием
.
Выборка из нормального распределения
Пусть имеется
генеральная совокупность
из 5000 значений случайной величины имеющей
стандартное нормальное распределение
(см.
файл примера лист Выборка из НОРМ
).
Примечание
: Случайные значения сгенерированы с помощью формулы
=НОРМ.СТ.ОБР(СЛЧИС())
Построим
гистограммы распределения
для
генеральной совокупности
и
выборки
размером 200.
Это удобнее сделать с помощью формулы
=ИНДЕКС($A$7:$A$5006; СЛУЧМЕЖДУ(1;СЧЁТ($A$12:$A$5006)))
При каждый раз пересчете листа будет извлекаться новая
выборка
.
Т.к. значений в
выборке
значительно меньше, то и ее
гистограмма
визуально отличается от
гистограммы
генеральной совокупности
.
Загрузить PDF
Загрузить PDF
Из этой статьи вы узнаете, как в Excel создать случайную выборку на основе имеющихся данных. Случайные выборки позволяют создавать объективные выборки генеральной совокупности данных.
-
1
Запустите программу Microsoft Excel. Также можно открыть существующую таблицу Excel, если в ней содержится нужная совокупность данных.
-
2
Выберите Новый документ. Если вы открываете существующую таблицу, пропустите этот шаг.
-
3
Введите данные. Для этого щелкайте по нужным ячейкам и вводите данные.
- Этот процесс зависит от типа данных, но рекомендуем начать вводить данные в столбце «A».
- Например, введите имена пользователей в столбце «А», а их ответы (например, «да» или «нет») в столбце «В».
-
4
Убедитесь, что вы ввели все необходимые данные. Если это так, можно приступить к созданию случайной выборки.
Реклама
-
1
Щелкните правой кнопкой мыши по букве самого левого столбца. Например, если данные начинаются в столбце «A», щелкните правой кнопкой мыши по «A» в верхней части страницы.
-
2
Нажмите Вставить. Слева от выделенного столбца появится пустой (новый) столбец.
- Теперь столбец, который был столбцом «А», станет столбцом «B» и так далее.
-
3
Щелкните по ячейке A1. Она находится в новом (пустом) столбце.
-
4
Введите «=СЛЧИС()» в выбранной ячейке (кавычки не вводите). Функция «СЛЧИС» добавит в ячейку случайное число от 0 до 1. [1]
- Если Excel автоматически изменит формат функции «СЛЧИС», удалите ее, а затем повторно введите.
-
5
Нажмите ↵ Enter. В выбранной ячейке отобразится случайная десятичная дробь (например, 0,5647).
-
6
Выберите ячейку со случайным числом.
-
7
Удерживайте Control и нажмите C. Функция «СЛЧИС» будет скопирована в буфер обмена.
- На компьютере под управлением Mac удерживайте ⌘ Command вместо Control.
- Также можно щелкнуть правой кнопкой мыши по ячейке с функцией «СЛЧИС», а затем в меню выбрать Копировать.
-
8
Выберите ячейку под ячейкой со случайным числом. Вероятно, это будет ячейка A2.
- Щелчок по ячейке A1 и ее выделение могут привести к ошибке сортировки.
-
9
Выделите остальные ячейки случайной выборки. Для этого удерживаете ⇧ Shift и нажмите на последнюю ячейку того же столбца.
- Например, если данные расположены в столбцах «B» и «C» и в строках с 1 по 100, удерживайте ⇧ Shift и щелкните по A100, чтобы выделить ячейки с A2 до A100 столбца «А».
-
10
Удерживайте Control и коснитесь V. В выделенные ячейки (в нашем примере от A2 до A100) будет вставлена функция «СЛЧИС». Теперь отсортируйте данные, используя случайные числа, чтобы изменить порядок результатов.
- На компьютере Mac удерживайте ⌘ Command вместо Control.
Реклама
-
1
Выберите верхнюю левую ячейку. В большинстве случаев это будет ячейка A1. Чтобы отсортировать выборку, необходимо выделить все данные.
- Также нужно выделить случайные числа, которые находятся в столбце слева от столбцов с данными.
-
2
Удерживайте ⇧ Shift и щелкните по нижней правой ячейке. Будут выбраны все данные.
- Например, если данные расположены в столбцах «B» и «C» и в строках с 1 по 50, щелкните по ячейке C50, удерживая нажатой ⇧ Shift.
- Также можно удерживать клавишу мыши и перетащить курсор из левого верхнего угла в правый нижний угол данных (или наоборот), чтобы выделить их.
-
3
Щелкните правой кнопкой мыши по данным. Откроется контекстное меню с опциями, с помощью которых данные можно отсортировать.
- На компьютере Mac щелкните двумя пальцами (или удерживайте Ctrl и нажмите кнопку мыши), чтобы открыть контекстное меню.
-
4
Наведите курсор на Сортировка.
-
5
Нажмите Сортировка от минимального к максимальному. Также можно выбрать опцию Сортировка от максимального к минимальному — важно только то, что данные будут упорядочены случайным образом в соответствии со значениями функции «=СЛЧИС()» в столбце «A».
-
6
Просмотрите результаты сортировки. Этот процесс зависит от того, какое количество результатов вам нужно. Тем не менее, с отсортированными данными можно сделать следующее:
- Выберите первую, последнюю или центральную половину данных. Если половина данных включает чрезмерное количество значений, выберите меньшую долю данных (например, одну восьмую данных).
- Выберите все нечетные или четные данные. Например, если данные состоят из последовательного набора чисел от 1 до 10, выберите числа 1, 3, 5, 7, 9 или числа 2, 4, 6, 8, 10.
- Выберите несколько случайных данных. Этот метод подойдет для больших наборов данных, когда даже их половина включает чрезмерное количество значений.
-
7
Выберите данные, которые войдут в случайную выборку. Так вы получите объективную выборку для анализа опроса, раздачи продукта или чего-то подобного.
Реклама
Советы
- Если на компьютере нет Microsoft Excel, в интернете есть другие аналогичные бесплатные программы (например, Google Таблицы или Outlook Excel), в которых можно создать случайную выборку.
- Существуют мобильные версии Excel для iPhone и Android-устройств, поэтому создавать электронные таблицы можно «на ходу».
Реклама
Предупреждения
- Если не пользоваться случайной выборкой для получения результата (например, при опросе после обновления услуг), он будет предвзятыми и, следовательно, неточными.
Реклама
Об этой статье
Эту страницу просматривали 23 353 раза.
Была ли эта статья полезной?
Случайная выборка
Нечастая, но интересная задача: выбрать из массива данных (списка) случайным образом N элементов. Причин для ее возникновения может быть несколько, например:
- Объем данных слишком велик, поэтому мы удовлетворяемся анализом случайной выборки из полного набора данных.
- Выбор победителей из числа участников какого-либо конкурса или лотереи.
В любом случае перед нами стоит задача отобрать случайным образом заданное количество элементов из какого-либо набора (например, вот такого):
Способ 1. Случайная сортировка
Добавить к нашему списку еще один столбец и вставить в него функцию генерации случайных чисел СЛЧИС (RAND). Затем отсортировать наш список по добавленному столбцу (Данные — Сортировка) и взять N первых элементов из получившейся таблицы:
Минусы такого способа очевидны — придется вручную каждый раз пересортировывать список, если нам необходимо будет сделать другую случайную выборку. В плюсах — простота и доступность.
Способ 2. Функция НАИМЕНЬШИЙ
Этот способ заключается в использовании функции НАИМЕНЬШИЙ (SMALL) для выбора из списка N позиций с наименьшим случайным числом в столбце А:
После выбора пяти (в нашем примере) наименьших случайных чисел из столбца А, мы вытаскиваем имена, которые соответствуют этим числам с помощью функции ВПР (VLOOKUP).
Способ 3. Случайная выборка без повторов — функция Lotto на VBA
Можно создать простую функцию на VBA, которая будет выдавать заданное количество случайных чисел из нужного интервала. Откроем редактор Visual Basic (ALT+F11 или в старых версиях Excel через меню Сервис — Макрос — Редактор Visual Basic), вставим новый модуль через меню Insert — Module и скопируем туда текст вот такой функции:
Function Lotto(Bottom As Integer, Top As Integer, Amount As Integer) Dim iArr As Variant Dim i As Integer Dim r As Integer Dim temp As Integer Dim Out(1000) As Variant Application.Volatile ReDim iArr(Bottom To Top) For i = Bottom To Top iArr(i) = i Next i For i = Top To Bottom + 1 Step -1 r = Int(Rnd() * (i - Bottom + 1)) + Bottom temp = iArr(r) iArr(r) = iArr(i) iArr(i) = temp Next i j = 0 For i = Bottom To Bottom + Amount - 1 Out(j) = iArr(i) j = j + 1 Next i Lotto = Application.Transpose(Out) End Function
У этой функции будет три аргумента:
- Bottom — нижняя граница интервала случайных чисел
- Top — верхняя граница интервала случайных чисел
- Amount — количество случайных чисел, которое мы хотим отобрать из интервала
Т.е., например, чтобы отобрать 5 случайных чисел от 10 до 100, нужно будет ввести =Lotto(10;100;5)
Теперь эту функцию легко использовать для отбора случайных значений. Добавим к нашему списку столбец с нумерацией и будем отбирать людей по случайным номерам, которые генерирует функция Lotto:
Обратите внимание, что наша функция Lotto должна быть введена как формула массива, т.е. сначала необходимо выделить диапазон ячеек результатов (D2:D6) затем ввести нашу функцио Lotto и, после ввода аргументов функции, нажать Ctrl+Shift+Enter, чтобы ввести эту функцию именно как функцию массива во все выделенные ячейки.
Ну, а дальше останется при помощи уже знакомой функции ВПР (VLOOKUP) вытащить имена из списка, соответствующие случайным номерам.
Ссылки по теме
- Использование функции ВПР (VLOOKUP) для подстановки значений
- Создание макросов и пользовательских функций на VBA
- Функция RandomSelect из надстройки PLEX
Skip to content
Рассмотрим несколько быстрых способов случайного выбора имен, чисел или любых других данных. Вы также узнаете, как получить случайную выборку без дубликатов и как произвольным образом выбрать указанное количество или определённый процент ячеек, строк или столбцов.
Независимо от того, проводите ли вы исследование рынка для запуска нового продукта или оцениваете результаты своей маркетинговой кампании, важно использовать для анализа объективную выборку данных. И самый простой способ добиться этого — получить случайный выбор в Excel.
- Как произвольно выбрать одно значение из списка
- Как сделать случайный выбор без дубликатов
- Как перемешать и выбрать строки
- Инструмент для простого и быстрого случайного выбора ячеек, строк и столбцов
Что такое случайная выборка?
Прежде чем обсуждать методы выборки, давайте предоставим небольшую справочную информацию о случайном выборе и о том, когда целесообразно его использовать.
В теории вероятностей и статистике случайная выборка — это подмножество данных, выбранных из более крупного набора данных, также известного как генеральная совокупность . Каждый элемент случайной выборки выбирается совершенно произвольно и имеет равную вероятность быть выбранным. Зачем он вам нужен? В основном, чтобы получить непредвзятое представление обо всей совокупности.
Например, вы хотите провести небольшой опрос среди своих клиентов. Очевидно, было бы неразумно рассылать анкету каждому человеку в вашей большой базе данных. Итак, кого вы побеспокоите своими вопросами? Будет ли это 100 новых клиентов, или первые 100 клиентов, перечисленные в алфавитном порядке, или 100 человек с самыми короткими именами? Ни один из этих подходов не соответствует вашим потребностям, потому что они изначально субъективны. Чтобы получить беспристрастную выборку, в которой у всех клиентов есть равные возможности быть выбранными, произведите случайный выбор, используя один из методов, описанных ниже.
Случайный выбор значения из списка
В Excel нет встроенной функции для случайного выбора ячеек, но вы можете использовать одну из функций для генерации случайных чисел в качестве временного решения. Их, наверное, нельзя назвать простыми и интуитивно понятными формулами, но они работают.
Предположим, у вас есть список имен в ячейках A2:A15, и вы хотите выбрать одно из них. Это можно сделать с помощью одной из следующих формул:
=ИНДЕКС($A$2:$A$15;СЛУЧМЕЖДУ(1;СЧЁТЗ($A$2:$A$15)))
или
=ИНДЕКС($A$2:$A$15;СЛУЧМЕЖДУ(1;ЧСТРОК($A$2:$A$15)))
Вот и все! Средство выбора случайных имен для Excel настроено и готово к работе:
Примечание. Имейте в виду, что СЛУЧМЕЖДУ – это непостоянная функция, то есть она будет пересчитываться при каждом изменении, которое вы вносите в рабочий лист. В результате ваш случайный выбор из списка также будет постоянно меняться. Чтобы этого не произошло, вы можете скопировать извлеченное имя и вставить его как значение в другую ячейку (Специальная вставка > Значения).
Естественно, эти формулы могут не только выбирать случайные имена, но также и случайные числа, даты или любые другие данные из ячеек.
Как работают эти формулы
Мы используем функцию ИНДЕКС для извлечения значения из списка на основе случайного порядкового номера, возвращаемого СЛУЧМЕЖДУ.
То есть, функция СЛУЧМЕЖДУ генерирует случайное целое число между двумя указанными вами значениями. Для нижнего порога вы указываете число 1. Для верхнего — используете СЧЁТЗ() или ЧСТРОК(), чтобы получить общее количество ячеек с данными. В результате СЛУЧМЕЖДУ() возвращает случайный номер ячейки в вашем наборе данных. Этот номер передается в функцию ИНДЕКС, сообщая ей, какую по счёту ячейку выбрать. Второй аргумент (номер столбца) можно не указывать, поскольку он у нас только один.
Примечание. Этот метод хорошо подходит для выбора одного случайного значения из списка. Если ваш выбор должен включать несколько результатов, приведенная выше формула может возвращать несколько вхождений одного и того же значения, поскольку функция СЛУЧМЕЖДУ не защищена от дубликатов. Это особенно актуально, когда вы выбираете относительно большую выборку из относительно небольшого списка.
Эту задачу можно также решить с помощью формулы
=ИНДЕКС($A$2:$A$15;СЛУЧМЕЖДУ(1;СЧЁТ($A$2:$A$15)))
Функция СЛУЧМЕЖДУ() случайным образом выбирает позицию списка, из которой нужно взять одно значение ( для этой функции вероятность выбрать любую строку одинакова).
Если скопировать эту формулу вниз по столбцу, то будет выбрано несколько значений из списка. Однако, есть подводный камень: есть вероятность выбора несколько одинаковых значений, то есть получения дубликатов. Особенно, если ваш список относительно небольшой.
В следующем примере показано, как сделать случайный выбор в Excel без дубликатов.
Случайный выбор без дубликатов.
Есть несколько способов выбрать случайные данные без дубликатов в Excel. К примеру, вы должны использовать функцию СЛЧИС, чтобы присвоить случайное число каждой ячейке, а затем выбрать несколько ячеек с помощью формулы индекса ранга.
Со списком имен в ячейках A2: A16 выполните следующие действия, чтобы извлечь несколько имен:
- Введите формулу случайного числа в B2 и скопируйте ее вниз по столбцу:
=СЛЧИС() - Поместите приведенную ниже формулу в C2, чтобы извлечь случайное значение из столбца A:
=ИНДЕКС($A$2:$A$16;РАНГ(B2;$B$2:$B$16))
- Скопируйте приведенную выше формулу в столько ячеек, сколько случайных значений вы хотите выбрать. В нашем примере мы копируем формулу еще в четыре ячейки (C2: C6).
Вот и все! Извлекаются пять имен без повторов:
Как работает эта формула
Как и в предыдущем примере, вы используете функцию ИНДЕКС для извлечения значения из столбца A на основе номера позиции. Для этого требуются две разные функции:
- Формула СЛЧИС() заполняет столбец B случайными числами.
- Функция РАНГ() возвращает ранг случайного числа из колонки B и из той же строки. Например, РАНГ(B2;$B$2:$B$16) получает ранг числа из B2 (0,188906401). B2 сравнивается со всеми числами из диапазона $B$2:$B$16. Оно занимает по величине 13-е место. При копировании в C3 относительная ссылка B2 изменяется на B3 и возвращает ранг числа из B3 и так далее.
- Число, возвращаемое функцией РАНГ(), передается функции INDEX, поэтому она выбирает значение из соответствующей позиции. Значит, в С3 нужно поместить 13-е по порядку значение из диапазона $A$2:$A$16.
Предупреждение! Как показано на скриншоте выше, наша случайная выборка Excel содержит только уникальные значения. Теоретически вероятность появления дубликатов здесь очень мала, но все же существует. И вот почему: в очень большом наборе данных СЛЧИС() может сгенерировать повторяющиеся числа, а РАНГ() будет возвращать одинаковое место для этих чисел. Лично у меня во время тестов ни разу не было дубликатов, но теоретически такая вероятность есть.
Если вы ищете железобетонно надёжную формулу для случайного выбора только с уникальными значениями, используйте комбинацию РАНГ + СЧЁТЕСЛИ вместо просто РАНГ.
Полная формула немного громоздка, но на 100% не содержит дубликатов:
=ИНДЕКС($A$2:$A$16;РАНГ.РВ(B2;$B$2:$B$16)+СЧЁТЕСЛИ($B$2:B2;B2)-1;1)
Примечания:
- Как и СЛУЧМЕЖДУ(), функция СЛЧИС() в Excel также пересоздает новые числа при каждом пересчете вашего рабочего листа, что приводит к изменению набора выбора. Чтобы результат оставался неизменным, скопируйте его и вставьте в другое место как значение (Специальная вставка > Значения).
- Если одно и то же имя (число, дата или любое другое значение) встречается в исходном наборе данных более одного раза, результат может также содержать несколько вхождений одного и того же значения.
А вот еще одно похожее на предыдущее решение, в котором используется функция НАИМЕНЬШИЙ().
Рядом со столбцом значений для выборки добавляем столбец случайных чисел. Как обычно, используем для этого функцию СЛЧИС().
Предположим, нам нужно выбрать 5 имён. Для этого в колонке С записываем цифры от 1 до 5.
Далее используем формулу
=ИНДЕКС($A$2:$A$15;ПОИСКПОЗ(НАИМЕНЬШИЙ($B$2:$B$15;C2),$B$2:$B$15;0))
Поясним, как это работает. При помощи функции НАИМЕНЬШИЙ() выбираем самое маленькое значение из сгенерированных чисел. Функция ПОИСКПОЗ помогает нам определить его позицию в списке. И затем при помощи ИНДЕКС() извлекаем имя, находящееся в этой позиции.
При копировании вниз по столбцу следующая формула будет брать второе наименьшее значение из списка случайных чисел, и так далее.
Но можно сэкономить себе время и не создавать колонку с порядковыми номерами. В качестве счётчика принято использовать функцию СТРОКА().
=ИНДЕКС($A$2:$A$15;ПОИСКПОЗ(НАИМЕНЬШИЙ($B$2:$B$15;СТРОКА(A1));$B$2:$B$15;0))
При копировании вниз СТРОКА(A1) изменится на СТРОКА(А2) и соответственно возвратит номер 2. И так далее. В остальном всё работает точно так же.
Думаю, вы понимаете, что вместо НАИМЕНЬШИЙ() можно вполне использовать НАИБОЛЬШИЙ(). Дело вкуса 😊.
Как выбрать случайные строки в Excel
Если ваш рабочий лист содержит более одного столбца данных, вы можете получить набор значений следующим образом: назначить какое-то число каждой строке, отсортировать эти числа и выбрать необходимое количество строк. Подробные инструкции приведены ниже.
- Вставьте новый столбец справа или слева от вашей таблицы (столбец D в этом примере).
- В первой ячейке вставленного столбца, исключая заголовки столбцов, введите формулу =СЛЧИС()
- Дважды щелкните маркер заполнения, чтобы скопировать формулу вниз по столбцу. В результате в каждой строке будет записано случайное число.
- Сортировка этих чисел от наибольшего к наименьшему (сортировка в порядке возрастания переместит заголовки столбцов в нижнюю часть таблицы, поэтому обязательно выполняйте сортировку по убыванию). Для этого перейдите на вкладку Данные в группу Сортировка и фильтр и нажмите кнопку Сортировка. Excel автоматически расширит выделение и предложит выбрать столбец и порядок сортировки.
Вы можете для экономии времени использовать кнопки сортировки АЯ или ЯА, но при этом курсор нужно обязательно установить на столбец с формулой СЛЧИС(). Заголовок колонки желательно написать по-русски, иначе он имеет шансы переместиться в конец таблицы.
Теперь осталось нажать ОК, и строки таблицы будут пересортированы и произвольно перемешаны.
Пусть вас не смущает тот факт, что после сортировки по столбцу D вы видите в нем совершенно не упорядоченные числа. Дело в том, что сортировка меняет порядок строк, и тут же вновь происходит пересчёт всех формул СЛЧИС(). Но ведь наша задача не отсортировать, а произвольно перемешать строки, не так ли?
Если вас не совсем устраивает рандомизация вашей таблицы, нажмите кнопку сортировки еще раз, чтобы вновь перемешать её.
- Наконец, выберите необходимое количество строк для вашей выборки, скопируйте их в буфер обмена и вставьте куда хотите.
Как случайно выбрать в Excel с помощью инструмента Randomize.
Теперь, когда вы знаете несколько формул для получения случайной выборки в Excel, давайте посмотрим, как можно добиться того же результата буквально одним щелчком мыши.
Если в вашем Excel установлена надстройка Ultimate Suite , вы можете использовать инструмент случайной сортировки. Для этого делаете следующее:
- Выберите любую ячейку в вашей таблице.
- Перейдите на вкладку AblebitsTools > Utilites и нажмите кнопки Randomize > Select Randomly (Случайный выбор):
Слева появится панель настройки, о которой следует сказать чуть подробнее.
Поясним, что скрывается за каждой из цифр.
- По умолчанию будет выбран весь ваш диапазон данных. Выберите другой диапазон, выделив его при помощи мышки или введя адрес в это поле.
- Если вы изменили диапазон, снова выделите всю таблицу, щелкнув значок «Развернуть выделение» .
- Вы можете исключить строки заголовков из выбора, если таковые есть, установив флажок Моя таблица имеет 1 строку заголовка .
Замечание. Если в вашей таблице более широкий заголовок, кликните по этой надписи, введите реальное количество строк, и они не будут выделены и использованы.
- Откройте нужный раздел, который вам больше всего подходит, чтобы произвольно выбрать:
- некоторое количество или процент строк.
- аналогично — столбцы на листе.
- несколько или какую-то часть ячеек из вашего диапазона.
- Укажите количество или процент строк, столбцов или ячеек, которые вы хотите выбрать. Вы можете ввести необходимое значение в процентное или числовое поле соответственно. Или установите эти значения, щелкая стрелки вверх и вниз рядом с полями.
- Ознакомившись с панелью надстройки, выберите, что нужно получить: случайные строки, столбцы или ячейки.
- Укажите число или процент для желаемого размера выборки.
- Нажмите кнопку Select.
Например, вот как мы можем выбрать 5 случайных строк из нашего набора данных:
И через секунду вы получите случайный выбор:
Теперь вы можете нажать Ctrl + C
чтобы скопировать выделенное, а затем использовать комбинацию Ctrl + V
, чтобы вставить это в нужное место на том же или другом листе.
Совершенно аналогичным образом вы можете сделать случайную выборку столбцов или отдельных ячеек. И точно так же скопировать их в нужное место. Не нужно ни формул, ни дополнительных столбцов. Всего пара кликов.
Если вы хотите протестировать инструмент «Случайный выбор» на своих данных, загрузите полнофункциональную пробную версию Ultimate Suite for Excel.
Если у вас еще остались вопросы относительно случайного выбора из списка либо перемешивания ячеек и строк в произвольном порядке — пишите в комментариях.
Содержание
- 1 Выполнение выборки
- 1.1 Способ 1: применение расширенного автофильтра
- 1.2 Способ 2: применение формулы массива
- 1.3 Способ 1. Случайная сортировка
- 1.4 Способ 2. Функция НАИМЕНЬШИЙ
- 1.5 Способ 3. Случайная выборка без повторов — функция Lotto на VBA
- 1.6 Ссылки по теме
При работе с таблицами Excel довольно часто приходится проводить отбор в них по определенному критерию или по нескольким условиям. В программе сделать это можно различными способами при помощи ряда инструментов. Давайте выясним, как произвести выборку в Экселе, используя разнообразные варианты.
Выполнение выборки
Выборка данных состоит в процедуре отбора из общего массива тех результатов, которые удовлетворяют заданным условиям, с последующим выводом их на листе отдельным списком или в исходном диапазоне.
Способ 1: применение расширенного автофильтра
Наиболее простым способом произвести отбор является применение расширенного автофильтра. Рассмотрим, как это сделать на конкретном примере.
- Выделяем область на листе, среди данных которой нужно произвести выборку. Во вкладке «Главная» щелкаем по кнопке «Сортировка и фильтр». Она размещается в блоке настроек «Редактирование». В открывшемся после этого списка выполняем щелчок по кнопке «Фильтр».
Есть возможность поступить и по-другому. Для этого после выделения области на листе перемещаемся во вкладку «Данные». Щелкаем по кнопке «Фильтр», которая размещена на ленте в группе «Сортировка и фильтр».
- После этого действия в шапке таблицы появляются пиктограммы для запуска фильтрования в виде перевернутых острием вниз небольших треугольников на правом краю ячеек. Кликаем по данному значку в заглавии того столбца, по которому желаем произвести выборку. В запустившемся меню переходим по пункту «Текстовые фильтры». Далее выбираем позицию «Настраиваемый фильтр…».
- Активируется окно пользовательской фильтрации. В нем можно задать ограничение, по которому будет производиться отбор. В выпадающем списке для столбца содержащего ячейки числового формата, который мы используем для примера, можно выбрать одно из пяти видов условий:
- равно;
- не равно;
- больше;
- больше или равно;
- меньше.
Давайте в качестве примера зададим условие так, чтобы отобрать только значения, по которым сумма выручки превышает 10000 рублей. Устанавливаем переключатель в позицию «Больше». В правое поле вписываем значение «10000». Чтобы произвести выполнение действия, щелкаем по кнопке «OK».
- Как видим, после фильтрации остались только строчки, в которых сумма выручки превышает 10000 рублей.
- Но в этом же столбце мы можем добавить и второе условие. Для этого опять возвращаемся в окно пользовательской фильтрации. Как видим, в его нижней части есть ещё один переключатель условия и соответствующее ему поле для ввода. Давайте установим теперь верхнюю границу отбора в 15000 рублей. Для этого выставляем переключатель в позицию «Меньше», а в поле справа вписываем значение «15000».
Кроме того, существует ещё переключатель условий. У него два положения «И» и «ИЛИ». По умолчанию он установлен в первом положении. Это означает, что в выборке останутся только строчки, которые удовлетворяют обоим ограничениям. Если он будет выставлен в положение «ИЛИ», то тогда останутся значения, которые подходят под любое из двух условий. В нашем случае нужно выставить переключатель в положение «И», то есть, оставить данную настройку по умолчанию. После того, как все значения введены, щелкаем по кнопке «OK».
- Теперь в таблице остались только строчки, в которых сумма выручки не меньше 10000 рублей, но не превышает 15000 рублей.
- Аналогично можно настраивать фильтры и в других столбцах. При этом имеется возможность сохранять также фильтрацию и по предыдущим условиям, которые были заданы в колонках. Итак, посмотрим, как производится отбор с помощью фильтра для ячеек в формате даты. Кликаем по значку фильтрации в соответствующем столбце. Последовательно кликаем по пунктам списка «Фильтр по дате» и «Настраиваемый фильтр».
- Снова запускается окно пользовательского автофильтра. Выполним отбор результатов в таблице с 4 по 6 мая 2016 года включительно. В переключателе выбора условий, как видим, ещё больше вариантов, чем для числового формата. Выбираем позицию «После или равно». В поле справа устанавливаем значение «04.05.2016». В нижнем блоке устанавливаем переключатель в позицию «До или равно». В правом поле вписываем значение «06.05.2016». Переключатель совместимости условий оставляем в положении по умолчанию – «И». Для того, чтобы применить фильтрацию в действии, жмем на кнопку «OK».
- Как видим, наш список ещё больше сократился. Теперь в нем оставлены только строчки, в которых сумма выручки варьируется от 10000 до 15000 рублей за период с 04.05 по 06.05.2016 включительно.
- Мы можем сбросить фильтрацию в одном из столбцов. Сделаем это для значений выручки. Кликаем по значку автофильтра в соответствующем столбце. В выпадающем списке щелкаем по пункту «Удалить фильтр».
- Как видим, после этих действий, выборка по сумме выручки будет отключена, а останется только отбор по датам (с 04.05.2016 по 06.05.2016).
- В данной таблице имеется ещё одна колонка – «Наименование». В ней содержатся данные в текстовом формате. Посмотрим, как сформировать выборку с помощью фильтрации по этим значениям.
Кликаем по значку фильтра в наименовании столбца. Последовательно переходим по наименованиям списка «Текстовые фильтры» и «Настраиваемый фильтр…».
- Опять открывается окно пользовательского автофильтра. Давайте сделаем выборку по наименованиям «Картофель» и «Мясо». В первом блоке переключатель условий устанавливаем в позицию «Равно». В поле справа от него вписываем слово «Картофель». Переключатель нижнего блока так же ставим в позицию «Равно». В поле напротив него делаем запись – «Мясо». И вот далее мы выполняем то, чего ранее не делали: устанавливаем переключатель совместимости условий в позицию «ИЛИ». Теперь строчка, содержащая любое из указанных условий, будет выводиться на экран. Щелкаем по кнопке «OK».
- Как видим, в новой выборке существуют ограничения по дате (с 04.05.2016 по 06.05.2016) и по наименованию (картофель и мясо). По сумме выручки ограничений нет.
- Полностью удалить фильтр можно теми же способами, которые использовались для его установки. Причем неважно, какой именно способ применялся. Для сброса фильтрации, находясь во вкладке «Данные» щелкаем по кнопке «Фильтр», которая размещена в группе «Сортировка и фильтр».
Второй вариант предполагает переход во вкладку «Главная». Там выполняем щелчок на ленте по кнопке «Сортировка и фильтр» в блоке «Редактирование». В активировавшемся списке нажимаем на кнопку «Фильтр».
При использовании любого из двух вышеуказанных методов фильтрация будет удалена, а результаты выборки – очищены. То есть, в таблице будет показан весь массив данных, которыми она располагает.
Урок: Функция автофильтр в Excel
Способ 2: применение формулы массива
Сделать отбор можно также применив сложную формулу массива. В отличие от предыдущего варианта, данный метод предусматривает вывод результата в отдельную таблицу.
- На том же листе создаем пустую таблицу с такими же наименованиями столбцов в шапке, что и у исходника.
- Выделяем все пустые ячейки первой колонки новой таблицы. Устанавливаем курсор в строку формул. Как раз сюда будет заноситься формула, производящая выборку по указанным критериям. Отберем строчки, сумма выручки в которых превышает 15000 рублей. В нашем конкретном примере, вводимая формула будет выглядеть следующим образом:
=ИНДЕКС(A2:A29;НАИМЕНЬШИЙ(ЕСЛИ(15000
1Приготовьте данные в Excel. Определите количество рядов и колонок в вашем наборе.
- Вставьте 2 пустых колонки в левую часть вашей таблицы.
Для этого нажмите правой кнопкой мыши на колонку А и нажмите Вставить (2 раза).
- Вы можете нажать на кнопку Insert или нажать на кнопку Вставка в меню, а затем выбрать Столбец.
-
Вставьте в первую пустую клетку функцию генерации случайных чисел СЛЧИС (RAND, если у вас английская версия).
-
Скопируйте этот код и вставьте его во все клетки первого столбца. Теперь в каждой клетке стоит случайное число.
-
Выделите целый столбец случайных чисел. Скопируйте их.
- Вставьте случайные числа в столбец В.
Убедитесь, что вы выбрали опцию Вставить особенный элемент, а затем выбрали опцию Значение. Тогда Excel скопирует значение, но не формулу.
- Формула пересчитывает случайные числа, когда вы вводите изменения в ваш документ. Если вы скопируете значения и вставите их во второй столбец, они не будут изменяться.
- Сортируйте случайные значения.
Выделите столбец В. Нажмите на иконку сортировки, выберите сортировку по восходящей.
- Убедитесь, что вы выбрали опцию Расширить выделение, а затем нажмите на кнопку Сортировать.
- Теперь вы можете удалить столбцы А и В. Они вам больше не понадобятся, если вы больше не будете сортировать выделенное.
-
Выделите свою выборку. Вы можете выбрать любое количество клеток и столбцов. Начните выделять данные с верхней части списка. Выделенные данные будут случайным образцом или случайной выборкой.
Нечастая, но интересная задача: выбрать из массива данных (списка) случайным образом N элементов. Причин для ее возникновения может быть несколько, например:
- Объем данных слишком велик, поэтому мы удовлетворяемся анализом случайной выборки из полного набора данных.
- Выбор победителей из числа участников какого-либо конкурса или лотереи.
В любом случае перед нами стоит задача отобрать случайным образом заданное количество элементов из какого-либо набора (например, вот такого):
Способ 1. Случайная сортировка
Добавить к нашему списку еще один столбец и вставить в него функцию генерации случайных чисел СЛЧИС (RAND). Затем отсортировать наш список по добавленному столбцу (Данные — Сортировка) и взять N первых элементов из получившейся таблицы:
Минусы такого способа очевидны — придется вручную каждый раз пересортировывать список, если нам необходимо будет сделать другую случайную выборку. В плюсах — простота и доступность.
Способ 2. Функция НАИМЕНЬШИЙ
Этот способ заключается в использовании функции НАИМЕНЬШИЙ (SMALL) для выбора из списка N позиций с наименьшим случайным числом в столбце А:
После выбора пяти (в нашем примере) наименьших случайных чисел из столбца А, мы вытаскиваем имена, которые соответствуют этим числам с помощью функции ВПР (VLOOKUP).
Способ 3. Случайная выборка без повторов — функция Lotto на VBA
Можно создать простую функцию на VBA, которая будет выдавать заданное количество случайных чисел из нужного интервала. Откроем редактор Visual Basic (ALT+F11 или в старых версиях Excel через меню Сервис — Макрос — Редактор Visual Basic), вставим новый модуль через меню Insert — Module и скопируем туда текст вот такой функции:
Function Lotto(Bottom As Integer, Top As Integer, Amount As Integer) Dim iArr As Variant Dim i As Integer Dim r As Integer Dim temp As Integer Dim Out(1000) As Variant Application.Volatile ReDim iArr(Bottom To Top) For i = Bottom To Top iArr(i) = i Next i For i = Top To Bottom + 1 Step -1 r = Int(Rnd() * (i - Bottom + 1)) + Bottom temp = iArr(r) iArr(r) = iArr(i) iArr(i) = temp Next i j = 0 For i = Bottom To Bottom + Amount - 1 Out(j) = iArr(i) j = j + 1 Next i Lotto = Application.Transpose(Out) End Function
У этой функции будет три аргумента:
- Bottom — нижняя граница интервала случайных чисел
- Top — верхняя граница интервала случайных чисел
- Amount — количество случайных чисел, которое мы хотим отобрать из интервала
Т.е., например, чтобы отобрать 5 случайных чисел от 10 до 100, нужно будет ввести =Lotto(10;100;5)
Теперь эту функцию легко использовать для отбора случайных значений. Добавим к нашему списку столбец с нумерацией и будем отбирать людей по случайным номерам, которые генерирует функция Lotto:
Обратите внимание, что наша функция Lotto должна быть введена как формула массива, т.е. сначала необходимо выделить диапазон ячеек результатов (D2:D6) затем ввести нашу функцио Lotto и, после ввода аргументов функции, нажать Ctrl+Shift+Enter, чтобы ввести эту функцию именно как функцию массива во все выделенные ячейки.
Ну, а дальше останется при помощи уже знакомой функции ВПР (VLOOKUP) вытащить имена из списка, соответствующие случайным номерам.
Ссылки по теме
- Использование функции ВПР (VLOOKUP) для подстановки значений
- Создание макросов и пользовательских функций на VBA
- Функция RandomSelect из надстройки PLEX