Excel 比较两个单元格中的值,即使值的顺序不同
我有两列A和B。单元格A1中的值为“abc,def,ghi”,单元格B1中的值为“ghi,abc,def”。这些单元格包含相同的值。但是,顺序不同。如果使用A1=B1,则得到false。我怎样才能把它做好 尝试以下用户定义的函数: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
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中项目的排列