Как использовать функции «Право» и «Найти» для извлечения данных в ячейке? - PullRequest
0 голосов
/ 01 апреля 2019

У меня есть данные в ячейке D2, например:

1234 Уэст-Кинг-стрит, а / я 123 Карсон-Сити, Невада 12345

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

=RIGHT(D2,FIND(" ",D2,FIND(" ",D2)+1)-4)

Теперь я хочу извлечь информацию о городе в ячейке, какова формула?

1 Ответ

1 голос
/ 02 апреля 2019

При условии, что почтовый индекс всегда 5 цифр от конца, название вашего города всегда начинается с [1] конца 2-го числа (и пробела) и заканчивается на [2] запятой перед "NV".

Затем вы можете использовать функцию =find(), которая ищет [1] и [2], а затем использовать =mid(), чтобы извлечь весь текст между ними.Я имею в виду: =mid(d2,find([1]),find([2]))

полная формула:

=MID(D2, IF(MAX(IFERROR(FIND("0 ",D2),0),IFERROR(FIND("1 ",D2),0),IFERROR(FIND("2 ",D2),0),IFERROR(FIND("3 ",D2),0),IFERROR(FIND("4 ",D2),0),IFERROR(FIND("5 ",D2),0),IFERROR(FIND("6 ",D2),0),IFERROR(FIND("7 ",D2),0),IFERROR(FIND("8 ",D2),0),IFERROR(FIND("9 ",D2),0))=MIN(IFERROR(FIND("0",D2),LEN(D2)),IFERROR(FIND("1 ",D2),LEN(D2)),IFERROR(FIND("2 ",D2),LEN(D2)),IFERROR(FIND("3 ",D2),LEN(D2)),IFERROR(FIND("4 ",D2),LEN(D2)),IFERROR(FIND("5 ",D2),LEN(D2)),IFERROR(FIND("6 ",D2),LEN(D2)),IFERROR(FIND("7 ",D2),LEN(D2)),IFERROR(FIND("8 ",D2),LEN(D2)),IFERROR(FIND("9 ",D2),LEN(D2))),MAX(IFERROR(FIND("0 ",D2,MAX(IFERROR(FIND("0 ",D2),0),IFERROR(FIND("1 ",D2),0),IFERROR(FIND("2 ",D2),0),IFERROR(FIND("3 ",D2),0),IFERROR(FIND("4 ",D2),0),IFERROR(FIND("5 ",D2),0),IFERROR(FIND("6 ",D2),0),IFERROR(FIND("7 ",D2),0),IFERROR(FIND("8 ",D2),0),IFERROR(FIND("9 ",D2),0))+1),0),IFERROR(FIND("1 ",D2,MAX(IFERROR(FIND("0 ",D2),0),IFERROR(FIND("1 ",D2),0),IFERROR(FIND("2 ",D2),0),IFERROR(FIND("3 ",D2),0),IFERROR(FIND("4 ",D2),0),IFERROR(FIND("5 ",D2),0),IFERROR(FIND("6 ",D2),0),IFERROR(FIND("7 ",D2),0),IFERROR(FIND("8 ",D2),0),IFERROR(FIND("9 ",D2),0))+1),0),IFERROR(FIND("2 ",D2,MAX(IFERROR(FIND("0 ",D2),0),IFERROR(FIND("1 ",D2),0),IFERROR(FIND("2 ",D2),0),IFERROR(FIND("3 ",D2),0),IFERROR(FIND("4 ",D2),0),IFERROR(FIND("5 ",D2),0),IFERROR(FIND("6 ",D2),0),IFERROR(FIND("7 ",D2),0),IFERROR(FIND("8 ",D2),0),IFERROR(FIND("9 ",D2),0))+1),0),IFERROR(FIND("3 ",D2,MAX(IFERROR(FIND("0 ",D2),0),IFERROR(FIND("1 ",D2),0),IFERROR(FIND("2 ",D2),0),IFERROR(FIND("3 ",D2),0),IFERROR(FIND("4 ",D2),0),IFERROR(FIND("5 ",D2),0),IFERROR(FIND("6 ",D2),0),IFERROR(FIND("7 ",D2),0),IFERROR(FIND("8 ",D2),0),IFERROR(FIND("9 ",D2),0))+1),0),IFERROR(FIND("4 ",D2,MAX(IFERROR(FIND("0 ",D2),0),IFERROR(FIND("1 ",D2),0),IFERROR(FIND("2 ",D2),0),IFERROR(FIND("3 ",D2),0),IFERROR(FIND("4 ",D2),0),IFERROR(FIND("5 ",D2),0),IFERROR(FIND("6 ",D2),0),IFERROR(FIND("7 ",D2),0),IFERROR(FIND("8 ",D2),0),IFERROR(FIND("9 ",D2),0))+1),0),IFERROR(FIND("5 ",D2,MAX(IFERROR(FIND("0 ",D2),0),IFERROR(FIND("1 ",D2),0),IFERROR(FIND("2 ",D2),0),IFERROR(FIND("3 ",D2),0),IFERROR(FIND("4 ",D2),0),IFERROR(FIND("5 ",D2),0),IFERROR(FIND("6 ",D2),0),IFERROR(FIND("7 ",D2),0),IFERROR(FIND("8 ",D2),0),IFERROR(FIND("9 ",D2),0))+1),0),IFERROR(FIND("6 ",D2,MAX(IFERROR(FIND("0 ",D2),0),IFERROR(FIND("1 ",D2),0),IFERROR(FIND("2 ",D2),0),IFERROR(FIND("3 ",D2),0),IFERROR(FIND("4 ",D2),0),IFERROR(FIND("5 ",D2),0),IFERROR(FIND("6 ",D2),0),IFERROR(FIND("7 ",D2),0),IFERROR(FIND("8 ",D2),0),IFERROR(FIND("9 ",D2),0))+1),0),IFERROR(FIND("7 ",D2,MAX(IFERROR(FIND("0 ",D2),0),IFERROR(FIND("1 ",D2),0),IFERROR(FIND("2 ",D2),0),IFERROR(FIND("3 ",D2),0),IFERROR(FIND("4 ",D2),0),IFERROR(FIND("5 ",D2),0),IFERROR(FIND("6 ",D2),0),IFERROR(FIND("7 ",D2),0),IFERROR(FIND("8 ",D2),0),IFERROR(FIND("9 ",D2),0))+1),0),IFERROR(FIND("8 ",D2,MAX(IFERROR(FIND("0 ",D2),0),IFERROR(FIND("1 ",D2),0),IFERROR(FIND("2 ",D2),0),IFERROR(FIND("3 ",D2),0),IFERROR(FIND("4 ",D2),0),IFERROR(FIND("5 ",D2),0),IFERROR(FIND("6 ",D2),0),IFERROR(FIND("7 ",D2),0),IFERROR(FIND("8 ",D2),0),IFERROR(FIND("9 ",D2),0))+1),0),IFERROR(FIND("9 ",D2,MAX(IFERROR(FIND("0 ",D2),0),IFERROR(FIND("1 ",D2),0),IFERROR(FIND("2 ",D2),0),IFERROR(FIND("3 ",D2),0),IFERROR(FIND("4 ",D2),0),IFERROR(FIND("5 ",D2),0),IFERROR(FIND("6 ",D2),0),IFERROR(FIND("7 ",D2),0),IFERROR(FIND("8 ",D2),0),IFERROR(FIND("9 ",D2),0))+1),0)),MAX(IFERROR(FIND("0 ",D2),0),IFERROR(FIND("1 ",D2),0),IFERROR(FIND("2 ",D2),0),IFERROR(FIND("3 ",D2),0),IFERROR(FIND("4 ",D2),0),IFERROR(FIND("5 ",D2),0),IFERROR(FIND("6 ",D2),0),IFERROR(FIND("7 ",D2),0),IFERROR(FIND("8 ",D2),0),IFERROR(FIND("9 ",D2),0)))+2, FIND(", NV ",D2)-IF(MAX(IFERROR(FIND("0 ",D2),0),IFERROR(FIND("1 ",D2),0),IFERROR(FIND("2 ",D2),0),IFERROR(FIND("3 ",D2),0),IFERROR(FIND("4 ",D2),0),IFERROR(FIND("5 ",D2),0),IFERROR(FIND("6 ",D2),0),IFERROR(FIND("7 ",D2),0),IFERROR(FIND("8 ",D2),0),IFERROR(FIND("9 ",D2),0))=MIN(IFERROR(FIND("0",D2),LEN(D2)),IFERROR(FIND("1 ",D2),LEN(D2)),IFERROR(FIND("2 ",D2),LEN(D2)),IFERROR(FIND("3 ",D2),LEN(D2)),IFERROR(FIND("4 ",D2),LEN(D2)),IFERROR(FIND("5 ",D2),LEN(D2)),IFERROR(FIND("6 ",D2),LEN(D2)),IFERROR(FIND("7 ",D2),LEN(D2)),IFERROR(FIND("8 ",D2),LEN(D2)),IFERROR(FIND("9 ",D2),LEN(D2))),MAX(IFERROR(FIND("0 ",D2,MAX(IFERROR(FIND("0 ",D2),0),IFERROR(FIND("1 ",D2),0),IFERROR(FIND("2 ",D2),0),IFERROR(FIND("3 ",D2),0),IFERROR(FIND("4 ",D2),0),IFERROR(FIND("5 ",D2),0),IFERROR(FIND("6 ",D2),0),IFERROR(FIND("7 ",D2),0),IFERROR(FIND("8 ",D2),0),IFERROR(FIND("9 ",D2),0))+1),0),IFERROR(FIND("1 ",D2,MAX(IFERROR(FIND("0 ",D2),0),IFERROR(FIND("1 ",D2),0),IFERROR(FIND("2 ",D2),0),IFERROR(FIND("3 ",D2),0),IFERROR(FIND("4 ",D2),0),IFERROR(FIND("5 ",D2),0),IFERROR(FIND("6 ",D2),0),IFERROR(FIND("7 ",D2),0),IFERROR(FIND("8 ",D2),0),IFERROR(FIND("9 ",D2),0))+1),0),IFERROR(FIND("2 ",D2,MAX(IFERROR(FIND("0 ",D2),0),IFERROR(FIND("1 ",D2),0),IFERROR(FIND("2 ",D2),0),IFERROR(FIND("3 ",D2),0),IFERROR(FIND("4 ",D2),0),IFERROR(FIND("5 ",D2),0),IFERROR(FIND("6 ",D2),0),IFERROR(FIND("7 ",D2),0),IFERROR(FIND("8 ",D2),0),IFERROR(FIND("9 ",D2),0))+1),0),IFERROR(FIND("3 ",D2,MAX(IFERROR(FIND("0 ",D2),0),IFERROR(FIND("1 ",D2),0),IFERROR(FIND("2 ",D2),0),IFERROR(FIND("3 ",D2),0),IFERROR(FIND("4 ",D2),0),IFERROR(FIND("5 ",D2),0),IFERROR(FIND("6 ",D2),0),IFERROR(FIND("7 ",D2),0),IFERROR(FIND("8 ",D2),0),IFERROR(FIND("9 ",D2),0))+1),0),IFERROR(FIND("4 ",D2,MAX(IFERROR(FIND("0 ",D2),0),IFERROR(FIND("1 ",D2),0),IFERROR(FIND("2 ",D2),0),IFERROR(FIND("3 ",D2),0),IFERROR(FIND("4 ",D2),0),IFERROR(FIND("5 ",D2),0),IFERROR(FIND("6 ",D2),0),IFERROR(FIND("7 ",D2),0),IFERROR(FIND("8 ",D2),0),IFERROR(FIND("9 ",D2),0))+1),0),IFERROR(FIND("5 ",D2,MAX(IFERROR(FIND("0 ",D2),0),IFERROR(FIND("1 ",D2),0),IFERROR(FIND("2 ",D2),0),IFERROR(FIND("3 ",D2),0),IFERROR(FIND("4 ",D2),0),IFERROR(FIND("5 ",D2),0),IFERROR(FIND("6 ",D2),0),IFERROR(FIND("7 ",D2),0),IFERROR(FIND("8 ",D2),0),IFERROR(FIND("9 ",D2),0))+1),0),IFERROR(FIND("6 ",D2,MAX(IFERROR(FIND("0 ",D2),0),IFERROR(FIND("1 ",D2),0),IFERROR(FIND("2 ",D2),0),IFERROR(FIND("3 ",D2),0),IFERROR(FIND("4 ",D2),0),IFERROR(FIND("5 ",D2),0),IFERROR(FIND("6 ",D2),0),IFERROR(FIND("7 ",D2),0),IFERROR(FIND("8 ",D2),0),IFERROR(FIND("9 ",D2),0))+1),0),IFERROR(FIND("7 ",D2,MAX(IFERROR(FIND("0 ",D2),0),IFERROR(FIND("1 ",D2),0),IFERROR(FIND("2 ",D2),0),IFERROR(FIND("3 ",D2),0),IFERROR(FIND("4 ",D2),0),IFERROR(FIND("5 ",D2),0),IFERROR(FIND("6 ",D2),0),IFERROR(FIND("7 ",D2),0),IFERROR(FIND("8 ",D2),0),IFERROR(FIND("9 ",D2),0))+1),0),IFERROR(FIND("8 ",D2,MAX(IFERROR(FIND("0 ",D2),0),IFERROR(FIND("1 ",D2),0),IFERROR(FIND("2 ",D2),0),IFERROR(FIND("3 ",D2),0),IFERROR(FIND("4 ",D2),0),IFERROR(FIND("5 ",D2),0),IFERROR(FIND("6 ",D2),0),IFERROR(FIND("7 ",D2),0),IFERROR(FIND("8 ",D2),0),IFERROR(FIND("9 ",D2),0))+1),0),IFERROR(FIND("9 ",D2,MAX(IFERROR(FIND("0 ",D2),0),IFERROR(FIND("1 ",D2),0),IFERROR(FIND("2 ",D2),0),IFERROR(FIND("3 ",D2),0),IFERROR(FIND("4 ",D2),0),IFERROR(FIND("5 ",D2),0),IFERROR(FIND("6 ",D2),0),IFERROR(FIND("7 ",D2),0),IFERROR(FIND("8 ",D2),0),IFERROR(FIND("9 ",D2),0))+1),0)),MAX(IFERROR(FIND("0 ",D2),0),IFERROR(FIND("1 ",D2),0),IFERROR(FIND("2 ",D2),0),IFERROR(FIND("3 ",D2),0),IFERROR(FIND("4 ",D2),0),IFERROR(FIND("5 ",D2),0),IFERROR(FIND("6 ",D2),0),IFERROR(FIND("7 ",D2),0),IFERROR(FIND("8 ",D2),0),IFERROR(FIND("9 ",D2),0)))-2)

Дополнительно:

, если я хочу извлечь почтовый индекс

тогда вы должны просто использовать =right(D2,5) |Ваша первоначальная формула, кажется, ищет 1-й и 2-й "" (пробел) слева, а не справа .. использование формулы right () не дает

списка всехназвания городов в Неваде

вы можете получить их через wolframalpha.com с "городами Невады" в качестве ввода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...