В Excel можно сортировать буквенно-цифровые символы из a-1, a-2, a-3 ... a-123 вместо a-1, a-10, a-100, a-11?
Сортировка по самым старым по новейшим или по AZ, определенно не даст мне желаемого результата. Я пытался отформатировать ячейки как числа, но это не помогло.
Я застрял.
microsoft-excel
sorting
beccabecca
источник
источник
Ответы:
Пользователь @ fixer1234 прав, вы, вероятно, хотите использовать строковые функции. Вот один из способов сделать это.
Шаг 1
[Обновлено]
В столбце «Числа» выделите диапазон, затем разбейте текст на дефис: do ...
Data
>Text to Columns
>Delimited
>Next
>Other: -
>Finish
Обратите внимание, что вам нужно дефис ( - ) в
Other:
текстовом поле. И убедитесь, что соседний столбец (справа) пуст, прежде чем сделать это, чтобы не перезаписывать важные данные.Вы также можете использовать эту функцию для извлечения числа из столбца A:
Шаг 2
Теперь, что мы собираемся сделать на следующем шаге, как вы можете видеть на скриншоте выше, это добавить нули к началу каждого из чисел, которые имеют меньше цифр, чем наибольшее число. Это позволит вам сортировать эти числа так, как вы хотите.
Но сначала нам нужно немного разобраться в фактах. Если вы можете легко определить, какое наибольшее число, просто посчитайте цифры этого наибольшего числа - это будет число нулей, которое вы хотите использовать в нашей следующей функции. Есть еще один способ определить самое длинное число, не считая вручную цифры самого большого числа.
[ОБНОВЛЕНИЕ] Вы можете использовать следующую функцию (хотя пока мы не совсем знаем, почему ), чтобы определить наибольшее число:
В качестве альтернативы, вы можете просто ввести следующую формулу в ячейку (вы видите это на изображении выше, когда ячейка выделена оранжевым цветом), но вместо простого нажатия
ENTER
клавиши для установки ячейки нажмите горячую клавишуCTRL-SHIFT-ENTER
. Это изменит характер функции, превратив ее в формулу массива , без необходимости играть с такими функциями, какINDEX()
.(Убедитесь, что диапазон точен для конкретной таблицы, которую вы используете.)
После того, как вы нажмете
CTRL-SHIFT-ENTER
, содержимое ячейки изменится на это, но ввод этого вручную ничего не сделает:Однако вы хотите сделать это хорошо. Просто определите, сколько цифр составляют наибольшее число в вашем списке: «1», конечно, имеет 1 цифру, «10» имеет 2 цифры, «100» имеет 3 цифры и так далее.
Шаг 3
Наконец, в столбце «Развернуть» эта функция преобразует числа из столбца «Числа» в текст с числом предшествующих нулей, которое вы определили, которое следует использовать на шаге 2.
Убедитесь, что вы поставили кавычки вокруг нулей.
Если наибольшее число имеет 8 цифр, то ваша функция будет выглядеть так:
источник
Простое решение заключается в использовании строковых функций для помещения числовых значений в новый столбец в виде числа. Затем сортируйте по этому столбцу. Вы не указали, как значения могут изменяться или как они расположены, но пример:
Предположим, префикс «a-» никогда не изменяется, записи в столбце A начинаются со строки 2, а столбец B доступен. В B2 вы должны поместить что-то вроде: = value (mid (a2,3, len (a2) -2)) и затем скопировать формулу по мере необходимости. Чтобы отсортировать, выделите оба столбца и отсортируйте по B.
Если могут быть другие префиксы, скажем, b-, c- и т. Д., Аналогичным образом разделите текстовую часть на другой столбец. Затем сортируйте текстовый столбец как первый столбец сортировки и номер столбца как второй.
Все, что вы выделите, будет отсортировано по столбцам сортировки.
Чтобы объяснить строковые функции, начните с функции mid, которая извлекает строку символов из строки символов. mid (a2,3, len (a2) -2) просматривает текст в a2, начинается с третьего символа (первая цифра, предполагая, что все префиксы «a-»), а затем принимает количество символов, которое на два меньше, чем число в исходном тексте (длина исходного текста минус символы «a-»). Затем функция значения превращает этот результат в число, а не в строку числовых символов.
источник
У меня есть следующие данные:
Я хочу, чтобы студенты и оценки были расположены в соответствии с их регистрационными номерами, которые являются буквенно-цифровыми строками. Окончательный результат должен быть таким:
Как:
Хотя приведенный выше снимок самоочевиден, все же следующие шаги:
Извлеките алфавитную часть в столбце, используя в
=LEFT(B4, 2)
качестве формулы, где «2» показывает количество алфавитов в строке, и мои строки начинаются сB4
.Присвойте номер этой алфавитной части, используя
=COLUMN(INDIRECT(E4&1))
Извлеките числовую часть регистрационного номера, используя в
=RIGHT(B4,2)
качестве формулы. Здесь «2» - это нет. чисел в строке.Объединить две части в 2 и 3
Преобразуйте их в «чистые» числа, используя
=VALUE(H4)
Скопируйте последний столбец в исходную таблицу и используйте параметр Вставить как «Значения».
Теперь выполните сортировку по последнему столбцу и выберите «Расширить выбор».
Выполнено!!!
Важно: Pro-Tip -> Объедините шаги от 1 до 5, используя
=VALUE(CONCATENATE(COLUMN(INDIRECT(LEFT(B4,2)&1)),RIGHT(B4,2)))
источник