excel - 为什么 Match("text", A:A) 函数不适用于 Excel 中的文本
解决方案
短篇故事
正确的使用方法Match()
是Vlookup()
始终写入False
最新的可选参数,以获得您需要的 - 确切的值位置或错误,如果它不存在。因此:
=MATCH("s",A:A,False) 'or 0 instead of False
很长的故事
什么是False
默认行为?这是根据Match() 文档:
MATCH 找到第一个完全等于 lookup_value 的值。lookup_array 参数中的值可以是任何顺序。
回到我们的问题 -为什么它不起作用?因为默认参数[match_type]
设置为1
,即Less Than or Equal
:
- 如果您需要使用
-1
或1
作为可选match_type
参数,则必须对值进行排序以返回一些有意义的见解。
match_type
但是,这个公式中的“小于或等于”(默认参数)是什么?如果你问 Excel,它是这样认为的:
="a">"s" 'False
="a"<"s" 'True
="a"="s" 'False
但是,它还是做错了。为什么它开始评估并与第二个值进行比较"a"
并返回它的位置,好像从第一个单元格开始会满足“小于或等于”条件?这确实使事情变得更加有趣,因为这里还有 Excel 的其他“隐藏”功能 - 例如,将范围的第一个单元格设置为最后一个要检查的单元格,这在某些函数中是内置的。
于是,它开始与 比较"a"
,发现它小于或等于并返回它的位置。任务完成!
要完全失去这个人,如果您将问题中的公式更改为=MATCH("s";A1:A2)
,它将返回您所期望的,因此检查最后一个函数的第一个单元格取决于范围的类型。
推荐阅读
- java - 来自 Firebase 的 dataSnapshot.getValue(MyClass.class) 在开发中工作正常,但在发布到 Play 商店后得到空值
- docker - 如何将字典和列表成员添加到键中?
- excel - 检测新的 Excel 溢出模式并重置它
- angular - 使用spring security的auth api调用的交叉错误
- java - Java:浅拷贝(克隆)对我不起作用?
- compiler-errors - 这个帕斯卡语法有什么问题?? - 导致编译器错误
- statistics - 全族误差计算的问题
- rest - 运行 curl post 请求以获取图像预测时出现“无法进行 base64 解码”错误 [Tensorflow Serving]
- flutter - 将容器与按钮对齐,在屏幕底部的列中
- python - 用一个简单的数据集理解 LSTM