MATCH抛出数据types错误
我有一个要求做基于2列数据的参考查找。 公式在“函数参数”对话框中显示正确的结果,但由于某种原因显示#VALUE!
在细胞中。 下面是正在发生的事情的简单示例,参考数据显示在第2到第5行。
C8
到D12
中的索引和匹配公式是抛出值错误(基于MATCH
),但是如果打开函数参数对话框,则显示正在计算的正确答案。 每一行都使用相同的基本公式,它使用列A和B中的值来执行参考区域中匹配行的Usance Code查询。 单元格C8
和D8
公式如下:
C8
=INDEX($A$2:$C$5,MATCH(A8 & B8, $A$2:$A$5 & $B$2:$B$5, 0), 3)
D8
=MATCH(A8&B8,$A$2:$A$5&$B$2:$B$5,0)
MATCH
抛出错误“公式中使用的值是错误的数据types”,并显示#VALUE!
但是如果您将光标置于具有任一公式的单元格中,并select“插入函数”以打开“函数参数”对话框,那么该公式正在计算其INDEX
和MATCH
公式的正确结果,如上所示。
如果有人可以解释数据types错误的根本原因,并提供解决scheme,将不胜感激。
这是因为你使用的公式是一个数组公式。 $A$2:$A$5 & $B$2:$B$5
是一个数组,因为连接函数(这里以&
的forms使用)不适用于数组,除非被函数显式调用。
正常的公式会因此得到错误#VALUE!
。
若要解决此问题,请在input公式之后按Ctrl + Shift + Enter ,而不是仅inputEnter 。 这应该解决这个问题。 当你这样做的时候,你还会注意到在公式中插入了大括号(从公式栏),这些表示数组公式。
另一种select是使用LOOKUP
函数来获得所需的结果 – 不需要“数组input”,即C8中的这个公式被复制下来
=LOOKUP(2,1/(A$2:A$5=A8)/(B$2:B$5=B8),C$2:C$5)
请注意,如果A8和B8都匹配多个行,则会获得最后一个