Как извлечь первое и последнее число из строки, разделенной точкой с запятой? - PullRequest
1 голос
/ 03 октября 2019

У меня есть строка в ячейке A1

7;19;28;42;

Я хотел бы извлечь первое и последнее числа. Я использовал это, чтобы извлечь первое число успешно

=IF(ISERROR(LEFT($a1,FIND(";",$a1)-1)),$a1,LEFT($a1,FIND(";",$a1)-1))

Я использовал это, чтобы попытаться извлечь последнее число

=IF(ISERROR(RIGHT($a1,FIND(";",$a1)+1)),$a1,RIGHT($a1,FIND(";",$a1)+1))

Однако проблема, которую я нахожу, заключается в том, что последнее числочасто имеет точку с запятой до и / или после нее. Есть ли вообще просто извлечь цифры?

Ответы [ 4 ]

1 голос
/ 04 октября 2019

Извлечь первое число:

=-LOOKUP(1,-LEFT(A1,ROW($1:$9)))

Извлечь последнее число:

=-LOOKUP(1,-RIGHT(TRIM(SUBSTITUTE(A1,";"," ")),ROW($1:$9)))
1 голос
/ 04 октября 2019

Укороченный вариант получения первого:

=LEFT($A1,FIND(";",$A1 & ";")-1)

Для получения последнего:

=SUBSTITUTE(MID($A1,FIND("}}}",SUBSTITUTE(";" & $A1,";","}}}",LEN(";" & $A1)-LEN(SUBSTITUTE(";" & $A1,";",""))-1)),LEN($A1)),";","")

enter image description here

0 голосов
/ 04 октября 2019

Только для собственного удовольствия, тот, который получает последний номер во всех этих случаях:

=TRIM(RIGHT(SUBSTITUTE(TRIM(SUBSTITUTE(A1,";"," "))," ",REPT(" ",LEN(A1))),LEN(A1)))

enter image description here

0 голосов
/ 04 октября 2019

Альтернативные решения только для FBF Friday-Brainstorm-Fun:)

Первый номер

=FILTERXML("<t><s>"&SUBSTITUTE(A1,";","</s><s>")&"</s></t>","t/s[1]")

Последний номер:

=--TRIM(RIGHT(SUBSTITUTE(LEFT(A1,LEN(A1)-1),";",REPT(" ",500)),100))

Solutions

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