Как проверить, есть ли подстрока в любой записи в строках таблицы Excel? - PullRequest
0 голосов
/ 12 сентября 2018

Итак, у меня есть таблица с несколькими столбцами.

enter image description here

Так что для каждого из идентификаторов (1, 2, 3) я хотел бы проверить, в каком столбце есть подстрока * (как вы видите, иногда это в B, а иногда в C). Затем я хотел бы извлечь всю строку, которая содержит * и связана с данным идентификатором.

Предположим, что моя фактическая таблица содержит более 10 столбцов, но идея остается прежней. Другими словами, записи, которые я ищу, которые содержат определенную подстроку, разбросаны по всем 10 различным столбцам.

Ответы [ 2 ]

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

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

Public Function FindTheStar(rng As Range) As String
    Dim r As Range, v As String
    FindTheStar = ""
    For Each r In rng
        v = r.Text
        If InStr(v, "*") > 0 Then
            FindTheStar = v
            Exit Function
        End If
    Next r
End Function

Он найдет и вернет первую ячейку в любом диапазоне, содержащем звездочку.

enter image description here

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

Используйте HLOOKUP

=HLOOKUP("*~**",B1:C1,1,FALSE)

Поскольку звездочка (*) является подстановочным знаком, нам необходимо добавить его с тильдой (~), чтобы указать Search для поиска действительного символа.

Внешние * позволяют HLOOKUP смотреть на детали.

enter image description here

...