我正在尝试在excel的其中一列中为嵌套编写公式。 例如: 我想根据另一列中的匹配值自动获取一列中的值。 假设两列是A和B。 如果A包含“ Bank”之类的任何字符串,那么我希望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")
样本数据:Sample Data 我们在excel中有任何简单的方法或功能吗?
答案 0 :(得分:0)
在Excel中,例如对于A1
中的值,请按以下方式使用它:
=getNames(A1)
或者如果不区分大小写(A = a,B = b),请使用:
=getNames(A1,1)
代码
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