Excel CF:匹配(2)列以相同开头、以不同结尾的文本

Excel CF:匹配(2)列以相同开头、以不同结尾的文本

寻求以下方面的帮助:A 和 B 是公司列表。目标是在 B 中突出显示与 A 匹配的公司

条件格式:=MATCH(LEFT(A2,8)&"*", $B$2:$B$24,0)

问题是它匹配了错误的项目并且缺少其他项目。

图片:

所有公司都以相同的文字开始,但结局可能不同。

我尝试了大约一百种公式组合,但似乎无法破解。我快成功了吗?提前感谢您的评论!

答案1

由于您的 Excel 版本支持动态数组,因此您可以使用此公式(适当调整范围):

=OR(LEFT(B2,LEN(TRANSPOSE($A$2:$A$5)))=TRANSPOSE($A$2:$A$5))

一步步来,就得到了 A 列的转置数组:

在此处输入图片描述

然后取 B 列值最左边的 N 个字符,其中 N 由每个数组项的长度定义:

在此处输入图片描述

现在将每个数组项与 A 列中转置值的另一个副本进行比较。如果它们匹配,则为 TRUE,否则为 FALSE:

在此处输入图片描述

最后,用 OR 包装整个内容以表示“如果有任何匹配,则返回 TRUE”。

我把公式和结果放在 C 列以直观地显示函数的结果,但您可以在条件格式规则中使用上面的完整 OR 函数,就像我所做的那样。

在此处输入图片描述

编辑:

现在我重新阅读它,它当然可以在没有 TRANSPOSE 调用的情况下工作,因此您也可以使用它:

=OR(LEFT($B2,LEN($A$2:$A$5))=$A$2:$A$5)

答案2

你可以尝试这个:

  1. 列表一在 A 列,列表二在 B 列,标题在第一行。

  2. 在 C1 中输入标题匹配

  3. 在 C2 中输入公式: =IFERROR ( FIND (B2, $A$2:$A$51), 0 )

    我假设有 50 行。如果在列表 1 中找到 B2,它将返回 1,否则返回 0。

  4. 将 C2 复制到下一行。

  5. 现在,选择区域B2:C51。看到 B2 被突出显示。

  6. 转到“主页”选项卡上的“条件格式”。

  7. 选择选项--->“管理规则”

  8. 在检查条件的文本框中输入步骤 9 中给出的公式

  9. =$C2=1并选择您喜欢的颜色。

  10. 请参阅列表 1 中找到的公司是否被突出显示。

相关内容