Диапазон поиска в Excel, возврат содержимого строки - PullRequest
1 голос
/ 28 февраля 2020

Как я могу искать диапазон для строки и затем возвращать строку, где она была найдена

Я использую эту формулу ниже =COUNTIF(rng,"*"&value&"*")>0, чтобы увидеть, есть ли она там и она работает, но как мне вернуть данные? что было найдено в этом ряду

Ответы [ 2 ]

0 голосов
/ 28 февраля 2020

Вы можете использовать AGGREGATE, если смотрите в двухмерном диапазоне:

=AGGREGATE(15,7,ROW(D9:G17)/(D9:G17=B1),1)

Для частичного совпадения:

=AGGREGATE(15,7,ROW(D9:G17)/(ISNUMBER(SEARCH(B1,D9:G17))),1)

enter image description here

0 голосов
/ 28 февраля 2020

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

Public Function FindRow(v As Variant, rLook As Range) As Variant
    Dim r As Range, rTop As Long
    rTop = rLook(1).Row
    For Each r In rLook
        If InStr(r.Value, v) > 0 Then
            FindRow = r.Row
            Exit Function
        End If
    Next
    FindRow = CVErr(xlErrNA)
End Function

Например:

enter image description here

ПРИМЕЧАНИЕ:

Это дает номер строки относительно рабочего листа. Чтобы получить номер строки относительно начала диапазона, используйте:

FindRow = r.Row - rTop + 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...