You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Excel中使用公式或VBA宏比较两个字符串?

实现无序单词字符串的相等比较

一、Excel公式实现

如果你的Excel是Office 365及以后版本(支持TEXTSPLIT、SORT、TEXTJOIN函数),可以用以下公式直接完成比较:
假设待比较的两个字符串分别在A1和B1单元格,公式如下:

=TEXTJOIN(" ",TRUE,SORT(TEXTSPLIT(A1," ")))=TEXTJOIN(" ",TRUE,SORT(TEXTSPLIT(B1," ")))

公式逻辑:

  • TEXTSPLIT(A1," "):将字符串按空格拆分为单个单词的数组
  • SORT(...):对拆分后的单词数组按字母顺序排序
  • TEXTJOIN(" ",TRUE,...):把排序后的数组重新拼接成有序字符串
  • 最后比较两个有序字符串是否相等,相等则返回TRUE

若使用旧版Excel(无上述函数),可使用数组公式实现:

=SUMPRODUCT(--(COUNTIF(TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",99)),ROW(INDIRECT("1:"&LEN(A1)-LEN(SUBSTITUTE(A1," ",""))+1))*99-98,99)),TRIM(MID(SUBSTITUTE(B1," ",REPT(" ",99)),ROW(INDIRECT("1:"&LEN(B1)-LEN(SUBSTITUTE(B1," ",""))+1))*99-98,99)))=1))=LEN(A1)-LEN(SUBSTITUTE(A1," ",""))+1

该公式通过拆分单词并统计匹配次数,确保两个字符串的单词完全一致且数量相同。

二、VBA宏实现

你可以编写自定义函数来完成比较,步骤如下:

  1. 打开Excel,按Alt+F11进入VBA编辑器
  2. 右键点击当前工作簿,选择「插入」→「模块」
  3. 粘贴以下代码:
Function CompareUnorderedStrings(str1 As String, str2 As String) As Boolean
    Dim arr1 As Variant, arr2 As Variant
    Dim i As Integer
    
    ' 按空格拆分字符串为单词数组
    arr1 = Split(str1, " ")
    arr2 = Split(str2, " ")
    
    ' 单词数量不同直接返回False
    If UBound(arr1) <> UBound(arr2) Then
        CompareUnorderedStrings = False
        Exit Function
    End If
    
    ' 对两个数组排序
    SortArray arr1
    SortArray arr2
    
    ' 逐一对比排序后的单词
    For i = LBound(arr1) To UBound(arr1)
        If arr1(i) <> arr2(i) Then
            CompareUnorderedStrings = False
            Exit Function
        End If
    Next i
    
    CompareUnorderedStrings = True
End Function

' 辅助排序子过程
Sub SortArray(arr As Variant)
    Dim i As Integer, j As Integer
    Dim temp As String
    
    ' 冒泡排序数组元素
    For i = LBound(arr) To UBound(arr) - 1
        For j = i + 1 To UBound(arr)
            If arr(i) > arr(j) Then
                temp = arr(i)
                arr(i) = arr(j)
                arr(j) = temp
            End If
        Next j
    Next i
End Sub
  1. 返回工作表,在单元格中输入=CompareUnorderedStrings(A1,B1)即可得到比较结果

内容的提问来源于stack exchange,提问作者Ashok Beeram

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 21:30:32