Формула для проверки значений строк и извлечения столбцов - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть таблица в Excel, как показано на прикрепленном изображении (до столбца F), и я хотел бы увидеть последний столбец «Результат»:

ExcelData:
ExcelData

Столбец Result должен извлекать имена столбцов, в которых значения строк равны «IF».

Я могу использовать функцию IF в Excel, но это было бы длинное утверждение, которое мне пришлось бы написать, чтобы получить окончательный результат, если есть примерно 20 столбцов, которые мне нужно будет проверить.

Ответы [ 2 ]

0 голосов
/ 06 ноября 2018

Для Excel Online вы можете попробовать texjoin

=TEXTJOIN(",",TRUE,IF(B2:G2="IF",$B$1:$G$1,""))
0 голосов
/ 06 ноября 2018

Если у вас все в порядке с созданием пользовательской функции (UDF), то для этого вы можете создать собственную функцию рабочего листа.

В этой функции вы будете выполнять быстрый цикл в диапазоне ввода и проверять, равна ли любая ячейка в этом диапазоне «IF». Если это так, вы удалите букву столбца из свойства .Address.

Public Function getIFCols(ByVal rng As Range) As String

    Dim retVal As String, cel As Range

    For Each cel In rng.Cells
        If cel.Value = "IF" Then
            retVal = Trim(retVal & " " & colLtr(cel))
        End If
    Next

    getIFCols = Replace(retVal, " ", ", ")

End Function

Private Function colLtr(colRng As Range) As String

    colLtr = Split(colRng.Address, "$")(1)

End Function

Вы будете называть эту функцию так:

=getIFCols(B1:F1)

enter image description here

Самое замечательное в этой функции - она ​​не требует заданного количества столбцов. Так что если вам нужно проверить 3 столбца в одной строке и 10 в другой, это довольно динамично.

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