Как я могу искать диапазон для строки и затем возвращать строку, где она была найдена
Я использую эту формулу ниже =COUNTIF(rng,"*"&value&"*")>0, чтобы увидеть, есть ли она там и она работает, но как мне вернуть данные? что было найдено в этом ряду
=COUNTIF(rng,"*"&value&"*")>0
Вы можете использовать AGGREGATE, если смотрите в двухмерном диапазоне:
=AGGREGATE(15,7,ROW(D9:G17)/(D9:G17=B1),1)
Для частичного совпадения:
=AGGREGATE(15,7,ROW(D9:G17)/(ISNUMBER(SEARCH(B1,D9:G17))),1)
Рассмотрим следующую пользовательскую функцию:
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
Например:
ПРИМЕЧАНИЕ:
Это дает номер строки относительно рабочего листа. Чтобы получить номер строки относительно начала диапазона, используйте:
FindRow = r.Row - rTop + 1