Excel公式比较两个字符串

时间:2018-05-06 20:04:08

标签: excel string vba excel-vba text

screen shot of formula click here

我需要将事务文件中的产品与查找工作表中的产品进行比较。值似乎相等但不评估为相等。在VBA中尝试了不同的方法(StrComp,CStr,Trim(),在字符串的开头和结尾添加一个字母用于比较)和Excel公式试图解决这个问题。

在照片中, 从事务工作簿复制单元格C4,并从查找工作簿复制单元格D4。公式计算结果为False。如果我只是将此字符串值键入两个不同的单元格并应用公式,则计算结果为True,但是当我从其他工作簿(事务工作表和查找工作表)复制两个单元格时,公式计算结果为false。

有什么想法吗?

Excel公式:=IF(TRIM(UPPER(C4))=TRIM(UPPER(D4)),TRUE, FALSE)

A5314A A5314A

1 个答案:

答案 0 :(得分:0)

在Excel中使用CLEAN Neilsen建议的CLEAN功能就是答案:

=IF(TRIM(UPPER(CLEAN(C4)))=TRIM(UPPER(CLEAN(D4))),TRUE, FALSE)

正如Sam在VBA中建议使用此函数也起作用并且StrComp方法评估为0:

a = "A" & Application.WorksheetFunction.Clean(Trim(CStr(Sheet1.Cells(i, 1).Value2))) & "A"`
b = "A" & Application.WorksheetFunction.Clean(Trim(CStr(Sheet2.Cells(i2, 1).Value2))) & "A"
If StrComp(a, b) = 0 Then