Excel 比较两个单元格中的值,即使值的顺序不同

Excel 比较两个单元格中的值,即使值的顺序不同,excel,excel-formula,vba,Excel,Excel Formula,Vba,我有两列A和B。单元格A1中的值为“abc,def,ghi”,单元格B1中的值为“ghi,abc,def”。这些单元格包含相同的值。但是,顺序不同。如果使用A1=B1,则得到false。我怎样才能把它做好 尝试以下用户定义的函数: Public Function SameStuff(s1 As String, s2 As String) As Boolean Dim bad As Boolean SameStuff = False ary1 = Split(Replac

我有两列A和B。单元格A1中的值为“abc,def,ghi”,单元格B1中的值为“ghi,abc,def”。这些单元格包含相同的值。但是,顺序不同。如果使用A1=B1,则得到false。我怎样才能把它做好

尝试以下用户定义的函数:

Public Function SameStuff(s1 As String, s2 As String) As Boolean
    Dim bad As Boolean

    SameStuff = False
    ary1 = Split(Replace(s1, " ", ""), ",")
    ary2 = Split(Replace(s2, " ", ""), ",")
    If UBound(ary1) <> UBound(ary2) Then Exit Function

    For Each a1 In ary1
        bad = True
        For Each a2 In ary2
            If a1 = a2 Then bad = False
        Next a2
        If bad = True Then Exit Function
    Next a1
    SameStuff = True
End Function
公共函数SameStuff(s1作为字符串,s2作为字符串)作为布尔值
像布尔一样糟糕
SameStuff=假
ary1=拆分(替换(s1,“,”),“,”)
ary2=拆分(替换(s2,“,”),“,”)
如果UBound(ary1)UBound(ary2),则退出函数
对于ary1中的每个a1
坏=真
对于ary2中的每个a2
如果a1=a2,则坏=假
下一个a2
如果bad=True,则退出函数
下一个a1
SameStuff=真
端函数
例如:

注意:

  • 空格字符将被丢弃
  • 每个单元格中可以有三个以上的项
  • TRUE表示B1中的项目是A1中项目的排列

尝试以下用户定义的功能:

Public Function SameStuff(s1 As String, s2 As String) As Boolean
    Dim bad As Boolean

    SameStuff = False
    ary1 = Split(Replace(s1, " ", ""), ",")
    ary2 = Split(Replace(s2, " ", ""), ",")
    If UBound(ary1) <> UBound(ary2) Then Exit Function

    For Each a1 In ary1
        bad = True
        For Each a2 In ary2
            If a1 = a2 Then bad = False
        Next a2
        If bad = True Then Exit Function
    Next a1
    SameStuff = True
End Function
公共函数SameStuff(s1作为字符串,s2作为字符串)作为布尔值
像布尔一样糟糕
SameStuff=假
ary1=拆分(替换(s1,“,”),“,”)
ary2=拆分(替换(s2,“,”),“,”)
如果UBound(ary1)UBound(ary2),则退出函数
对于ary1中的每个a1
坏=真
对于ary2中的每个a2
如果a1=a2,则坏=假
下一个a2
如果bad=True,则退出函数
下一个a1
SameStuff=真
端函数
例如:

注意:

  • 空格字符将被丢弃
  • 每个单元格中可以有三个以上的项
  • TRUE表示B1中的项目是A1中项目的排列

您好,单元格中的值是否总是以逗号分隔,后跟空格?如果我没弄错的话,对你来说“ghi,abc,def”=“abc,def,ghi”?比较A1和B1的结果应该是正确的?是的。但是,该值并不总是3。也可以有4个值例如:A1中的abc、def、ghi、xyz和B1Hi中的xyz、def、ghi、abc,单元格中的值是否始终以逗号分隔,后跟空格?如果我没弄错的话,对你来说“ghi,abc,def”=“abc,def,ghi”?比较A1和B1的结果应该是正确的?是的。但是,该值并不总是3。也可以有4个值例如:A1中的abc、def、ghi、xyz和B1中的xyz、def、ghi、abc