[У меня есть более 47 тысяч полных адресных данных разных стран, и я хочу разделить их на адреса, города, штаты, почтовые индексы и страны.
Я пробовал много способов, но не смог найти ни одной формулы, так как эти адреса различаются по структуре и шаблону.
NB: у меня нет хороших знаний о Excel VBA или макросах]
Разделить полный адрес на почтовый адрес, город, штат, почтовый индекс, страну в Excel
9 августа 2021 в 00:29
379
1
Ответы (1)
9 августа 2021 в 06:25
Эта задача слишком сложна, чтобы ее можно было выполнить с помощью простой формулы. Для ее выполнения вам понадобится VBA, позвольте дать вам несколько советов:
- Вы можете посчитать количество запятых, чтобы угадать содержание (очевидно, некоторые адреса начинаются с названия здания). Если названия здания нет, просто добавьте запятую, чтобы везде был одинаковый формат.
- После того, как все будет иметь одинаковый формат (количество запятых везде одинаково), вы можете начать разбиение, используя запятую в качестве разделителя. Результатами будут «Имя», «Полное название улицы и номер», «Полный идентификатор города», ... .
- Вещи, которые по-прежнему состоят из разных элементов (например, «Полный идентификатор города»), можно разделить, взяв первую часть (число, отделенное от остальных пробелом) и вторую часть (остальную часть « Полный идентификатор города").
Изменить: добавить небольшой макрос
Этот макрос содержит функции Split()
и IsNumeric()
, это все, что вам нужно:
Sub test()
Dim A, B As Integer
T = Split("1, 2, X", ",")
If IsNumeric(T(0)) Then A = T(0) Else A = -1
If IsNumeric(T(2)) Then B = T(2) Else B = -1
MsgBox "Result : A=[" & CStr(A) & "], B=[" & CStr(B) & "]"
End Sub
9 августа 2021 в 08:00
Большое спасибо за ваше ценное предложение, но у вас нет хороших знаний о Excel VBA или макросах.
9 августа 2021 в 08:18
@MASBAURRAHMAN: я добавил пример макроса, оттуда вы можете узнать, как он работает.
Пожалуйста, обновите этот вопрос, указав конкретные примеры входных данных и желаемых результатов.
разные страны имеют разные соглашения для адресов. Если вы можете установить правило с помощью простых слов, которое определяет, как разделить данные и которое применяется ко ВСЕМ вашим данным, то это можно построить в Excel. Если, однако, что гораздо более вероятно, вам нужен человеческий интеллект, чтобы определить, принадлежит ли часть адреса улице, городу или чему-то еще, то вы не сможете проанализировать эти данные в Excel. Итак, прежде чем просить формулу, разработайте правила, которые будут применяться.
В ваших данных о Франции почтовый индекс стоит перед названием города, разделенным пробелом. Данные SA имеют почтовый индекс после города, разделенного запятой. Это трудно очистить.
Я загрузил другое изображение с конкретными примерами входных данных и желаемых результатов.
Отвечает ли это на ваш вопрос? Разделение адреса с различными разделителями на почтовый адрес, город, штат, почтовый индекс и страну
@Т.М. Большое вам спасибо Но я должен использовать его, тогда я могу что-то сказать об этом Я никогда не использую макросы и VBA, поэтому мне нужно время, чтобы проверить это Еще раз спасибо