Работа с базой данных сотрудников, клиентов или учеников в Microsoft Excel часто требует упорядочивания записей по фамилиям. Казалось бы, что может быть проще? Но на практике пользователи сталкиваются с массой нюансов: как отделить фамилию от имени, если они записаны в одной ячейке? Как сохранить связь между столбцами при сортировке? Или почему Excel игнорирует регистр и ставит "Иванов" после "иванов"?
В этой статье мы разберём 5 рабочих методов сортировки по фамилиям — от базового алфавитного порядка до продвинутых техник с разделением ФИО и учетом отчеств. Вы узнаете, как избежать типичных ошибок (например, разрыва строк при сортировке) и автоматизировать процесс для больших таблиц. А в конце — бонус: скрытый приём для сортировки русских фамилий с учётом буквы "Ё", который не знают 90% пользователей.
1. Базовая сортировка по фамилиям (если они в отдельном столбце)
Если ваша таблица структурирована правильно — фамилии, имена и отчества разнесены по разным столбцам — сортировка займёт меньше минуты. Вот как это сделать:
- Выделите диапазон данных (включая заголовки столбцов). Например, если таблица занимает ячейки
A1:D100, выделите именно этот диапазон. - Перейдите на вкладку
Главная→ группаРедактирование→ кнопкаСортировка и фильтр. - Выберите
Настраиваемая сортировка.... - В открывшемся окне:
- 📌 В поле
Столбецвыберите столбец с фамилиями (например, "Столбец B"). - 📌 В поле
СортировкаукажитеОт А до Я(по возрастанию) илиОт Я до А(по убыванию). - 📌 Убедитесь, что стоит галочка
Мои данные содержат заголовки.
- 📌 В поле
OK.⚠️ Внимание: Если вы выделите только столбец с фамилиями (без соседних данных), Excel отсортирует только его, разорвав связь с остальными столбцами. Всегда выделяйте весь диапазон таблицы перед сортировкой!
☑️ Чек-лист перед сортировкой
2. Сортировка по фамилиям, если ФИО в одной ячейке
Частая проблема: в таблице есть столбец "ФИО", где записано, например, "Иванов Петр Сидорович". Как отсортировать по фамилии (Иванов), если она не отделена? Решений два:
Способ 1: Разделить ФИО на столбцы (рекомендуется)
Используйте функцию ТЕКСТ.ПОСЛЕ (в новых версиях Excel) или комбинацию ЛЕВСИМВ + ПОИСК:
=ЛЕВСИМВ(A2; ПОИСК(" "; A2) - 1)
Эта формула извлечёт фамилию из ячейки A2, найдя первый пробел. Затем скопируйте её вниз и отсортируйте новый столбец.
Способ 2: Сортировка по первому слову (без разделения)
Если разделять данные нельзя, используйте пользовательскую сортировку:
- Выделите таблицу →
Сортировка и фильтр→Настраиваемая сортировка. - В поле
Столбецвыберите столбец с ФИО. - В поле
СортировкаукажитеПо значениям→От А до Я. - Нажмите
Добавить уровеньи повторите те же настройки (это заставит Excel сортировать строго по первому слову).
⚠️ Внимание: Такой метод сработает только если формат ФИО везде одинаковый (сначала фамилия). Если где-то записано "Петр Иванов Сидорович", сортировка пойдёт по имени!
3. Сортировка с учётом регистра (Иванов vs иванов)
По умолчанию Excel игнорирует регистр при сортировке: "Иванов" и "иванов" для него — одно и то же. Если нужно разделить их, используйте дополнительный столбец с функцией КОДСИМВ:
| Фамилия | Код первой буквы |
|---|---|
| Иванов | =КОДСИМВ(ЛЕВСИМВ(A2)) |
| иванов | =КОДСИМВ(ЛЕВСИМВ(A3)) |
| Петров | =КОДСИМВ(ЛЕВСИМВ(A4)) |
Затем отсортируйте сначала по Коду первой буквы (по убыванию), а потом по Фамилии (по возрастанию). Так заглавные буквы окажутся выше строчных.
4. Продвинутая сортировка: фамилия + отчество
Иногда нужно сортировать не только по фамилии, но и по отчеству (например, для однофамильцев). Для этого:
- Добавьте дополнительный столбец, объединив фамилию и отчество:
=B2 & " " & D2(где
B2— фамилия,D2— отчество). - Отсортируйте таблицу сначала по этому столбцу, затем по фамилии.
- 👤 Иванов Александр Петрович
- 👤 Иванов Александр Сергеевич
- 👤 Иванов Дмитрий Иванович
Пример результата:
Почему не работает сортировка по двум столбцам?
Excel сортирует данные последовательно: сначала по первому критерию, затем по второму внутри групп с одинаковыми значениями первого. Если у вас два Иванова, их порядок внутри группы зависит от второго критерия (отчества).
5. Автоматическая сортировка при изменении данных
Если таблица часто обновляется, настройте автосортировку с помощью Power Query:
- Выделите таблицу → вкладка
Данные→Из таблицы/диапазона. - В редакторе Power Query выберите столбец с фамилиями →
Главная→Сортировка. - Нажмите
Закрыть и загрузить→Закрыть и загрузить в...и выберитеТаблица. - Теперь при обновлении данных (кнопка
Обновить всена вкладкеДанные) сортировка будет применяться автоматически.
⚠️ Внимание: Автосортировка через Power Query перезаписывает исходные данные. Всегда работайте с копией таблицы, если оригинал важен!
6. Сортировка русских фамилий с буквой "Ё"
Excel по умолчанию игнорирует букву "Ё" при алфавитной сортировке, ставя её в конец списка. Чтобы этого избежать:
- Создайте дополнительный столбец с заменой "Ё" на "Е":
=ПОДСТАВИТЬ(B2; "Ё"; "Е") - Отсортируйте таблицу по этому столбцу (а не по оригинальной фамилии).
Результат:
| Оригинал | Для сортировки | Порядок |
|---|---|---|
| Алексеев | Алексеев | 1 |
| Ёлкин | Елкин | 2 |
| Егоров | Егоров | 3 |
Теперь фамилии с "Ё" будут стоять на своём месте в алфавите, а не в конце списка.
FAQ: Частые вопросы по сортировке фамилий в Excel
Можно ли отсортировать фамилии по алфавиту, если они записаны на английском (латиницей)?
Да, алгоритм тот же. Но учтите, что английские буквы сортируются по ASCII-кодам: сначала заглавные (A-Z), потом строчные (a-z). Чтобы этого избежать, используйте функцию =ПРОПНАЧ для унификации регистра перед сортировкой.
Почему после сортировки разорвались строки (данные в строках не совпадают)?
Это происходит, если вы выделили перед сортировкой только один столбец, а не всю таблицу. Excel сортирует только выделенный диапазон. Решение: отмените действие (Ctrl+Z) и выделите всю таблицу (включая заголовки) перед повторной сортировкой.
Как отсортировать фамилии по алфавиту, но оставить первую строку (шапку) на месте?
В окне настраиваемой сортировки (Данные → Сортировка) убедитесь, что стоит галочка Мои данные содержат заголовки. Если её нет — Excel воспримет первую строку как данные и отсортирует её вместе с остальными.
Можно ли сортировать по фамилии, если в ячейке записано "Иванов П.С."?
Да, но потребуется извлечь фамилию с помощью формулы:
=ЛЕВСИМВ(A2; ПОИСК(" "; A2) - 1)
где A2 — ячейка с "Иванов П.С.". Затем сортируйте по новому столбцу.
Как сохранить исходный порядок строк после сортировки?
Добавьте столбец с порядковыми номерами (1, 2, 3...) перед сортировкой. После сортировки вы сможете вернуть исходный порядок, отсортировав таблицу по этому столбцу. Альтернатива — использовать функцию =СЧЁТЗ для динамической нумерации.