在 INDEX(MATCH(COUNTIF())) 公式中处理标准字符处的通配符

Treating wildcards at standard characters in an INDEX(MATCH(COUNTIF())) formula

我正在使用公式:

=(INDEX($A:$A0, MATCH(0, COUNTIF($B:B1, $A:$A0), 0))

这会从 A 列中获取值列表并将其复制到 B 列中,以便每个值仅显示一次,即如果值重复,则会被跳过。

在大多数情况下,它完全按照我希望的方式工作,但是,A 列中的某些值包含通配符“?”。

是否可以用这个公式来处理'?'作为一个标准字符?理想情况下,我希望将此规则包含在公式本身中,而不必使用“~?”执行 'find and replace'。这完全可能吗?

非常感谢

你需要"escape"那些字符。这与在 Excel 中搜索时的做法相同,方法是在它们前面加上波浪号字符:~

所以这搜索问号:

=MATCH("~?",A1:A10,0)

将您的公式更改为:

=(INDEX($A:$A0,MATCH(0,COUNTIF($B:B1,SUBSTITUTE($A:$A0,"?","~?")),0)))

通过ctrl+shift+enter

确认

这会将条件数组中的 ? 替换为公式中的 ~?