KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как извлечь почтовый индекс из списка адресов в Excel?

АвторСуньДата изменения

При работе с клиентской информацией в Excel часто возникает список полных адресов, где каждая запись включает и уличные данные, и почтовый индекс (ZIP-код). Если вам нужно выделить и извлечь только почтовые индексы — например, для рассылки, регионального анализа или форматирования данных — их ручное разделение по одному может оказаться утомительным и чреватым ошибками, особенно при работе с большими объёмами данных. К счастью, Excel предлагает практичные способы быстро и эффективно извлечь сразу несколько почтовых индексов без ручного труда. В этой статье приведены пошаговые инструкции по извлечению ZIP-кодов из адресов с помощью формулы Excel и решения на основе макроса VBA.

Извлечение почтового индекса с помощью формулы в Excel

Извлечение почтового индекса с помощью пользовательской функции в Excel


Извлечение почтового индекса с помощью формулы в Excel

Во многих распространённых списках адресов почтовый индекс располагается в конце адресной строки и не превышает 8 символов. Этот метод идеально подходит, если все адреса в вашем списке имеют единообразный формат, а почтовый индекс всегда является последним элементом, отделённым пробелами.

Чтобы быстро извлечь почтовый индекс с помощью формулы, выполните следующие действия:

1. Выберите пустую ячейку, куда вы хотите поместить почтовый индекс (например, B1, если ваш адрес находится в A1), и введите следующую формулу:

=MID(A1,FIND("zzz",SUBSTITUTE(A1," ","zzz",SUMPRODUCT(1*((MID(A1,ROW(INDIRECT("1:"&,LEN(A1))),1))=" "))-1))+1,LEN(A1))

2. Нажмите клавишу Enter. Почтовый индекс из адреса в ячейке A1 появится в выбранной ячейке.

3. Чтобы применить эту формулу ко всем адресам, выделите ячейку с формулой и перетащите маркер заполнения вниз по столбцу, охватив все строки с адресами — Excel автоматически извлечёт почтовый индекс для каждого из них.

снимок экрана извлечения почтового индекса из списка адресов с помощью формулы

Совет: Эта формула предполагает, что почтовый индекс — последний элемент в адресной строке, следующий после последнего пробела. Если структура ваших адресов отличается (например, почтовые индексы находятся в середине строки или отделены запятыми), формула может дать неверный результат. Для обработки международных почтовых индексов или пользовательских форматов может понадобиться другой, более сложный подход — либо с использованием расширенной формулы, либо с применением приведённого ниже решения на основе VBA.


Извлечение почтового индекса с помощью пользовательской функции в Excel

Если ваши адресные данные более сложны, неоднородны или содержат почтовые индексы в разных форматах и позициях внутри строки — как на снимке экрана ниже, — макрос VBA обеспечит гораздо более гибкое извлечение. Этот автоматизированный подход мгновенно обрабатывает весь столбец адресов, выделяя и возвращая только почтовые индексы, что существенно экономит время и сводит ручной труд к минимуму.

 извлечение различных почтовых индексов из списка адресов

1. Нажмите сочетание клавиш Alt + F11, чтобы открыть окно Microsoft Visual Basic for Applications.

2. В окне VBA выберите Вставка > Модуль, чтобы создать новый модуль. Скопируйте и вставьте следующий код VBA в окно модуля:

Public Function ExtractPostcode(text As String) As String
    Dim reg As New RegExp
    Dim m As MatchCollection
    reg.Pattern = "\b([A-Z]{1,2}\d{1,2}[A-Z]?\s*\d[A-Z]{2}|\d{5}(?:-\d{4})?|\d{6})\b"
    reg.IgnoreCase = True
    reg.Global = False
    
    If reg.Test(text) Then
        Set m = reg.Execute(text)
        ExtractPostcode = m(0).Value
    Else
        ExtractPostcode = ""
    End If
End Function

3. После вставки кода в редакторе VBA выберите в меню пункт Сервис > Ссылки. См. снимок экрана:

выберите «Сервис» > «Ссылки»

4. В диалоговом окне Ссылки установите флажок напротив пункта Microsoft VBScript Regular Expressions 5,5 и нажмите кнопку ОК.

установите флажок «Microsoft VBScript Regular Expressions 5.5»

5. Вернитесь на лист и введите формулу: =ExtractPostcode(A2), затем протяните маркер заполнения вниз по ячейкам. Все почтовые индексы появятся мгновенно. См. снимок экрана:

введите формулу для получения результата

Совет: С помощью этого кода вы сможете автоматически извлекать почтовые индексы любой страны или региона в Excel всего за несколько секунд. Просто адаптируйте регулярное выражение под формат почтовых индексов нужной территории — будь то британский «SW1A 1AA», американский «12345-6789» или китайский «100000» — и легко справитесь с любыми форматами, значительно повысив эффективность очистки и анализа данных.


Смежные статьи:


Лучшие инструменты повышения продуктивности в Office

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул
Супер ПОИСК:VLookup по нескольким критериям  |  VLookup по нескольким значениям  |   VLookup по нескольким листам   |   Распознавание нечетких соответствий
Расширенный раскрывающийся список:Быстрое создание выпадающего списка   |  Зависимый выпадающий список   |  Выпадающий список с множественным выбором
Управление столбцами:Добавление заданного количества столбцов|Перемещение столбцов|Переключение видимости скрытых столбцов|Сравнение диапазонов и столбцов
Избранные функции:Сетка фокусировки   |  Просмотр дизайна   |Улучшенная строка формулы   | Управление рабочими книгами и листами   |  Библиотека ресурсов(автотекст)|  Выбор даты   |  Объединить листы  |  Шифрование/Расшифровать ячейки   | Отправка писем по списку   |  Супер фильтр   |   Специальный фильтр(Фильтр ячеек с жирным шрифтом/курсив/зачёркивание…) …
Лучшие наборы инструментов 15:12 Текстовыеинструменты(Добавить текст,Удалить определенные символы, …)|   50+Типыдиаграмм(Диаграмма Ганта, …)|   40+ Практические формулы(Рассчитать возраст на основе даты рождения, …)|   19 Инструментывставки(Вставить QR-код,Вставка изображения по пути, …)|   12 Инструментыпреобразования(Преобразовать в слова,Конвертация валют, …)|   7 Объединить и разделитьИнструменты(Расширенное объединение строк,Разделить ячейки, …)|… и многое другое
Используйте Kutools на предпочитаемом языке — поддержка английского, испанского, немецкого, французского, китайского и ещё 40+ языков!

Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…


Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
  • Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!

Все надстройки Kutools — один установщик

Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек