Несколько критериев функции поиска в Excel - PullRequest
0 голосов
/ 13 сентября 2018

Я хочу иметь возможность вернуть номер позиции текста в ячейке, как вы делаете это с помощью функции ПОИСК, но возможно ли это с несколькими критериями?

например, текст в ячейке "Iphone 7 Sep 18 $ 20"

= SEARCH (" Sep ", F10,1) Я ищу" Sep ", и SEARCH вернул позицию 10 - хорошо

Но что, если эта ячейка может быть любой из 12?месяцы?Я хочу вернуть номер позиции, если в ячейке есть какой-либо из 12 месяцев.Возможно ли это с помощью ПОИСКА или какой-либо другой функции?

1 Ответ

0 голосов
/ 13 сентября 2018

Попробуйте следующую пользовательскую функцию:

Public Function Msearch(llist As Variant, s As String) As Long
    Dim i As Long, sTemp As String

    If TypeName(llist) = "Range" Then
        sTemp = llist.Value
    Else
        sTemp = llist
    End If

    If InStr(sTemp, ",") = 0 Then
        Msearch = InStr(s, llist)
        Exit Function
    End If

    Msearch = 0

    arr = Split(sTemp, ",")
    For Each a In arr
        i = InStr(s, a)
        If i > 0 Then
            Msearch = i
            Exit Function
        End If
    Next a
End Function

Может использоваться как SEARCH(), за исключением того, что первый аргумент может быть списком через запятую:

enter image description here

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