Сначала я искал, но если я пропустил ответ на это, мои извинения.

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

(Хорошо, поэтому нет изображений без достаточного количества повторений)

Столбец А

Имя Фамилия (1)

Имя Фамилия (1)

Имя Фамилия (3)

Имя Фамилия (1)

Имя Фамилия (1)

Имя Фамилия (14)

Имя Фамилия (1)

Имя Фамилия (21)

Имя Фамилия (1)

Колонка Б

Имя Фамилия (21)

Имя Фамилия (14)

Имя Фамилия (3)

Имя Фамилия (1)

Имя Фамилия (1)

...и так далее.

Спасибо за помощь!

Может ли кто-нибудь предоставить пошаговое руководство о том, как это сделать? Предполагая, что это выполнимо. Я использую '07, но у меня также есть '16, если это имеет значение.

2 ответа2

0

Чтобы отсортировать по части значения в столбце, сначала нужно получить часть, по которой вы хотите отсортировать, в свой собственный столбец. Предполагая, что в FirstName или Lastname нет скобок, это легко. Я собираюсь дать вам шаги в отдельных столбцах, хотя они могут быть легко объединены. Обратите внимание, что на следующих шагах мы находимся в строке 1.

  1. В столбце B найдите расположение левой круглой скобки с помощью функции FIND, в частности

    =FIND("(",$A1)

В вашем примере - «Имя, Фамилия (21)» - это будет 20, поскольку в левой скобке указан 20-й символ.

  1. В столбце C найдите расположение правой круглой скобки с

    =FIND(")",$A1)

  2. Теперь используйте функцию MID, чтобы вытащить содержимое скобок. Функция MID возвращает определенное количество символов из текстовой строки, начиная с указанной вами позиции. Если вы не привыкли думать о работе с текстовыми строками, сделайте паузу, чтобы учесть (a), что вам нужно начинать один символ справа от левой круглой скобки (т. Е. Один плюс значение, которое вы вычислили в столбце B, и (б) количество символов, которое вы хотите извлечь, равно на один меньше, чем C - B. Поэтому столбец D будет читать

    =MID($A1,$B1+1,$C1-$B1-1)

  3. Если вы действительно попытаетесь отсортировать по столбцу D, вы скоро увидите, что числа сортируются не так, как вы ожидаете. Это связано с тем, что Excel по-прежнему видит их как текстовые строки и, следовательно, рассматривает "100" как идущий перед "21". Поэтому в столбце E оберните столбец D в функцию (NUMBERVALUE), которая превращает текст в число, например:

    =NUMBERVALUE($D2)

Теперь вы можете сортировать по столбцу E. (Очевидно, вы можете объединить любой или все вышеперечисленные шаги в один шаг. Если бы это был я, я бы, вероятно, оставил бы два НАХОДКА в их собственных двоеточиях (B и C), но объединил бы последние два шага как

`=NUMBERVALUE(MID($A1,$B1+1,$C1-$B1-1))`

Обратите внимание, что я читаю ваш вопрос, чтобы означать, что вы хотите отсортировать по числу в скобках, даже если имена разные. Другими словами, независимо от того, является ли Имя Фамилия Абигейл Адамс или Зев Зебра, вы хотите, чтобы следующий за (21) предшествовал последующему (10). Если это не так, вы можете использовать похожую технику (возможно, используя функцию "ВЛЕВО" вместо "MID"), чтобы создать отдельный столбец только с именами. Затем сортируйте сначала это, а затем столбец, полученный выше.

0

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

=MID(A2,FIND("(",A2),5)

Если ваши номера имеют более 4 цифр, измените значение 5 на большее.

Для начала эта формула вернет число в скобках, например (14) . В любом случае нам нужно снять скобки, чтобы мы могли вернуть только 14) без открывающей скобки. Это можно сделать с

=MID(A2,FIND("(",A2)+1,5)

Теперь мы можем удалить закрывающую скобку, заменив ее пустым текстом "" .

=SUBSTITUTE(MID(A2,FIND("(",A2)+1,5),")","")

Результат равен 14 и выглядит как число, но это текст. Нам нужно преобразовать его в число с помощью функции Value:

=VALUE(SUBSTITUTE(MID(A2,FIND("(",A2)+1,5),")",""))

Скопируйте эту формулу вниз, затем отсортируйте по столбцу с формулой.

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