Excel 将一个单元格范围内的任何单元格与另一个单元格范围内的任何单元格匹配

Excel 将一个单元格范围内的任何单元格与另一个单元格范围内的任何单元格匹配,excel,excel-formula,Excel,Excel Formula,如果需要,我想要B13=是 如果角色列位于创建/审阅/或批准行中,则显示PM值B13/B14/B15在相应单元格中显示名称值 我希望避免将VBA用于解决方案尝试以下小UDF() 用户定义函数(UDF)非常易于安装和使用: ALT-F11将显示VBE窗口 ALT-I ALT-M打开一个新模块 粘贴内容并关闭VBE窗口 如果保存工作簿,则自定义项将与工作簿一起保存。 如果在2003年以后使用Excel版本,则必须保存 文件的格式为.xlsm而不是.xlsx 要删除UDF,请执行以下操作: 如上所述打

如果需要,我想要B13=是

如果角色列位于创建/审阅/或批准行中,则显示PM值B13/B14/B15在相应单元格中显示名称值

我希望避免将VBA用于解决方案

尝试以下小UDF()

用户定义函数(UDF)非常易于安装和使用:

  • ALT-F11将显示VBE窗口
  • ALT-I ALT-M打开一个新模块
  • 粘贴内容并关闭VBE窗口
  • 如果保存工作簿,则自定义项将与工作簿一起保存。 如果在2003年以后使用Excel版本,则必须保存 文件的格式为.xlsm而不是.xlsx

    要删除UDF,请执行以下操作:

  • 如上所述打开VBE窗口
  • 清除代码
  • 关闭VBE窗口
  • 要使用Excel中的自定义项,请执行以下操作:

    Public Function AnyMatch(r1 As Range, r2 As Range) As String
        Dim v As Variant, r As Range, rTemp As Range
        AnyMatch = "NO"
    
        For Each r In r1
            v = r.Value
            Set rTemp = r2.Find(What:=v, After:=r2(1), LookAt:=xlPart)
            If rTemp Is Nothing Then
            Else
                AnyMatch = "YES"
                Exit Function
            End If
        Next r
    End Function
    
    要了解有关宏的更多信息,请参阅:

    有关自定义项的详细信息,请参见:

    必须启用宏才能工作试试这个小UDF()

    用户定义函数(UDF)非常易于安装和使用:

  • ALT-F11将显示VBE窗口
  • ALT-I ALT-M打开一个新模块
  • 粘贴内容并关闭VBE窗口
  • 如果保存工作簿,则自定义项将与工作簿一起保存。 如果在2003年以后使用Excel版本,则必须保存 文件的格式为.xlsm而不是.xlsx

    要删除UDF,请执行以下操作:

  • 如上所述打开VBE窗口
  • 清除代码
  • 关闭VBE窗口
  • 要使用Excel中的自定义项,请执行以下操作:

    Public Function AnyMatch(r1 As Range, r2 As Range) As String
        Dim v As Variant, r As Range, rTemp As Range
        AnyMatch = "NO"
    
        For Each r In r1
            v = r.Value
            Set rTemp = r2.Find(What:=v, After:=r2(1), LookAt:=xlPart)
            If rTemp Is Nothing Then
            Else
                AnyMatch = "YES"
                Exit Function
            End If
        Next r
    End Function
    
    要了解有关宏的更多信息,请参阅:

    有关自定义项的详细信息,请参见:



    必须启用宏才能工作

    B7:D7仅由3个细胞组成。您能否澄清您给出的列表中每个单元格中的哪些条目(似乎由4个条目组成,而不是3个条目),即SQA、PM、DEV、IT?此外,当您提到“部分”匹配时,您是否意识到您的定义将意味着,例如,PM/DEV/BITE的第一个范围中的条目仍将从您的第二个范围注册为“匹配”,因为它被包含在咬里?如果这是您不希望看到的,那么您必须更清楚地了解这里的“匹配”的确切构成。我认为您希望在其他单元格中没有部分结果?这会使事情变得更简单,隐藏列可以解决问题。我的第一个范围如下,如果第二个范围中的3个值中的和部分匹配,那么是PM/Dev/It PM/Dev PM Dev It QA SQA*SQA**其他N/AI可以[t找出这些值中的哪个在哪个单元格中。你还没有回答我关于部分匹配的另一个问题(参见我的“BITE”示例)。B7:D7只包含3个单元格。你能澄清一下你给出的列表中每个单元格中的哪些条目(似乎由4个而不是3个组成),即SQA、PM、DEV、IT吗?还有,当你提到“部分”时匹配,您是否知道您的定义将意味着,例如,PM/DEV/BITE的第一个范围中的条目仍将从第二个范围中注册为“匹配”,因为它包含在BITE中?如果这是您不希望看到的,您必须更清楚地了解“匹配”的确切构成这里。我认为您希望在其他单元格中没有部分结果?这会使事情变得更容易,隐藏列可以解决问题。我的第一个范围如下,如果第二个范围中的3个值中的和部分匹配,则是PM/Dev/it PM/Dev PM Dev it QA SQA*SQ一个**其他N/AI无法确定这些值中的哪一个在哪一个单元格中。您还没有回答我的另一个关于部分匹配的问题(参见我的“BITE”示例)。抱歉,但是一些使用此xls文件的人不喜欢启用宏(一些是MAC用户),其他人担心“病毒”@DoowopDJ然后使用任何已发布的非VBA解决方案。非VBA解决方案在这篇文章中的位置是什么?@DoowopDJ你必须等待其他人发布答案……实现这一点的公式超出了我的能力。我已更新了我的问题示例。我希望这篇文章清楚问题所在,但有几个人使用此xls文件的用户不喜欢启用宏(有些是MAC用户),其他人担心“病毒”@DoowopDJ然后使用任何发布的非VBA解决方案。此帖子中的非VBA解决方案在哪里?@DoowopDJ您必须等待其他人发布答案……实现这一点的公式超出了我的能力。我已更新了我的问题示例。我希望清楚问题是什么
    =AnyMatch(A1:C1,H1:Z1)