Содержание
- 1 Случайная сортировка текстового массива
- 2 Порядок сортировки в Excel
- 3 Сортировка по цвету ячейки и по шрифту
- 4 Сортировка в Excel по нескольким столбцам
- 5 Сортировка строк в Excel
- 6 Случайная сортировка в Excel
- 7 Динамическая сортировка таблицы в MS Excel
- 7.1 Способ 1. Случайная сортировка
- 7.2 Способ 2. Функция НАИМЕНЬШИЙ
- 7.3 Способ 3. Случайная выборка без повторов — функция Lotto на VBA
- 7.4 Ссылки по теме
Случайная сортировка текстового массива
11 Dec 2015 | Автор: anchous |
Возникла тут надобность предоставить клиенту не поименный список, а смешать его для прохождения по нему случайным образом. Данные были представлены в виде тысячи текстовых строк.
Сначала долго думал как сделать случайную сортировку в Notepad++, но смог найти только какое то дикое шаманство с добавлением кавычек в конце строки через плагин TextFX (через который сортировка по алфавиту делается в два клика), поэтому обратился к Microsoft Excel.
В Excel сортировка случайным образом делается через генерацию списка случайных чисел и его последующую сортировку. Случайное число генерится в ячейке через функцию СЛЧИС()
То есть имеем скажем алфавитный список в столбце А, тогда в столбце Б делаем числовой формат и ставим 10 знаков после запятой (для максимальной рандомизации), после чего пишем в первой строчке =СЛЧИС() (в забугорном аналоге это вроде как функция RAND, но могу ошибаться), нажимаем Enter, после чего растягиваем её на весь столбец*.
***Если кто не знает, то при растягивании, функция автоматически дублируется в последующие ячейки (или продолжается ряд, скажем числовой). Для этого надо подвести курсор к нижнему правому углу ячейки, где он превращается в крестик, который зажимаем левой кнопкой мыши и растягиваем в нужно направлении.
В итоге у нас получается числовой столбец заполненный случайными цифрами, после чего мы сортируем книгу или нужные столбцы по нужному (в моем примере B). Делается это через раздел Данные -> Сортировка или, если у вас навигация вытащена в Главное, то Сортировка и фильтр -> Настраиваемая сортировка.
Надо заметить, что на моем списке в тыщу строк, он что то не очень хотел рандомизироваться (случайный порядок выстраивался скорее блоками, чем построчно), поэтому мне пришлось его скопировать в соседний столбец, чтобы он был представлен просто цифрами, а не выводом функции. После этого случайная сортировка сработала и он перемешался уже качественно – уж не знаю це фича или бага.
VN:F
Rating: 10.0/ (2 votes cast)
VN:F
Rating: +2 (from 2 votes)
Случайная сортировка текстового массива, 10.0 out of 10 based on 2 ratings
Теги: excel, Windows
Сортировка данных в Excel – инструмент для представления информации в удобном для пользователя виде.
Числовые значения можно отсортировать по возрастанию и убыванию, текстовые – по алфавиту и в обратном порядке. Доступны варианты – по цвету и шрифту, в произвольном порядке, по нескольким условиям. Сортируются столбцы и строки.
Существует два способа открыть меню сортировки:
- Щелкнуть правой кнопкой мыши по таблице. Выбрать «Сортировку» и способ.
- Открыть вкладку «Данные» — диалоговое окно «Сортировка».
Часто используемые методы сортировки представлены одной кнопкой на панели задач:
Сортировка таблицы по отдельному столбцу:
- Чтобы программа правильно выполнила задачу, выделяем нужный столбец в диапазоне данных.
- Далее действуем в зависимости от поставленной задачи. Если нужно выполнить простую сортировку по возрастанию/убыванию (алфавиту или обратно), то достаточно нажать соответствующую кнопку на панели задач. Когда диапазон содержит более одного столбца, то Excel открывает диалоговое окно вида: Чтобы сохранилось соответствие значений в строках, выбираем действие «автоматически расширить выделенный диапазон». В противном случае отсортируется только выделенный столбец – структура таблицы нарушится.
Если выделить всю таблицу и выполнить сортировку, то отсортируется первый столбец. Данные в строках станут в соответствии с положением значений в первом столбце.
Сортировка по цвету ячейки и по шрифту
Программа Excel предоставляет пользователю богатые возможности форматирования. Следовательно, можно оперировать разными форматами.
Сделаем в учебной таблице столбец «Итог» и «зальем» ячейки со значениями разными оттенками. Выполним сортировку по цвету:
- Выделяем столбец – правая кнопка мыши – «Сортировка».
- Из предложенного списка выбираем «Сначала ячейки с выделенным цветом».
- Соглашаемся «автоматически расширить диапазон».
Программа отсортировала ячейки по акцентам. Пользователь может самостоятельно выбрать порядок сортировки цвета. Для этого в списке возможностей инструмента выбираем «Настраиваемую сортировку».
В открывшемся окне вводим необходимые параметры:
Здесь можно выбрать порядок представления разных по цвету ячеек.
По такому же принципу сортируются данные по шрифту.
Сортировка в Excel по нескольким столбцам
Как задать порядок вторичной сортировки в Excel? Для решения этой задачи нужно задать несколько условий сортировки.
- Открываем меню «Настраиваемая сортировка». Назначаем первый критерий.
- Нажимаем кнопку «Добавить уровень».
- Появляются окошки для введения данных следующего условия сортировки. Заполняем их.
Программа позволяет добавить сразу несколько критериев чтобы выполнить сортировку в особом порядке.
Сортировка строк в Excel
По умолчанию сортируются данные по столбцам. Как осуществить сортировку по строкам в Excel:
- В диалоговом окне «Настраиваемой сортировки» нажать кнопку «Параметры».
- В открывшемся меню выбрать «Столбцы диапазона».
- Нажать ОК. В окне «Сортировки» появятся поля для заполнения условий по строкам.
Таким образом выполняется сортировка таблицы в Excel по нескольким параметрам.
Случайная сортировка в Excel
Встроенные параметры сортировки не позволяют расположить данные в столбце случайным образом. С этой задачей справится функция СЛЧИС.
Например, нужно расположить в случайном порядке набор неких чисел.
Ставим курсор в соседнюю ячейку (слева-справа, не важно). В строку формул вводим СЛЧИС(). Жмем Enter. Копируем формулу на весь столбец – получаем набор случайных чисел.
Теперь отсортируем полученный столбец по возрастанию /убыванию – значения в исходном диапазоне автоматически расположатся в случайном порядке.
Динамическая сортировка таблицы в MS Excel
Если применить к таблице стандартную сортировку, то при изменении данных она не будет актуальной. Нужно сделать так, чтобы значения сортировались автоматически. Используем формулы.
- Есть набор простых чисел, которые нужно отсортировать по возрастанию.
- Ставим курсор в соседнюю ячейку и вводим формулу: =НАИМЕНЬШИЙ(A:A;СТРОКА(A1)). Именно так. В качестве диапазона указываем весь столбец. А в качестве коэффициента – функцию СТРОКА со ссылкой на первую ячейку.
- Изменим в исходном диапазоне цифру 7 на 25 – «сортировка» по возрастанию тоже изменится.
Если необходимо сделать динамическую сортировку по убыванию, используем функцию НАИБОЛЬШИЙ.
Для динамической сортировки текстовых значений понадобятся формулы массива.
- Исходные данные – перечень неких названий в произвольном порядке. В нашем примере – список фруктов.
- Выделяем столбец и даем ему имя «Фрукты». Для этого в поле имен, что находится возле строки формул вводим нужное нам имя для присвоения его к выделенному диапазону ячеек.
- В соседней ячейке (в примере – в В5) пишем формулу: Так как перед нами формула массива, нажимаем сочетание Ctrl + Shift + Enter. Размножаем формулу на весь столбец.
- Если в исходный столбец будут добавляться строки, то вводим чуть модифицированную формулу: Добавим в диапазон «фрукты» еще одно значение «помело» и проверим:
Скачать формулы сортировки данных в Excel
Впоследствии при добавлении данных в таблицу процесс сортирования будет выполняться автоматически.
В Excel можно случайным образом выбрать трех победителей — 1-го, 2-го и 3-го — из списка в электронной таблице. Самый простой и честный способ сделать это — использовать функцию СЛЧИС (RAND) Excel совместно с его возможностями сортировки.
Предположим, что в вашей электронной таблице есть таблица из трех столбцов начиная со столбца В с заголовками столбцов Name, Age и ID No. Можно поместить функцию СЛЧИС (RAND) в ячейку А2 и скопировать ее вниз на необходимое количество строк до конца таблицы. Все ячейки в столбце А, в которые вы поместили функцию СЛЧИС (RAND), автоматически вернут случайное число, по которому вы сможете отсортировать таблицу. Другими словами, можно отсортировать столбцы А, В, С и D по столбцу А по возрастанию или убыванию, и тремя победителями будут три верхних имени.
Функция СЛЧИС (RAND) — это пересчитываемая функция, которая автоматически пересчитывается, какое бы действие в Excel ни произошло, — например, ввод данных или принудительный запуск пересчета клавишей F9. Поэтому лучше по-быстрее записать имена победителей.
Однако вы можете использовать эту непостоянность в своих целях и записать макрос, который будет сортировать данные сразу после того, как вы пересчитаете функции и выполните функцию СЛЧИС (RAND), чтобы вернуть очередной набор случайных чисел. Этот макрос можно назначить какой-либо кнопке, чтобы каждый раз когда понадобится выбрать трех победителей, пришлось бы только нажать кнопку и записать три верхних имени.
Предположим, например, у вас есть данные в столбцах В, С и D, и в строке 1 содержатся заголовки. Сначала в ячейку А1 поместите заголовок RAND. В ячейку А2 введите формулу =RAND()
и скопируйте ее вниз на необходимое количество ячеек. После этого выделите любую ячейку и выберите команду Разработчик → Начать запись (Developer → Record New Macro).
Выделите столбцы А, В, С и D и нажмите клавишу F9 (чтобы запустить пересчет). Выберите команду Данные → Сортировка (Home → Sort) и отсортируйте данные по столбцу А. Остановите запись макроса. Теперь выберите команду Файл → Панели инструментов → Формы (File → Toolbars → Forms). На этой панели инструментов выберите кнопку и поместите ее в любое место на рабочем листе. Назначьте этой кнопке только что записанный макрос и щелкните кнопку ОК. (Если хотите, измените текст на кнопке с Кнопка 1 (Button 1) на что-то более осмысленное.) Можно выделить столбец А и полностью скрыть его, так как пользователям не нужно видеть сгенерированные случайные числа. Каждый раз когда вы будете щелкать кнопку, данные будут сортироваться случайным образом и вы сможете просто прочитать три верхних имени победителей.
У функции
СЛЧИС (RAND) в Excel 2003 есть большой недостаток. Хотя в справке ясно указано, что возвращаются случайные числа от 0 до 1, это не всегда так, в частности, когда функция
СЛЧИС (RAND) используется в нескольких ячейках. Иногда она возвращает числа, меньшие 0. Прочитать объяснение Microsoft по поводу изменения алгоритма можно на сайте по адресу:
http://support.microsoft.com/default.aspx?kbid=828795
.
Нечастая, но интересная задача: выбрать из массива данных (списка) случайным образом 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
Отсортируем исходный массив текстовых значений в случайном порядке.
Пусть задан диапазон ячеек содержащий текстовые значения (
A2:A8
).
Задача
Отсортируем имена из диапазона
A2:A8
в случайном порядке. Новый список разместим в столбце
E
.
Решение
Чтобы отсортировать список в случайном порядке будем действовать следующим образом (см.
Файл примера
):
-
каждому значению списка сопоставим случайное число (для этого используем функцию
СЛЧИС()
), расположив его в соседнем столбце
C
; -
для каждого случайного числа из столбца
C
с помощью формулы
=РАНГ(C7;$C$7:$C$13)
определим ранг — величину относительно других значений в списке. Если отсортировать список, то ранг числа будет его позицией. Ранг разместим в столбце
D
; -
т.к. массив рангов представляет собой
массив порядковых чисел
1, 2, 3, 4, …, то будем интерпретировать их как позиции значения в массиве.
-
с помощью формулы
=ИНДЕКС($A$7:$A$13;D7)
получим список, отсортированный в случайном порядке (столбец
E
).
В случае наличия в массиве случайных чисел
повторов
функция
РАНГ()
вернет для этих величин одно и тоже значение ранга, что приведет к ошибке сортировки. К счастью, эта вероятность крайне мала: для исходного массива, состоящего из 100 элементов, вероятность повтора будет порядка 1,0Е-13 (10 в минус 13 степени). Для визуального контроля повторов можно использовать
Условное форматирование
(выделить требуемый диапазон, создать правило
Условного форматирования
).
Сортировка данных в Excel – инструмент для представления информации в удобном для пользователя виде.
Числовые значения можно отсортировать по возрастанию и убыванию, текстовые – по алфавиту и в обратном порядке. Доступны варианты – по цвету и шрифту, в произвольном порядке, по нескольким условиям. Сортируются столбцы и строки.
Порядок сортировки в Excel
Существует два способа открыть меню сортировки:
- Щелкнуть правой кнопкой мыши по таблице. Выбрать «Сортировку» и способ.
- Открыть вкладку «Данные» — диалоговое окно «Сортировка».
Часто используемые методы сортировки представлены одной кнопкой на панели задач:
Сортировка таблицы по отдельному столбцу:
- Чтобы программа правильно выполнила задачу, выделяем нужный столбец в диапазоне данных.
- Далее действуем в зависимости от поставленной задачи. Если нужно выполнить простую сортировку по возрастанию/убыванию (алфавиту или обратно), то достаточно нажать соответствующую кнопку на панели задач. Когда диапазон содержит более одного столбца, то Excel открывает диалоговое окно вида:
Чтобы сохранилось соответствие значений в строках, выбираем действие «автоматически расширить выделенный диапазон». В противном случае отсортируется только выделенный столбец – структура таблицы нарушится.
Если выделить всю таблицу и выполнить сортировку, то отсортируется первый столбец. Данные в строках станут в соответствии с положением значений в первом столбце.
Сортировка по цвету ячейки и по шрифту
Программа Excel предоставляет пользователю богатые возможности форматирования. Следовательно, можно оперировать разными форматами.
Сделаем в учебной таблице столбец «Итог» и «зальем» ячейки со значениями разными оттенками. Выполним сортировку по цвету:
- Выделяем столбец – правая кнопка мыши – «Сортировка».
- Из предложенного списка выбираем «Сначала ячейки с выделенным цветом».
- Соглашаемся «автоматически расширить диапазон».
Программа отсортировала ячейки по акцентам. Пользователь может самостоятельно выбрать порядок сортировки цвета. Для этого в списке возможностей инструмента выбираем «Настраиваемую сортировку».
В открывшемся окне вводим необходимые параметры:
Здесь можно выбрать порядок представления разных по цвету ячеек.
По такому же принципу сортируются данные по шрифту.
Сортировка в Excel по нескольким столбцам
Как задать порядок вторичной сортировки в Excel? Для решения этой задачи нужно задать несколько условий сортировки.
- Открываем меню «Настраиваемая сортировка». Назначаем первый критерий.
- Нажимаем кнопку «Добавить уровень».
- Появляются окошки для введения данных следующего условия сортировки. Заполняем их.
Программа позволяет добавить сразу несколько критериев чтобы выполнить сортировку в особом порядке.
Сортировка строк в Excel
По умолчанию сортируются данные по столбцам. Как осуществить сортировку по строкам в Excel:
- В диалоговом окне «Настраиваемой сортировки» нажать кнопку «Параметры».
- В открывшемся меню выбрать «Столбцы диапазона».
- Нажать ОК. В окне «Сортировки» появятся поля для заполнения условий по строкам.
Таким образом выполняется сортировка таблицы в Excel по нескольким параметрам.
Случайная сортировка в Excel
Встроенные параметры сортировки не позволяют расположить данные в столбце случайным образом. С этой задачей справится функция СЛЧИС.
Например, нужно расположить в случайном порядке набор неких чисел.
Ставим курсор в соседнюю ячейку (слева-справа, не важно). В строку формул вводим СЛЧИС(). Жмем Enter. Копируем формулу на весь столбец – получаем набор случайных чисел.
Теперь отсортируем полученный столбец по возрастанию /убыванию – значения в исходном диапазоне автоматически расположатся в случайном порядке.
Динамическая сортировка таблицы в MS Excel
Если применить к таблице стандартную сортировку, то при изменении данных она не будет актуальной. Нужно сделать так, чтобы значения сортировались автоматически. Используем формулы.
- Есть набор простых чисел, которые нужно отсортировать по возрастанию.
- Ставим курсор в соседнюю ячейку и вводим формулу: =НАИМЕНЬШИЙ(A:A;СТРОКА(A1)). Именно так. В качестве диапазона указываем весь столбец. А в качестве коэффициента – функцию СТРОКА со ссылкой на первую ячейку.
- Изменим в исходном диапазоне цифру 7 на 25 – «сортировка» по возрастанию тоже изменится.
Если необходимо сделать динамическую сортировку по убыванию, используем функцию НАИБОЛЬШИЙ.
Для динамической сортировки текстовых значений понадобятся формулы массива.
- Исходные данные – перечень неких названий в произвольном порядке. В нашем примере – список фруктов.
- Выделяем столбец и даем ему имя «Фрукты». Для этого в поле имен, что находится возле строки формул вводим нужное нам имя для присвоения его к выделенному диапазону ячеек.
- В соседней ячейке (в примере – в В5) пишем формулу: Так как перед нами формула массива, нажимаем сочетание Ctrl + Shift + Enter. Размножаем формулу на весь столбец.
- Если в исходный столбец будут добавляться строки, то вводим чуть модифицированную формулу: Добавим в диапазон «фрукты» еще одно значение «помело» и проверим:
Скачать формулы сортировки данных в Excel
Впоследствии при добавлении данных в таблицу процесс сортирования будет выполняться автоматически.
Возможно, вам придется случайным образом отсортировать выделенные ячейки в Microsoft Excel. Следующие способы помогут вам легко и быстро рандомизировать ячейки диапазона.
Сортировка ячеек в каждом столбце диапазона случайным образом с помощью функции Rand и команды Sort
Легко сортируйте ячейки в каждом столбце или строке диапазона случайным образом с помощью Kutools for Excel
Легко сортируйте целые строки или столбцы диапазона случайным образом с помощью Kutools for Excel
Легко сортировать все ячейки в диапазоне случайным образом с помощью Kutools for Excel
Сортировка ячеек в каждом столбце диапазона случайным образом с помощью функции Rand и команды Sort
Мы можем использовать функцию Rand и команду Sort в Microsoft Excel для случайной сортировки ячеек в каждом столбце диапазона, выполнив следующие действия:
1. Вставьте столбец справки перед диапазоном, в котором вы будете сортировать ячейки случайным образом.
2. Введите формулы = СЛЧИС () в первую ячейку столбца справки, затем перетащите маркер заполнения в другие ячейки (Внимание: Функция Rand будет пересчитываться каждый раз, поэтому в этом случае вы получите разные случайные числа от ячейки A1 до A6). Смотрите скриншот:
3. Выберите эту новую таблицу (A1: E6) и щелкните Данные > Сортировать.
3. в Сортировать диалоговое окно, выберите Колонка A из Сортировать по: раскрывающийся список, а затем щелкните OK кнопка. Смотрите скриншот:
4. Вы можете удалить или скрыть столбец справки по своему усмотрению.
5. Вставьте столбцы перед столбцом C, столбцом D и столбцом E и повторите шаги 2–4, чтобы получить новую таблицу со случайным порядком в каждом столбце, см. Снимок экрана:
Заметки:
1. Этот метод требует от пользователей многократной вставки случайных чисел и сортировки. Будет скучно, если вам нужно будет произвольно отсортировать ячейки в большой выборке.
2. Этот метод будет только произвольно сортировать ячейки в каждом столбце и не будет перетасовывать ячейки из разных столбцов.
Легко сортировать ячейки в каждом столбце или строке диапазона случайным образом с помощью Kutools for Excel
Если вы хотите отсортировать ячейки в каждом столбце или строке сразу, я рекомендую вам Сортировка / выбор диапазона случайным образом полезности Kutools for Excel. Этот удобный инструмент может рандомизировать ячейки в каждом столбце или строке выделенного фрагмента сразу в Excel. Пожалуйста, сделайте следующее
1. Выберите диапазон, который нужно отсортировать случайным образом, и нажмите Кутулс > Диапазон > Сортировка / выбор диапазона случайным образом. Смотрите скриншот:
2. в Сортировка / выбор диапазона случайным образом диалоговое окно, выберите Ячейки в каждой строке or Ячейки в каждом столбце как вам нужно под Сортировать и нажмите OK кнопку.
Внимание: Если вы хотите отсортировать ячейки с форматированием, установите флажок Сортировка с форматированием ячеек в Сортировка / выбор диапазона случайным образом диалоговое окно.
Затем выбранные ячейки сортируются случайным образом в каждой строке или столбце сразу, как показано ниже.
Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
Сортировать целые строки или столбцы диапазона случайным образом с помощью Kutools for Excel
Kutools for Excel‘s Сортировка Выбрать диапазон случайным образом Функция также может случайным образом сортировать целые строки или столбцы в выбранном фрагменте.
1. Выберите диапазон, который нужно отсортировать, и нажмите Кутулс > Диапазон > Сортировка / выбор диапазона случайным образом, см. снимок экрана:
2. в Сортировка / выбор диапазона случайным образом диалоговое окно, выберите Целые строки под Сортировать tab, если вы хотите отсортировать целые строки случайным образом. Или выберите Целые столбцы для случайной сортировки столбцов, а затем щелкните OK кнопка. Смотрите скриншот:
Теперь строки или столбцы сортируются случайным образом в выделенном диапазоне, как показано ниже.
Сортировать все ячейки в диапазоне случайным образом с помощью Kutools for Excel
Если вы хотите отсортировать все ячейки в диапазоне случайным образом, эта утилита также будет хорошим выбором.
1. Выберите диапазон, в котором все ячейки будут отсортированы случайным образом, и нажмите Кутулс > Диапазон > Сортировка / выбор диапазона случайным образом. Sее скриншот:
2. Выбрать Все ячейки в диапазоне под Сортировать Вкладка в Сортировка диапазона случайным образом диалоговое окно, а затем щелкните значок OK кнопка. Смотрите скриншот:
Затем все ячейки в выбранном диапазоне сортируются случайным образом. Смотрите скриншот:
Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
Статьи по теме
- Как сгенерировать случайные строки в Excel 2007/2010?
- Как вставить случайные числа в диапазон в Excel 2007/2010?
- Как произвольно выбирать ячейки в Excel 2007/2010?
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Случайная сортировка текстового массива
11 Dec 2015 | Автор: dd |
Возникла тут надобность предоставить клиенту не поименный список, а смешать его для прохождения по нему случайным образом. Данные были представлены в виде тысячи текстовых строк.
Сначала долго думал как сделать случайную сортировку в Notepad++, но смог найти только какое то дикое шаманство с добавлением кавычек в конце строки через плагин TextFX (через который сортировка по алфавиту делается в два клика), поэтому обратился к Microsoft Excel.
В Excel сортировка случайным образом делается через генерацию списка случайных чисел и его последующую сортировку. Случайное число генерится в ячейке через функцию СЛЧИС()
То есть имеем скажем алфавитный список в столбце А, тогда в столбце Б делаем числовой формат и ставим 10 знаков после запятой (для максимальной рандомизации), после чего пишем в первой строчке =СЛЧИС() (в забугорном аналоге это вроде как функция RAND, но могу ошибаться), нажимаем Enter, после чего растягиваем её на весь столбец*.
***Если кто не знает, то при растягивании, функция автоматически дублируется в последующие ячейки (или продолжается ряд, скажем числовой). Для этого надо подвести курсор к нижнему правому углу ячейки, где он превращается в крестик, который зажимаем левой кнопкой мыши и растягиваем в нужно направлении.
В итоге у нас получается числовой столбец заполненный случайными цифрами, после чего мы сортируем книгу или нужные столбцы по нужному (в моем примере B). Делается это через раздел Данные -> Сортировка или, если у вас навигация вытащена в Главное, то Сортировка и фильтр -> Настраиваемая сортировка.
Надо заметить, что на моем списке в тыщу строк, он что то не очень хотел рандомизироваться (случайный порядок выстраивался скорее блоками, чем построчно), поэтому мне пришлось его скопировать в соседний столбец, чтобы он был представлен просто цифрами, а не выводом функции. После этого случайная сортировка сработала и он перемешался уже качественно – уж не знаю це фича или бага.
Rating: 3.6/10 (60 votes cast)
Rating: +5 (from 19 votes)
Случайная сортировка текстового массива, 3.6 out of 10 based on 60 ratings
Теги: excel, Windows
Случайная выборка
Нечастая, но интересная задача: выбрать из массива данных (списка) случайным образом 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
Перемешайте ячейки, строки или столбцы случайным образом
С помощью этого случайного сортировщика вы можете случайным образом переставить ячейки в каждой строке и столбце по отдельности, повторно отсортировать все ячейки в выбранном диапазоне или перемешать целые строки и столбцы. Вы также можете получить случайную выборку из вашего набора данных, например, выбрать случайные имена или числа из списка.
-
60-дневная безусловная гарантия возврата денег
-
Бесплатные обновления на 2 года
-
Бесплатная и бессрочная техническая поддержка
С помощью случайного сортировщика вы сможете:
Беспорядочно перемешать ячейки в каждой строке или столбце
Измените порядок значений ячеек в каждом столбце или строке.
Перемешать целые строки или столбцы
Случайным образом поменяйте местами целые строки или столбцы в выбранном диапазоне.
Перемешать данные всех ячеек в диапазоне
Произвольно отсортируйте все ячейки в выбранном диапазоне.
Выбирать отдельные ячейки случайным образом
Выберите определённое количество или процент случайных строк, столбцов или ячеек.
Как случайным образом выбрать на листе Excel:
Что такое случайный сортировщик и для чего он мне нужен?
Надстройка предназначена для перемешивания значений в строках, столбцах или во всех ячейках в выбранном диапазоне. Более того, она может выбирать определённое количество или какой-то процент ячеек из вашей электронной таблицы Excel.
Разве в Excel нет возможности произвольно сортировать и выбирать без всяких надстроек?
Да, способ есть. Сначала вы вставляете новый столбец рядом со столбцом, который хотите рандомизировать. Затем вы заполняете вспомогательный столбец случайными числами с помощью функции СЛЧИС(). После этого вы сортируете столбец с этими случайными числами, а затем выбираете необходимое количество ячеек. Если ваши знания формул Excel выше среднего, вы можете объединить несколько различных функций вместе, чтобы сделать случайную выборку без дубликатов. Обратной стороной этого подхода является то, что новые случайные числа генерируются при каждом пересчете вашего рабочего листа, что приводит к изменению вашей случайной сортировки и выбора. Подробно все особенности этих методик рассмотрены нами в этом руководстве.
Эта надстройка позволяет быстро перемешивать данные и выбирать случайным образом именно так, как вы хотите, не используя формулы Excel.
Как мне работать со случайным сортировщиком?
- Чтобы рандомизировать данные в Excel, сделайте следующее:
- Запустите инструмент Shuffle Cells .
- Выберите диапазон, с которым нужно работать.
- Выберите способ рандомизации значений (целые строки или столбцы, отдельные ячейки).
- Щелкните «Перемешать».
- Чтобы выбрать случайные ячейки в Excel, сделайте следующее:
- Нажмите на ленте Select Randomly.
- Выберите диапазон.
- Выберите, сколько строк, столбцов или ячеек вы хотите выбрать случайным образом.
- Щелкните Выбрать.
Более подробное описание смотрите здесь.
Не потеряю ли я свои данные, если воспользуюсь надстройкой?
Нет, надстройка ничего не удаляет. Более того, она создает резервную копию исходного листа всякий раз, когда вам это нужно.
Скачать Ultimate Suite
Оглавление:
- 1 Как в excel сделать рандомную сортировку? — Разбираем подробно
- 2 Случайная сортировка текстового массива
- 3 Порядок сортировки в Excel
- 4 Сортировка по цвету ячейки и по шрифту
- 5 Сортировка в Excel по нескольким столбцам
- 6 Сортировка строк в Excel
- 7 Случайная сортировка в Excel
- 8 Динамическая сортировка таблицы в MS Excel
- 8.1 Способ 1. Случайная сортировка
- 8.2 Способ 2. Функция НАИМЕНЬШИЙ
- 8.3 Способ 3. Случайная выборка без повторов — функция Lotto на VBA
- 8.4 Ссылки по теме
Случайная сортировка текстового массива
11 Dec 2015 | Автор: anchous |
Возникла тут надобность предоставить клиенту не поименный список, а смешать его для прохождения по нему случайным образом. Данные были представлены в виде тысячи текстовых строк.
Сначала долго думал как сделать случайную сортировку в Notepad++, но смог найти только какое то дикое шаманство с добавлением кавычек в конце строки через плагин TextFX (через который сортировка по алфавиту делается в два клика), поэтому обратился к Microsoft Excel.
В Excel сортировка случайным образом делается через генерацию списка случайных чисел и его последующую сортировку. Случайное число генерится в ячейке через функцию СЛЧИС()
То есть имеем скажем алфавитный список в столбце А, тогда в столбце Б делаем числовой формат и ставим 10 знаков после запятой (для максимальной рандомизации), после чего пишем в первой строчке =СЛЧИС() (в забугорном аналоге это вроде как функция RAND, но могу ошибаться), нажимаем Enter, после чего растягиваем её на весь столбец*.
***Если кто не знает, то при растягивании, функция автоматически дублируется в последующие ячейки (или продолжается ряд, скажем числовой). Для этого надо подвести курсор к нижнему правому углу ячейки, где он превращается в крестик, который зажимаем левой кнопкой мыши и растягиваем в нужно направлении.
В итоге у нас получается числовой столбец заполненный случайными цифрами, после чего мы сортируем книгу или нужные столбцы по нужному (в моем примере B). Делается это через раздел Данные -> Сортировка или, если у вас навигация вытащена в Главное, то Сортировка и фильтр -> Настраиваемая сортировка.
Надо заметить, что на моем списке в тыщу строк, он что то не очень хотел рандомизироваться (случайный порядок выстраивался скорее блоками, чем построчно), поэтому мне пришлось его скопировать в соседний столбец, чтобы он был представлен просто цифрами, а не выводом функции. После этого случайная сортировка сработала и он перемешался уже качественно – уж не знаю це фича или бага.
VN:F
Rating: 10.0/ (2 votes cast)
VN:F
Rating: +2 (from 2 votes)
Случайная сортировка текстового массива, 10.0 out of 10 based on 2 ratings
Теги: excel, Windows
Сортировка данных в Excel – инструмент для представления информации в удобном для пользователя виде.
Числовые значения можно отсортировать по возрастанию и убыванию, текстовые – по алфавиту и в обратном порядке. Доступны варианты – по цвету и шрифту, в произвольном порядке, по нескольким условиям. Сортируются столбцы и строки.
Порядок сортировки в Excel
Существует два способа открыть меню сортировки:
- Щелкнуть правой кнопкой мыши по таблице. Выбрать «Сортировку» и способ.
- Открыть вкладку «Данные» — диалоговое окно «Сортировка».
Часто используемые методы сортировки представлены одной кнопкой на панели задач:
Сортировка таблицы по отдельному столбцу:
- Чтобы программа правильно выполнила задачу, выделяем нужный столбец в диапазоне данных.
- Далее действуем в зависимости от поставленной задачи. Если нужно выполнить простую сортировку по возрастанию/убыванию (алфавиту или обратно), то достаточно нажать соответствующую кнопку на панели задач. Когда диапазон содержит более одного столбца, то Excel открывает диалоговое окно вида: Чтобы сохранилось соответствие значений в строках, выбираем действие «автоматически расширить выделенный диапазон». В противном случае отсортируется только выделенный столбец – структура таблицы нарушится.
Если выделить всю таблицу и выполнить сортировку, то отсортируется первый столбец. Данные в строках станут в соответствии с положением значений в первом столбце.
Сортировка по цвету ячейки и по шрифту
Программа Excel предоставляет пользователю богатые возможности форматирования. Следовательно, можно оперировать разными форматами.
Сделаем в учебной таблице столбец «Итог» и «зальем» ячейки со значениями разными оттенками. Выполним сортировку по цвету:
- Выделяем столбец – правая кнопка мыши – «Сортировка».
- Из предложенного списка выбираем «Сначала ячейки с выделенным цветом».
- Соглашаемся «автоматически расширить диапазон».
Программа отсортировала ячейки по акцентам. Пользователь может самостоятельно выбрать порядок сортировки цвета. Для этого в списке возможностей инструмента выбираем «Настраиваемую сортировку».
В открывшемся окне вводим необходимые параметры:
Здесь можно выбрать порядок представления разных по цвету ячеек.
По такому же принципу сортируются данные по шрифту.
Сортировка в Excel по нескольким столбцам
Как задать порядок вторичной сортировки в Excel? Для решения этой задачи нужно задать несколько условий сортировки.
- Открываем меню «Настраиваемая сортировка». Назначаем первый критерий.
- Нажимаем кнопку «Добавить уровень».
- Появляются окошки для введения данных следующего условия сортировки. Заполняем их.
Программа позволяет добавить сразу несколько критериев чтобы выполнить сортировку в особом порядке.
Сортировка строк в Excel
По умолчанию сортируются данные по столбцам. Как осуществить сортировку по строкам в Excel:
- В диалоговом окне «Настраиваемой сортировки» нажать кнопку «Параметры».
- В открывшемся меню выбрать «Столбцы диапазона».
- Нажать ОК. В окне «Сортировки» появятся поля для заполнения условий по строкам.
Таким образом выполняется сортировка таблицы в Excel по нескольким параметрам.
Случайная сортировка в Excel
Встроенные параметры сортировки не позволяют расположить данные в столбце случайным образом. С этой задачей справится функция СЛЧИС.
Например, нужно расположить в случайном порядке набор неких чисел.
Ставим курсор в соседнюю ячейку (слева-справа, не важно). В строку формул вводим СЛЧИС(). Жмем Enter. Копируем формулу на весь столбец – получаем набор случайных чисел.
Теперь отсортируем полученный столбец по возрастанию /убыванию – значения в исходном диапазоне автоматически расположатся в случайном порядке.
Динамическая сортировка таблицы в MS Excel
Если применить к таблице стандартную сортировку, то при изменении данных она не будет актуальной. Нужно сделать так, чтобы значения сортировались автоматически. Используем формулы.
- Есть набор простых чисел, которые нужно отсортировать по возрастанию.
- Ставим курсор в соседнюю ячейку и вводим формулу: =НАИМЕНЬШИЙ(A:A;СТРОКА(A1)). Именно так. В качестве диапазона указываем весь столбец. А в качестве коэффициента – функцию СТРОКА со ссылкой на первую ячейку.
- Изменим в исходном диапазоне цифру 7 на 25 – «сортировка» по возрастанию тоже изменится.
Если необходимо сделать динамическую сортировку по убыванию, используем функцию НАИБОЛЬШИЙ.
Для динамической сортировки текстовых значений понадобятся формулы массива.
- Исходные данные – перечень неких названий в произвольном порядке. В нашем примере – список фруктов.
- Выделяем столбец и даем ему имя «Фрукты». Для этого в поле имен, что находится возле строки формул вводим нужное нам имя для присвоения его к выделенному диапазону ячеек.
- В соседней ячейке (в примере – в В5) пишем формулу: Так как перед нами формула массива, нажимаем сочетание Ctrl + Shift + Enter. Размножаем формулу на весь столбец.
- Если в исходный столбец будут добавляться строки, то вводим чуть модифицированную формулу: Добавим в диапазон «фрукты» еще одно значение «помело» и проверим:
Скачать формулы сортировки данных в Excel
Впоследствии при добавлении данных в таблицу процесс сортирования будет выполняться автоматически.
В Excel можно случайным образом выбрать трех победителей — 1-го, 2-го и 3-го — из списка в электронной таблице. Самый простой и честный способ сделать это — использовать функцию СЛЧИС (RAND) Excel совместно с его возможностями сортировки.
Предположим, что в вашей электронной таблице есть таблица из трех столбцов начиная со столбца В с заголовками столбцов Name, Age и ID No. Можно поместить функцию СЛЧИС (RAND) в ячейку А2 и скопировать ее вниз на необходимое количество строк до конца таблицы. Все ячейки в столбце А, в которые вы поместили функцию СЛЧИС (RAND), автоматически вернут случайное число, по которому вы сможете отсортировать таблицу. Другими словами, можно отсортировать столбцы А, В, С и D по столбцу А по возрастанию или убыванию, и тремя победителями будут три верхних имени.
Функция СЛЧИС (RAND) — это пересчитываемая функция, которая автоматически пересчитывается, какое бы действие в Excel ни произошло, — например, ввод данных или принудительный запуск пересчета клавишей F9. Поэтому лучше по-быстрее записать имена победителей.
Однако вы можете использовать эту непостоянность в своих целях и записать макрос, который будет сортировать данные сразу после того, как вы пересчитаете функции и выполните функцию СЛЧИС (RAND), чтобы вернуть очередной набор случайных чисел. Этот макрос можно назначить какой-либо кнопке, чтобы каждый раз когда понадобится выбрать трех победителей, пришлось бы только нажать кнопку и записать три верхних имени.
Предположим, например, у вас есть данные в столбцах В, С и D, и в строке 1 содержатся заголовки. Сначала в ячейку А1 поместите заголовок RAND. В ячейку А2 введите формулу =RAND()
и скопируйте ее вниз на необходимое количество ячеек. После этого выделите любую ячейку и выберите команду Разработчик → Начать запись (Developer → Record New Macro).
Выделите столбцы А, В, С и D и нажмите клавишу F9 (чтобы запустить пересчет). Выберите команду Данные → Сортировка (Home → Sort) и отсортируйте данные по столбцу А. Остановите запись макроса. Теперь выберите команду Файл → Панели инструментов → Формы (File → Toolbars → Forms). На этой панели инструментов выберите кнопку и поместите ее в любое место на рабочем листе. Назначьте этой кнопке только что записанный макрос и щелкните кнопку ОК. (Если хотите, измените текст на кнопке с Кнопка 1 (Button 1) на что-то более осмысленное.) Можно выделить столбец А и полностью скрыть его, так как пользователям не нужно видеть сгенерированные случайные числа. Каждый раз когда вы будете щелкать кнопку, данные будут сортироваться случайным образом и вы сможете просто прочитать три верхних имени победителей.
У функции
СЛЧИС (RAND) в Excel 2003 есть большой недостаток. Хотя в справке ясно указано, что возвращаются случайные числа от 0 до 1, это не всегда так, в частности, когда функция
СЛЧИС (RAND) используется в нескольких ячейках. Иногда она возвращает числа, меньшие 0. Прочитать объяснение Microsoft по поводу изменения алгоритма можно на сайте по адресу:
http://support.microsoft.com/default.aspx?kbid=828795
.
Нечастая, но интересная задача: выбрать из массива данных (списка) случайным образом 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
У этой функции будет три аргумента:
Т.е., например, чтобы отобрать 5 случайных чисел от 10 до 100, нужно будет ввести =Lotto(10;100;5)
Теперь эту функцию легко использовать для отбора случайных значений. Добавим к нашему списку столбец с нумерацией и будем отбирать людей по случайным номерам, которые генерирует функция Lotto:
Обратите внимание, что наша функция Lotto должна быть введена как формула массива, т.е. сначала необходимо выделить диапазон ячеек результатов (D2:D6) затем ввести нашу функцио Lotto и, после ввода аргументов функции, нажать Ctrl+Shift+Enter, чтобы ввести эту функцию именно как функцию массива во все выделенные ячейки.
Ну, а дальше останется при помощи уже знакомой функции ВПР (VLOOKUP) вытащить имена из списка, соответствующие случайным номерам.
Ссылки по теме
Did you find apk for android? You can find new Free Android Games and apps.