簡體   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