1

Я использую Excel 2013 на Windows 7.

У меня есть 2 столбца данных, как это:

Name Value
aaa  1
bbb  123
ccc  81
...  ...

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

В column Имя нет дубликатов.

Я пытался использовать Custom list сортировки Excel, но, видимо, мой список слишком длинный, чтобы в него вписаться. (Список обрезается в какой-то момент.)

У меня третий столбец с желаемым порядком данных:

Desired order
bbb
aaa
ccc
...

Как я могу отсортировать данные в порядке, указанном в третьей строке?

1 ответ1

3

Подобно тому, что @Kyle упомянул в своем комментарии, вы должны добавить столбец, который ищет Name в списке Desired order . Однако я рекомендую использовать MATCH вместо VLOOKUP .

Если ваши данные находятся в A:B а список заказов закончен в Z:Z , тогда формула для C2 будет иметь вид:

=MATCH($A2,$Z:$Z,0)

Если Name отсутствует в списке, оно вернет ошибку #N/A Вы, вероятно, хотите видеть это, поскольку вы хотите, чтобы вещи были в определенном порядке, который выглядит случайным, а не фактическим случайным порядком. Иначе мы могли бы запихнуть все это до конца:

=IFERROR(MATCH($A2,$Z:$Z,0),COUNTA($Z:$Z)+1)

... или воткнуть их где-то посередине:

=IFERROR(MATCH($A2,$Z:$Z,0),RANDBETWEEN(1,COUNTA($Z:$Z)))

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .