如何在 Excel 中使 FIND 函数精确

How to make FIND function exact in Excel

我在 Excel 中使用 FIND 函数来检查某些字符是否出现在单元格的字符串中。

但是,此功能对于某些特殊字符无法正常工作。特别是 F̌、B̌ 和其他一些。当 F̌ 出现在字符串中时,FIND 将其识别为 F 和 F̌。

值得注意的是,对于 Ď 和 Č 等字符,情况并非如此。 FIND 非常适合这些。

如何让公式始终区分带帽子和不带帽子的角色?有没有办法在 EXACT 中工作?

谢谢!

因为其实是两个字符

=LEN("F̌") returns 2 不是 1。第二个字是帽子

如果你这样做:

=UNICHAR(70)&UNICHAR(780) 

它将 return

因此 =FIND("F","F̌") 将 return 1 因为它是两个字符串的第一个字母。

要在 A,B,F̌,F 中查找 "F" 使用:

=AGGREGATE(15,7,ROW($ZZ1:INDEX($ZZ:$ZZ,LEN(A1)))/((MID(A1,ROW($ZZ1:INDEX($ZZ:$ZZ,LEN(A1))),1)="F")*(MID(A1,ROW($ZZ2:INDEX($ZZ:$ZZ,LEN(A1)+1)),1)<>UNICHAR(780))),1)

要找到其中一个,我们需要使用 IF:

=IF(LEN(A2)=2,FIND(A2,A1),AGGREGATE(15,7,ROW($ZZ:INDEX($ZZ:$ZZ,LEN(A1)))/((MID(A1,ROW($ZZ:INDEX($ZZ:$ZZ,LEN(A1))),1)=A2)*(MID(A1,ROW($ZZ:INDEX($ZZ:$ZZ,LEN(A1)+1)),1)<>UNICHAR(780))),1))

鉴于您的子字符串是逗号分隔的,请查找后跟逗号的字符(并在字符串末尾添加逗号以查找最后一个字符)。

这允许您将多字符子字符串与单字符子字符串分开,后者包含在前者中。

您可以使用类似的东西:

=FIND("F,",A5&",")

这将在 A5 中找到 F,但如果只有 存在,则不会找到 F