Excel- Извлечь номер из ячейки - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть несколько ячеек, из которых я пытаюсь извлечь число, и мне нужна помощь в поиске альтернативы регулярному выражению.

Ячейки варьируются в следующих форматах:

asdfs. Seat#29 asfddsa 
asdfsa. Seat#5d 
asdfasN/A . Seat#22 as789fsd 
Seat#111 words33

БлижайшийЯ пришел к решению:

=IFERROR(TRIM(MID([@DisplayName],FIND("#",[@DisplayName])+1,3)),"")

Как вы можете видеть, это извлечет большинство чисел, но для некоторых это оставляет символ в конце.

Единственная общность - это# перед номером места.Я пытаюсь извлечь только номер места, никаких других номеров.

Я не могу использовать VBA, это должно быть сделано с помощью формул.Я уже однажды понял это, но тупо вставил в формулы только вставку значений.

Это можно сделать, используя флэш-заливку, но я надеялся на более стабильную формулу.

Ответы [ 3 ]

0 голосов
/ 06 февраля 2019

Вот решение без VBA для извлечения всех чисел внутри строк.https://drive.google.com/open?id=1Fk6VFznD3i8s6scADy_vXCEj-1zQpBPW

Лист № 3

0 голосов
/ 06 февраля 2019

Если вам нужны только цифры, используйте:

=--MID(A1,FIND("#",A1)+1,AGGREGATE(15,6,ROW(1:5)/(ISERROR(--MID(REPLACE(A1,1,FIND("#",A1),""),ROW(1:5),1))),1)-1)

enter image description here

Если вам нужна буква также, то:

=MID(A1,FIND("#",A1)+1,FIND(" ",REPLACE(A1,1,FIND("#",A1),""))-1)

enter image description here

0 голосов
/ 06 февраля 2019

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

.*#(\d+)

Правка для ясности: в Excel нет встроенных функций регулярных выражений. Вам также придется использовать UDF (Iможет помочь с этим, если хотите) или использовать решение без регулярных выражений.

...