Перейти к содержимому

Рандомизация списка в Excel (Простое пошаговое руководство)

Author: Amanda Li Last Modified: 2025-06-05

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

A screenshot illustrating the randomization result in Excel

Видео: Рандомизация списка в Excel


Рандомизация списка с помощью функций

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

Рандомизация списка с помощью функции СЛЧИС

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

Шаг 1: Введите формулу СЛЧИС

Выберите ячейку рядом с верхней ячейкой списка, который вы хотите рандомизировать, введите приведенную ниже формулу СЛЧИС и нажмите «Enter».

=RAND()

RAND formula in a cell

Шаг 2: Заполните формулу СЛЧИС в другие ячейки

Дважды щелкните на маркер заполнения (маленький зеленый квадрат в правом нижнем углу) ячейки с формулой, чтобы применить формулу к ячейкам ниже.

RAND formula applied to other cells

Шаг 3: Отсортируйте результаты СЛЧИС для перемешивания списка

1. Выберите диапазон «B2:B8», содержащий формулу СЛЧИС.

2. Нажмите «Сортировка и фильтр» > «Сортировать от наименьшего к наибольшему» в группе «Редактирование» на вкладке «Главная».

Sort Smallest to Largest option on the ribbon

3. В появившемся диалоговом окне выберите «Развернуть панель», а затем нажмите «Сортировать».

Selecting the 'Expand the selection' option

Результат

Теперь все готово! Список рандомизирован, как показано ниже.

The list is randomized

Примечание: Функция СЛЧИС в Excel является изменчивой: она пересчитывает свой результат при каждом изменении листа. Поэтому числа в столбце B мгновенно изменились после сортировки. Если вы хотите снова перемешать список, повторите вышеуказанный шаг 3. В противном случае вы можете просто удалить столбец с функцией СЛЧИС.
Рандомизация списка с помощью функций СЛУЧМЕЖДУ, СОРТПО и СТРОКИ (Excel 365/2021)

Если вы пользуетесь новыми версиями Excel, например, Excel для Microsoft 365, Excel 2021 или Excel для Интернета, формулы СЛУЧМЕЖДУ, СОРТПО и СТРОКИ помогут вам быстро перемешать список в указанной позиции.

Шаг 1: Введите формулы СЛУЧМЕЖДУ, СОРТПО и СТРОКИ

Выберите пустую ячейку, где вы хотите получить рандомизированный результат, введите приведенную ниже формулу (обратите внимание, что вы должны изменить «A2:A8» в формуле на ваш исходный список, который вы хотите рандомизировать), и нажмите «Enter».

=SORTBY(A2:A8,RANDARRAY(ROWS(A2:A8)))

Примечание:
  • Excel возвращает ошибку «#ПРОЛИВ!», если диапазон разлива (B2:B8 в данном случае) не пуст.
  • Формула является изменчивой: она пересчитывает свой результат при каждом изменении листа. Если вы хотите снова перемешать список, нажмите «F9».
  • Результат формулы (рандомизированный список) не редактируется. Если вам нужно отредактировать рандомизированный список, следуйте следующему шагу.

(Необязательно) Шаг 2: Скопируйте и вставьте результат формулы, чтобы сделать его редактируемым

Если вы хотите видеть только случайный результат, вы можете пропустить этот шаг. Если вы хотите отредактировать случайно перемешанный список, вы должны скопировать результат формулы и вставить только значения:

1. Выберите результат формулы и нажмите «Ctrl» + «C», чтобы скопировать его.

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

3. Выберите опцию «Вставить значения» из контекстного меню.

Результат

Теперь вы получите перемешанный и редактируемый список, как показано ниже.


Рандомизация списка в Excel с помощью Kutools за 2 клика

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

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

Сначала выберите список, который вы хотите перемешать. Затем выберите «Kutools» > «Диапазон» > «Сортировка/выбор диапазона случайным образом». В появившемся диалоговом окне «Сортировка/выбор диапазона случайным образом» выберите «Все строки» и нажмите «ОК».

Select the Entire rows option in the dialog to shuffle the list

Примечание:

Рандомизация списка с помощью VBA

Если вы предпочитаете рандомизировать список с помощью метода VBA, пожалуйста, действуйте следующим образом.

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

Шаг 1: Выберите список, который вы хотите перемешать

The list to be shuffled is selected

Шаг 2: Скопируйте код VBA в окно модуля

1. Нажмите «Ctrl» + «F11», чтобы открыть редактор VBA, затем нажмите «Вставка» > «Модуль», чтобы открыть окно кода модуля.

Click Insert > Module in the VBA editor

2. Скопируйте и вставьте приведенный ниже код VBA в открывшееся окно модуля.

Sub RandomSort()
'Update by ExtendOffice
Dim xRg As Range
Dim xNum, xF, xI As Integer
Dim xWSh, xAWSh As Worksheet
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xAWSh = Application.ActiveSheet
Set xRg = ActiveWindow.RangeSelection
Set xWSh = Worksheets.Add
xNum = xRg.Count
For xF = xNum To 1 Step -1
    xI = WorksheetFunction.RandBetween(1, xF)
    xWSh.Range("A1").Value = xRg.Item(xI)
    xRg.Item(xI) = xRg.Item(xF)
    xRg.Item(xF) = xWSh.Range("A1")
Next
xWSh.Delete
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

Шаг 3: Запустите код VBA

В окне кода нажмите «F5» или кнопку Run button для запуска этого кода.

The run button in the code window

Результат

The list is shuffled

Примечание: Если вы хотите снова рандомизировать список, повторите вышеуказанный шаг 3.