Я хотел бы знать, как я могу сортировать по столбцу A, и внутри этого, столбцу B, и внутри этого столбцу C, и т.д.

Например

Предположим, у меня есть эти данные

Это не отсортировано

2   1   4   3
1   3   3   2
5   1   1   4
5   4   2   5
1   2   5   5
4   3   3   1
3   2   5   4
1   5   1   5
4   4   1   2
1   4   4   1
5   3   2   4
3   5   1   3
2   4   3   3
1   2   3   1
5   1   5   1

Я хочу отсортировать по столбцу А,

Таким образом, все строки, в которых значения col A имеют одинаковые значения, будут сгруппированы вместе.

Для каждой из этих групп я хочу отсортировать по Col B, и для каждой из тех групп, которые я хотел бы отсортировать по Col C, давая конечный результат

1   2   3   1
1   2   5   5
1   3   3   2
1   4   4   1
1   5   1   5
2   1   4   3
2   4   3   3
3   2   5   4
3   5   1   3
4   3   3   1
4   4   1   2
5   1   1   4
5   1   5   1
5   3   2   4
5   4   2   5

Итак, я ничего не сделал с колонкой D.

Я могу разбить это, если неясно, но я буду использовать меньший пример ..

Можно сортировать по столбцу А,

Затем поместите это, например,

1   3   3   2
1   2   5   5
1   5   1   5
1   4   4   1
1   2   3   1

2   1   4   3
2   4   3   3

затем отсортируйте каждый фрагмент по столбцу B, чтобы фрагмент, в котором столбец A содержал 2, в данном случае уже был отсортирован по столбцу B. И мы получаем

1   2   5   5
1   2   3   1
1   3   3   2
1   4   4   1
1   5   1   5

2   1   4   3
2   4   3   3

А затем отсортировать по столбцу C (каждый идентичный A, B), можно было бы разнести его

Итак, мы получаем

1   2   5   5
1   2   3   1

1   3   3   2

1   4   4   1

1   5   1   5

2   1   4   3

2   4   3   3

И мы видим, что у нас есть много кусков одного ряда, так что нечего сортировать. У нас есть один кусок из двух рядов, и они еще не упорядочены по столбцам, поэтому они будут переупорядочены.

Так

1   2   5   5
1   2   3   1

станет

1   2   3   1
1   2   5   5

Остальные остаются прежними, и поэтому мы получаем

1   2   3   1               
1   2   5   5
1   3   3   2               
1   4   4   1               
1   5   1   5           
2   1   4   3               
2   4   3   3

Обратите внимание, что он сортируется по Col A, Col B, Col C, в том смысле, что он сортируется по Col A, и для каждого чанка, который находится внутри Col A, он сортируется по col B, и для каждого чанка, который похож на с Col A и Col B сортируется по Col C.

Я хотел бы знать, есть ли достаточно автоматический способ сделать это в Excel, а не ручной процесс сортировки каждого куска?

1 ответ1

2

В Excel выберите data..sort

затем выберите "Добавить уровень", и вы можете выбрать несколько столбцов

По-видимому, SQL тоже может это сделать с помощью строки вдоль строк SELECT ... ORDER BY col_a, col_b, col_c;

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