匹配单元格中具有多个值的精确文本

匹配单元格中具有多个值的精确文本

我有一列以逗号分隔的值,需要查找是否存在特定文本。问题是,FIND() 函数和相关函数无法匹配精确的文本,因此如果我查找数字 1,函数会匹配 11。任何想法都将不胜感激。

提前致谢。

在此处输入图片描述

答案1

由于值以逗号分隔,因此只需查找逗号(并在要搜索的字符串的开头和结尾添加逗号)。

eg:   =FIND(","&F1&",",","&A1&",")  

答案2

要在单元格中查找 1 而不是 11,您可以使用正则表达式。

由于您使用逗号分隔的值,因此您的正则表达式需要匹配三件事:

  • 1,在文本开头(^锚点),或
  • ,1,文本中的任意位置,或
  • ,1位于文本末尾($锚点)。

有非常全面的信息这个 Stack Overflow 上的答案解释如何在 Excel 中执行此操作。

在 outline 中,您需要添加对正则表达式库的引用,并为正则表达式编写自定义函数。然后,您将能够在工作表公式中使用自定义函数,就像使用内置 Excel 函数(例如)一样FIND()

答案3

如果您的格式正如您所显示的,您可以尝试这个公式:

=IF(VALUE(LEFT(D4,FIND(",",D4,1)-1))=E4,"left",IF(VALUE(RIGHT(D4,LEN(D4)-FIND(",",D4,1))) = E4,"right",""))

答案4

假设您可以合理地预期此单元格中的条目数低于某个已知最大值(例如,5),并且它们由类似示例中的数字组成(11,13):

  1. 将列拆分为 5 个新列,每列包含两个逗号之间的文本
  2. 用文本制作数字
  3. 现在您可以将数字与数字进行比较。假设 E 是原始列,如您的示例所示:

第一个辅助列中的公式为:

=LEFT(E5;FIND(",",E5)-1)

第二个辅助列中的公式为:

=MID(E5;FIND(",";E5)+1;FIND(",";E5;FIND(",";E5)+1)-FIND(",";E5)-1)

等等。

相关内容