繁体   English   中英

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

[英]EXCEL MATCH: Return 1 match from multiple criteria within 1 cell

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

谢谢!

假设您有上述表格中的数据

在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")

如果您有兴趣使用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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM