搜索类型为“0”的 Google 表格 MATCH 返回不正确的结果

Google Sheets MATCH with search type '0' returning incorrect result

提问人:Adam Higgins 提问时间:4/15/2023 最后编辑:Adam Higgins 更新时间:4/15/2023 访问量:54

问:

谷歌表格中的 MATCH 函数在处理包含问号的单元格时似乎表现出不正确的行为。

作为最小示例,在单元格 A1 中放置一个问号,在单元格 C1 中放置以下等式:。只要 B 列中有任何非空单元格,此公式就会产生“1”。=MATCH(A1,B1:B,0)

这是出乎意料的,因为 MATCH 函数中的第三个参数是“search-type”,而搜索类型 0 应该只查找完全匹配项。使用此公式,只要 B 列中没有值为问号的单元格,我就希望它返回“N/A”的结果。

如果单元格 A1 包含的不仅仅是一个问号,则并不总是发生此错误。但是,如果单元格 A1 的格式为“X?”,其中 X 是字符串,并且 B 列中有一些单元格的值为“X Y”(其中 Y 是某个非空字符串),则也会发生此错误。

有谁知道为什么会发生这个错误?我该如何避免这个错误?


编辑:自从发布这个问题以来,我发现了另一个问题:

带有问号符号的 COUNTIF

这似乎是一个相关的问题。在链接的线程中,答案解释说公式将问号符号视为通配符,因此要使用文字问号,您需要通过“~?”“对其进行”转义”。但是,此解决方案对我不起作用,因为这依赖于知道您尝试匹配的单元格包含问号。

我想这会将我的问题修改为:有没有办法修改匹配函数以自动停止它将问号视为通配符?

幼稚的方法只是手动将单元格值中的问号替换为“~?”,但我真的不想这样做。有人有更好的想法吗?


编辑2:我发现的另一个hacky解决方案是以下公式:。这是我能希望的最好的吗?还是有更好的方法?=MATCH(SUBSTITUTE(A1,"?", "~?"),B1:B,0)

Google 表格 匹配

评论


答:

2赞 rockinfreakshow 4/15/2023 #1

您可以尝试 xmatch

=xmatch(A1,B:B)

enter image description here