НАЙТИ в обратном порядке (справа налево, FINDrev) функцию Excel UDF - PullRequest
0 голосов
/ 26 октября 2019

Я потратил много времени на поиск простой функции НАЙТИ в обратном порядке в Excel и нашел некоторые формулы, которые были слишком длинны на мой вкус (например, Как я могу выполнить поиск в обратной строке в Excel, не используяVBA? ).

Итак, я закончил тем, что создал свой собственный, более простой, ниже, который дает вам последнее слово в строке путем нахождения позиции последнего пробела (или 1-го справа отleft).

=RIGHT(A1,FINDrev(” “,A1))

Если вы запустите эту формулу в предложении над ней (поместите в ячейку A1), она даст вам результат «left». »Все, что вам нужно, это определить 3-рядный VBA UDF FINDrev () и сохранить его в постоянно доступной надстройке xlam:

Public Function FINDrev(Find_text As String, Within_text As String)
FINDrev = Len(Within_text)-Len(Find_text)-InStrRev(Within_text, Find_text)+1
End Function

Кто-нибудь нашел более простое решение для FIND-in-reverse?

1 Ответ

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

Вы можете попробовать встроенную функцию VBA InStrRev().

Вы можете найти документ здесь, https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/instrrev-function.

Я сделаю UDF подобным образом.

Function myRightRev(find_text As String, Within_text As String) As String
    myRightRev = Mid(Within_text, InStrRev(Within_text, find_text) + 1)
End Function
...