Excel,如果SEARCH函数返回数组,为什么有时不显示“#VALUE!”

t5fffqht  于 2023-03-04  发布在  其他
关注(0)|答案(1)|浏览(257)

| A类|B|C级|
| - ------|- ------|- ------|
| 阿托米|价值!||
| 阿耶里|价值!|汤姆|
| | | 杰瑞|
B2的代码为

=SEARCH(C2:C3,A1)

我是说,这是明智的选择。
但说到:
| A类|B|C级|
| - ------|- ------|- ------|
| 阿托米|第二章|汤姆|
| 阿耶里|第二章|杰瑞|
| | | |
B2的代码为

=SEARCH(C1:C2,A1)

#VALUE!消失了,它显示了一些东西。这是=SEARCH(C1,A1)的结果,但我没有键入它!我键入的是=SEARCH(C1:C2,A1),它应该是#VALUE!。它仍然是一个数组!
这不是一个大问题,因为它不影响ISNUMBERSUMPRODUCT的结果。但我很好奇在这种情况下发生了什么,因为我找不到任何合理的理由。
我的版本是Microsoft Office Excel 2016。

eufgjt7s

eufgjt7s1#

第二种方法有效,因为它在同一行中。搜索返回一个数组,然后尝试将其与Numbers和Errors(#N/A)匹配。
改为在INDEX/MATCH中换行:

=INDEX(SEARCH($C$2:$C$3,A1),MATCH(TRUE,ISNUMBER(SEARCH($C$2:$C$3,A1)),0))

对于2016,您可能需要在退出编辑模式时使用Ctrl-Shift-Enter(而不是Enter)确认公式,然后向下复制。

相关问题