2014-10-07 3 views
0

Мне нужна формула, которая вернет графство, отдельно от кода и даты.Как игнорировать последние два слова в ячейке

Kent BEC100 30/09/14 

Не все уезды одно слово, так что я нужна формула, которая игнорирует последние два слова, у меня есть один, который будет найти последнее слово, второе последнее слово, первое слово, но мне нужно один, который будет тянуть все кроме двух последних слов. Есть случаи, когда графства нет, поэтому я думаю, что мне нужно добавить ISERROR?

Bedford BED101 30/09/14 
BLA102 30/09/14 
Lancs BOL100 30/09/14 
Coventry, West Midla COV100 30/09/14 
west Sussex CRA101 30/09/14 
+0

Являются ли слова всегда разделены ровно одним пробелом? – Bathsheba

+0

Да, потому что я уже использовал TRIM на них :) – DannyBland

ответ

2

Если строка не содержит трубу и уже обрезаны, а затем использовать

=LEFT(A1,FIND("|",SUBSTITUTE(A1," ","|",-1+LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))-1)

Вот как это работает:

LEN(A1)-LEN(SUBSTITUTE(A1," ","") является количество пробелов.

SUBSTITUTE вставляет трубу в предпоследнем пространстве (с помощью моего -1)

FIND получает позицию этой трубы.

LEFT извлекает строку до этой точки.

Если ваша строка содержит трубку, используйте другой символ. Вы можете вложить все это в IFERROR (вы ссылаетесь на это в вопросе), если вам нужна более уверенность.

2

В вашем примеры кода и даты всегда той же длины, так что эта формула будет работать, если что всегда держит

=TRIM(MID(A1,1,LEN(A1)-15))

+0

+1, используйте это решение, если это возможно. Моя самая большая ошибка заключается в том, что я слишком сильно опираюсь на строгость за счет ремонтопригодности. – Bathsheba

Смежные вопросы