EXCEL MATCH:从1个像元中的多个条件返回1个匹配项

时间:2019-02-28 14:30:57

标签: excel excel-formula excel-match

Example Screenshot 假设第1列具有ID,第2&3列具有描述。第2&3列中的多个值都有LCD的说明,但是我正在寻找一个具有LCD,TCD和MCD的匹配项,并且所有这些值都在同一个单元格中(无论该单元格中是否还存在其他值)。我该如何返回第4列中LCD + TCD + MCD(来自第2&3列)的一种组合的ID(从第1列)[假设其中一些值存在于其他单元格中,但我不希望这些其他单元格值返回,我想匹配一个单元格中的多个条件,而不是多个单元格中的值]?

谢谢!

2 个答案:

答案 0 :(得分:0)

Assuming you have data as mentioned table

在ID A和B的说明列中,我们提供了LCD,MCD和TCD,并且您希望在第3列中使用ID A和B,而在第4行中不使用ID,因为我们那里只有TCD。 如果是这样,您可以使用以下公式,否则请提供数据样本:

=IF(AND(ISNUMBER(SEARCH("LCD",B2)),ISNUMBER(SEARCH("MCD",B2)),ISNUMBER(SEARCH("TCD",B2))),A2,"No")

答案 1 :(得分:0)

如果您有兴趣使用VBA,请尝试:

Option Explicit

Sub Sample()

    Dim Lastrow As Long, i As Long, y As Long, Times As Long
    Dim arr As Variant

    With ThisWorkbook.Worksheets("Sheet1")

        Lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row

        For i = 3 To Lastrow

            arr = Split(.Range("B" & i), " ")

            Times = 0

             For y = LBound(arr, 1) To UBound(arr, 1)

                If InStr(1, .Range("C" & i).Value, arr(y)) > 0 Then

                    Times = Times + 1

                End If

            Next y

            If Times = UBound(arr) + 1 Then
                .Range("D" & i).Value = .Range("A" & i).Value
            End If

        Next i

    End With

End Sub