Сортировка в случайном порядке списка ТЕКСТовых значений в MS EXCEL

Отсортируем исходный массив текстовых значений в случайном порядке.

Пусть задан диапазон ячеек содержащий текстовые значения (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 степени). Для визуального контроля повторов можно использовать Условное форматирование (выделить требуемый диапазон, создать правило Условного форматирования Главная/ Стили/ Условное форматирование/ Правила выделения ячеек/ Повторяющиеся значения...).

Связанные статьи

Похожие задачи
Прочитайте другие статьи, решающие похожие задачи в MS Excel. Это позволит Вам решать широкий класс подобных задач.
Средняя: 4.7 (3 оценок)

Комментарии

Елена

Добрый день, Михаил! Посмотрела ваш сайт-очень понравился, но то, что мне нужно не нашла. Надеюсь на вашу помощь. В наличие имеется 2 таблицы: Таблица №1 очень большая - на несколько листов. Таблица №2-значительно меньше, но тоже не подарок. Мне надо слить их в одну -Таблицу №3. При этом, все наименования из таблице №2 с их значениями в двух колонках должны располагаться напротив тех же наименований и их значений из таблицы №1. Проблема в том, что очень много наименований из таблицы №2 написаны неправильно, и их трудно искать в таблице №1. Скажите пож-та, можно ли облегчить мне труд с помощью ваших формул, чтобы хотя бы быстро расставить друг напротив друга те наименования, которые совпадают? Ну а те наименования, которые не совпадают, я буду в ручную вытаскивать сама. Пример двух исходных таблиц и третьей, которую надо сделать во вложении.

Елена

Извините, вложение не получилось вставить

Creator

Елена, прислать таблицы можно на creator@excel2.ru 

Если я понял правильно, то в таблице 1 все наименования написаны правильно, а в таблице 2 нет повторяющихся наименований?

Можете также посмотреть статью Сравнение реальных списков в MS EXCEL там показаны типичные ошибки в данных и как с ними бороться.