比较 Excel 工作表中两列中的两个字符串

比较 Excel 工作表中两列中的两个字符串

有人能帮我纠正这些数据吗?这类数据有一长串:

在此处输入图片描述

  • 如果有完全匹配的列,例如第 5 行(Harley-harley),它应该在 C 列中返回 1 或“true”。
  • 对于不完全匹配的列,例如第 3 行(Kerry Sean-Kelvin),它应该在 C 列中返回 0 或“false”,
  • 当第 1、2、4 和 6 行等两列之间不匹配的情况很小时,应该返回 -1 或“不匹配”。

答案1

您可以使用以下公式:

=IF(A1=B1, "1",IF(B1=LEFT(A1,LEN(B1)), "-1", IF(B2=RIGHT(A2,LEN(B2)), "-1", "0")))

至于“小的不匹配”,它只会检测 B1 是 A1 的前缀或后缀的情况(因此“Sonica”和“onica”会产生“-1”)。

在此处输入图片描述

检测 A1 中任意位置的一个字符的不匹配(例如“Jessica”与“Jassica”)更加复杂,需要一些编程。

答案2

对于第一个,您可以使用 IF 函数比较字符串并得到 True 或 False 的结果。

语法:IF(A1=B1,"True","False")

如果要匹配大小写,可以使用 EXACT 函数。它会检查大小写和其他字符。

您必须将这两个函数与其他基于字符串的函数组合才能获得结果。因为您的案例并不完全是静态的。

答案3

您必须决定匹配的字符数,我使用 3 作为限制,如果 3 个字符匹配,结果将为 -1,如果少于 0,如果全部匹配 1,则在 C1 中输入公式并按Shift + Ctrl + Enter数组公式,您可以拖动它:

=IF(ISNA(IF(A1=B1,1,IF(SUM(MATCH(MID(B1,ROW(INDIRECT("1:"&LEN(B1))),1),MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),0))>3,-1,0))),0,IF(A1=B1,1,IF(SUM(MATCH(MID(B1,ROW(INDIRECT("1:"&LEN(B1))),1),MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),0))>3,-1,0)))

相关内容