Вложено ли решение в Microsoft Excel для частичного соответствия строк - PullRequest
1 голос
/ 01 мая 2020

Я пытаюсь написать формулу для вложенных, если в одном из столбцов в Excel. Например: я хочу автоматически получить значения в одном столбце на основе соответствующих значений в другом столбце. Допустим, два столбца - это A и B. Если A содержит строку типа «Банк», то я хочу, чтобы столбец B был FGT_Bank_OSP. Если A содержит какую-либо строку, например «PDM», тогда я хочу, чтобы столбец B был «FGT_PDM_OSP. Точно так же у меня есть 25 других значений.

Я пытался использовать что-то подобное, но tjis не работает.

=IF(ISNUMBER(SEARCH("DMT_Bank_Sensitive",E5)), "DMT_Bank_SEN_OSP", IF(ISNUMBER(SEARCH("DMT_PDM_Sensitive",E5)), "DMT_PDM_SEN_OSP"),"No")

Пример данных: Пример данных Есть ли у нас какой-либо простой способ или какая-либо функция в excel?

Пример данных 2

1 Ответ

0 голосов
/ 01 мая 2020

Получить имена UDF

В Excel, например, для значения в A1 используйте его следующим образом:

=getNames(A1)

или если регистр не учитывается (A = a, B = b) использование:

=getNames(A1,1)

enter image description here

Код

Option Explicit

Function getNames(SearchString As String, _
  Optional CaseInSensitive1 As VbCompareMethod = 0) As String

    Dim SearchNames, ReturnNames, i As Long

    ' Add more values when needed. This can also be written to
    ' retrieve values from a range.
    SearchNames = Array("Bank", _
                        "CTAS", _
                        "PDM")

    ReturnNames = Array("FDG_Bank_Material", _
                        "FDG_CTAS_Data", _
                        "FDG_PDM_Sensitive")

    For i = 0 To UBound(SearchNames)
        If InStr(1, SearchString, SearchNames(i), CaseInSensitive1) <> 0 Then
            getNames = ReturnNames(i)
            Exit For
        End If
    Next i

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