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

如何在MS Excel或UiPath StudioX实现字符串相似度匹配及百分比展示?

实现提案重复/相似匹配的方案(Excel & UiPath StudioX)

一、在MS Excel中实现

1. 完全匹配(100%相似度)

用EXACT函数直接判断字符串是否完全一致,返回TRUE即100%匹配,FALSE则不是:

=EXACT(A2,B2)

要直接显示百分比的话,嵌套IF函数:

=IF(EXACT(A2,B2),"100%","")

2. 相似匹配(计算相似度百分比)

Excel没有原生相似度函数,可通过**编辑距离(Levenshtein距离)**自定义VBA函数实现:

  1. 按Alt+F11打开VBA编辑器,插入新模块,粘贴以下代码:
Function SimilarityPercent(str1 As String, str2 As String) As Double
    Dim len1 As Integer, len2 As Integer, editDist As Integer
    len1 = Len(Trim(str1))
    len2 = Len(Trim(str2))
    
    ' 处理空字符串场景
    If len1 = 0 And len2 = 0 Then
        SimilarityPercent = 1
        Exit Function
    End If
    If len1 = 0 Or len2 = 0 Then
        SimilarityPercent = 0
        Exit Function
    End If
    
    ' 计算编辑距离并转换为百分比
    editDist = Application.WorksheetFunction.LevenshteinDistance(Trim(str1), Trim(str2))
    SimilarityPercent = 1 - (editDist / WorksheetFunction.Max(len1, len2))
    SimilarityPercent = Round(SimilarityPercent * 100, 0)
End Function
  1. 返回Excel表格,在目标单元格调用函数:
=SimilarityPercent(A2,B2)&"%"

这个函数会自动去除字符串首尾空格,计算出相似度百分比,和你举例的场景匹配结果一致。

另外,也可以用微软官方免费的Fuzzy Lookup插件,支持批量比对两列数据,直接输出相似度得分,适合大量提案的批量筛选。

二、在UiPath StudioX中实现

1. 完全匹配

用表达式直接判断(自动去除首尾空格):

str1.Trim.Equals(str2.Trim)

要输出百分比的话,添加判断逻辑:

Dim similarity As String
If str1.Trim.Equals(str2.Trim) Then
    similarity = "100%"
End If

2. 相似匹配

UiPath自带String Similarity活动(在「Text」分类下),步骤如下:

  • 选择匹配算法(推荐Levenshtein,和Excel自定义函数逻辑一致)
  • 输入待比对的两个字符串
  • 活动会输出0-1之间的相似度小数,乘以100即可得到百分比

如果要批量处理数据库中的提案:

  • 用Database活动读取现有提案数据
  • 循环遍历新提交的提案,和数据库每条记录做相似度比对
  • 筛选出相似度≥设定阈值(比如80%)的记录,整理成结果展示

内容的提问来源于stack exchange,提问作者Naif Alhwsawi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 13:30:14