Трюк №30. Как сделать в Excel случайную сортировку данных при помощи функции СЛЧИС (RAND)

В 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) на что-то более осмысленное.) Можно выделить столбец А и полностью скрыть его, так как пользователям не нужно видеть сгенерированные случайные числа. Каждый раз когда вы будете щелкать кнопку, данные будут сортироваться случайным образом и вы сможете просто прочитать три верхних имени победителей.

[stextbox id=»download»]У функции СЛЧИС (RAND) в Excel 2003 есть большой недостаток. Хотя в справке ясно указано, что возвращаются случайные числа от 0 до 1, это не всегда так, в частности, когда функция СЛЧИС (RAND) используется в нескольких ячейках. Иногда она возвращает числа, меньшие 0. Прочитать объяснение Microsoft по поводу изменения алгоритма можно на сайте по адресу: http://support.microsoft.com/default.aspx?kbid=828795.[/stextbox]

Top