Как сделать так, чтобы Excel правильно переупорядочил строки?

6187
NoCatharsis

Извините за смутный вопрос. Позволь мне объяснить.

Я беру данные из базы данных моей компании. Один из столбцов - это номер строки в заказе клиента. Однако наша система работает так, что если позиция SO состоит из нескольких частей (сборки), то каждая из этих частей является подмножеством со своей собственной схемой нумерации.

Схема нумерации для этих подпунктов представляется в Excel (и в этом случае обычным человеком) в виде десятичной дроби. Другими словами, подпункт № 12 в строке SO 38 хранится в столбце как «38.12». Поэтому, когда я сортирую по этому столбцу, я получаю последовательные результаты, такие как:

38.10 38.1 38.11 38.12 38.13

На самом деле последовательность должна быть 38.1, 38.2, 38.3, ..., 38.10, 38.11, 38.12 и т. Д. Я определенно не программист, но я думаю, что это может быть легко исправить для некоторых из вас, кто знает программирование. Как правильно упорядочить эти строки?

5
О, это противно, я не думаю, что порядок сортировки Excel будет учитывать, что он должен сортировать числа после точки ... Ivo Flipse 14 лет назад 0
Некоторые заметки о сортировке в Excel: http://www.mvps.org/dmcritchie/excel/sorting.htm Mehper C. Palavuzlar 14 лет назад 1
Я читал эту статью, и я действительно понятия не имею, как заставить его работать, но вы должны создать новый столбец с суффиксной частью только для того, чтобы отсортировать его правильно (и чтобы этот порядок сортировки был расширен по всей книге) Ivo Flipse 14 лет назад 1

4 ответа на вопрос

3
DWong

Вы можете взломать его, используя несколько столбцов в Excel.

Возьмите строку RAW, используйте функцию ПОИСК, чтобы найти расположение десятичной точки. Затем используйте функции ВЛЕВО и ВПРАВО, чтобы разбить содержимое строки до и после десятичной точки на отдельные ячейки.

Наконец, сортировка на основе LEFT и RIGHT:

RAW LEN SEARCH LEFT RIGHT 31.1 4 3 31 1 31.2 4 3 31 2 31.3 4 3 31 3 31.4 4 3 31 4 31.5 4 3 31 5 31.11 5 3 31 11 31.12 5 3 31 12 31.14 5 3 31 14 31.25 5 3 31 25 

Формула для столбца ПОИСК: ПОИСК (".", [RAW])

Формула для столбца LEFT: LEFT ([RAW], [SEARCH] -1)

Формула для столбца RIGHT: RIGHT ([RAW], [LEN] - [SEARCH])

Я думаю, что увидел формула len и search в формуле, так что вы получили только два правильных столбца, есть идеи, как записать это как 1 формулу? Ivo Flipse 14 лет назад 0
Я выделил это в своем ответе в целях иллюстрации. Формулы, безусловно, можно комбинировать, чтобы уменьшить количество необходимых столбцов. DWong 14 лет назад 0
@ Иво, ты имеешь в виду следующее: ВЛЕВО ([RAW], ПОИСК (".", [RAW]) - 1) и это: ВПРАВО ([RAW], (LEN ([RAW])) - (ПОИСК ("." , [RAW])))) DWong 14 лет назад 0
Вуаля, отлично! Хотя я ожидаю, что ему нужен только последний столбец, чтобы отсортировать +1 Ivo Flipse 14 лет назад 0
Ну, он может иметь значения в левом, которые 32, 33 и т. Д. В этой ситуации оба столбца будут необходимы. DWong 14 лет назад 0
1
Iain

Разделите столбец на две части и сортируйте по столбцу десятичных дробей. Это объясняет, как - http://excel.tips.net/Pages/T003836_Sorting_Decimal_Values.html

0
Mark

Вы хотите создать свой собственный список в Excel. После создания собственного пользовательского списка вы можете выделить свой выбор, нажать кнопку сортировки и выбрать свой пользовательский список для сортировки объектов.

Используйте это как свой пользовательский список:

.1 .2 .3 .4 .5 .6 .7 .8 .9 .10 .11 .12 .*  

Выполните следующие шаги, чтобы создать свои собственные пользовательские списки:

Чтобы создать пользовательский список, выполните следующие действия, если вы используете Excel 2007:

1.Нажмите кнопку «Офис», а затем нажмите «Параметры Excel». Excel отображает диалоговое окно параметров Excel.

2. Убедитесь, что в левой части диалогового окна выбрано «Популярное».

3.Нажмите «Редактировать пользовательские списки». Excel отображает диалоговое окно «Пользовательские списки» и скрывает диалоговое окно «Параметры Excel». (Нажмите здесь, чтобы увидеть связанный рисунок.)

4.Выберите параметр «НОВЫЙ СПИСОК» в списке «Пользовательские списки» в левой части диалогового окна.

5.В части диалогового окна List Entries начните вводить порядок сортировки элементов.

6. Когда вы закончите, нажмите кнопку Добавить.

7. Нажмите OK, чтобы закончить.

Если вы используете версию Excel до Excel 2007, выполните следующие действия:

1. Выберите «Опции» в меню «Инструменты». В Excel отобразится диалоговое окно «Параметры».

2. Убедитесь, что выбрана вкладка «Пользовательские списки». (Нажмите здесь, чтобы увидеть связанный рисунок.)

3.Выберите опцию NEW LIST из списка пользовательских списков.

4.В разделе «Список записей» диалогового окна начните вводить порядок сортировки элементов.

5. Когда вы закончите, нажмите кнопку Добавить.

6. Нажмите OK, чтобы закончить.

Я был почти очень взволнован, потом понял, что мне нужно будет набирать каждое число от 0,0 до (бесконечность). Есть ли подстановочный знак, который я могу использовать, чтобы мой список выглядел как #, # .1, # .2, # .3, # .4, # .5, # .6, # .7, # .8, #. 9, # .10 и т. Д.? NoCatharsis 14 лет назад 0
Попробуйте это: .1 .2 .3 .4 .5 .6 .7 .8 .9 .10 .11 .12. * Mark 14 лет назад 0
0
Sam Hasler
  1. Убедитесь, что они хранятся в виде текста, а не чисел (выберите ячейки, щелкните правой кнопкой мыши, отформатируйте ячейки, выберите «Текст» на вкладке «Число»).
  2. Данные> Сортировка, убедитесь, что строка заголовка установлена ​​правильно (посмотрите на выбранные ячейки), ОК
  3. Теперь у вас должно появиться диалоговое окно с запросом «Следующий ключ сортировки может сортироваться не так, как ожидалось, поскольку он содержит некоторые числа, отформатированные как текст:», выберите «Сортировать числа и числа, сохраненные как текст отдельно».

После этого кнопка сортировки на панели инструментов / ленте должна работать так, как вы этого хотите.

Похожие вопросы