2015-12-07 5 views
1

У меня есть строка в excel, такая как «Ariel Block SC-01-06», но я хочу только «SC-01-06». Какую формулу я должен использовать?Вырезать строку в excel

Например, имя похоже на «FSC Block SC-02-07», я хочу только последнюю часть, которая находится сразу после последнего пробела в имени.

Единственная формула я придумал это,

=RIGHT(A1,FIND(" ",A1)) 

... но это не похоже на работу.

+0

Вы должны упомянуть немного больше о данных, которые у вас есть. Всегда ли Ariel Block вы хотите удалить? Это может быть «JohnSmith SC-01-06»? Это может быть «Ариэль Блок Мэтьюз AB-11-22»? Может ли это «Джон Смит действительно ABCDE-12345-54321'? Это может быть «Воздушная А-1-2-3-4-5-6»? – zedfoxus

+0

@zedfoxus Спасибо, я уже обновил свой вопрос. В имени, я хочу только часть имени, которое находится сразу после последнего пробела строки –

ответ

0

Это зависит от того, что вы хотите использовать в качестве разделителя или шаблона для принятия решения, какая часть строки отбрасывать, но сейчас я буду считать, что последнего пространства в строке отмечает начала строки, которая вы хотите сохранить. Если это так, то вы можете использовать обратный поиск строк (см.: http://www.exceltactics.com/reverse-string-search-excel-using-find/4/). Например:

=IF(ISERROR(FIND(" ",A1)),A1,RIGHT(A1,LEN(A1)-FIND("~",SUBSTITUTE(A1," ","~",LEN(A1)-LEN(SUBSTITUTE(A1," ","")))))) 

Для более объяснения о том, как это работает, увидеть начало оригинальной статьи: http://www.exceltactics.com/reverse-string-search-excel-using-find/

Если у вас какой-то другой метод обнаружения, где начинается нужная строка, и вы могли бы определите, что в качестве числа (например, номер символа 13 и далее) вы можете просто использовать =MID(A1, (your_function_here), LEN(A1))

+0

Большое спасибо. Он работает. :) –

6

Развернуть последнее пространство (фактически все пробелы) до ширины исходной цельной строки, а затем обрезать правый конец и обрезать его до получить последний элемент, ограниченный пробелом.

=trim(right(substitute(a1, " ", rept(" ", len(a1))), len(a1))) 

Уроженец лист REPT function является equvilent из Space функции УВЫ.

+0

WOW..thanks so much..It work .. –

+0

Это замечательно решение! – zedfoxus

+0

@ Jeeped, я использовал решение Rept bajillion раз, но всегда жестко закодировал 255, используя Len оригинала, мне никогда не приходило в голову, какое изящное решение. –

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