Excel: извлечение числа с определенным форматом из текста - PullRequest
0 голосов
/ 23 января 2019

Мне нужно извлечь определенное число из нескольких ячеек, которые содержат текст и цифры.Тексты, которые мне нужно отсканировать, выглядят примерно так:

"Lorem ipsum dolor sit amet 5, consittet adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim adминимальный вениам 10%, упражнения для полных упражнений ullamco Laboris Nisis ut aliquip ex ea Commodo Conquat. Duis aute irure 20% долора в репеендерите у волюптата Velit esse cillum dolore eu fugiat nulla pariatur.*, sunt in culpa qui officia deserunt mollit anim id est labum "

Мне нужно извлечь значение, выделенное жирным шрифтом, которое варьируется в зависимости от текста, но всегда в процентах, с двумя цифрами после десятичной точки,В тексте есть другие цифры и проценты.Чтобы быть конкретным: мне нужен способ извлечения только значений с двумя цифрами после десятичной точки из текста.Есть ли способ добиться этого с помощью функции Excel?

1 Ответ

0 голосов
/ 24 января 2019

С нормальным Excel я понятия не имею. С VBA вы можете использовать UDF для этого.

Этот код будет всегда последний% в тексте. Он получит все цифры. И он вернет значение% в виде строки . Если вам нужно это как число, тогда нужно изменить UDF.

Public Function EXTRACT_LAST_PERCENT(ByVal vThisCell As Range) As String

If vThisCell.Count <> 1 Then
    EXTRACT_LAST_PERCENT = "This UDF only works with 1 cell"
    Exit Function
End If


Dim STR As String

STR = vThisCell.Value

Dim MyValues As Variant

MyValues = Split(STR, "%")

Dim i As Byte

'% target will be always the last, according to OP
'so it will be in Ubound-1 always
'we split again using blanks as delimiter

STR = MyValues(UBound(MyValues) - 1)

Erase MyValues

MyValues = Split(STR, " ")

'now % target is in Ubound


EXTRACT_LAST_PERCENT = MyValues(UBound(MyValues))

Erase MyValues

End Function

Вот что я получаю:

enter image description here

Надеюсь, вы сможете адаптировать это к вашим потребностям.

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