为什么我的索引匹配函数返回#N / A错误?

时间:2017-10-22 20:35:01

标签: excel excel-vba excel-formula excel-2013 vba

我不知道为什么在使用索引匹配功能时出现#N/A错误。

我在不同的表格中有两个数据集:

Vehicle group code  Vehicle model   Vehicle code    Vehicle group   Vehicle make
41                    004             41004          Standerd           
61                    007             61007          Sports 
41                    007             41007          Standerd    
51                    005             51005          Premium    
41                    004             41004          Standerd   

我必须通过从以下数据集中提取信息来填写“车辆制造”列,该数据集位于另一张纸上。

Vehicle code    Vehicle group   Vehicle make    Vehicle model
41004           Standard          Toyota        Corolla 
41005           Standard          Honda         Jazz    
41006           Standard          Hyundai       i30 
41007           Standard          Mazda         3   
51004           Premium           BMW           320i

因此,在这种情况下,我通过将车辆代码作为查找值来使用索引匹配功能。

这是我的索引函数:

=INDEX(
    'Vehicle details'!A1:F13,
    MATCH('Policy data'!F2,'Vehicle details'!A1:A13,0),
    MATCH('Policy data'!H1,'Vehicle details'!A1:F1,0)
)

并且它返回#N/A错误。

我尝试了另一种方式,两个数据集分为两个,并编写了以下索引匹配函数:

=INDEX(
    Y1:AD13,
    MATCH(F2,Y1:Y13,0),
    MATCH(G1,Y1:AD1,0)
)

尽管如此,它仍然会返回#N/A错误。

你能告诉我我做错了什么吗?

2 个答案:

答案 0 :(得分:0)

以下是您可以用来检索结果的INDEX/MATCH公式:

=IFERROR(INDEX($K$2:$K$6,MATCH(C2,$I$2:$I$6,0)),"")

或者如果您想使用VLOOKUP,则公式为:

=IFERROR(VLOOKUP(C2,$I$2:$K$6,3,0),"")

根据您的数据结构相应地调整范围。但是如果你需要帮助,请告诉我。

答案 1 :(得分:0)

问题:匹配类型和数据的排序顺序不一致

使用MATCH时,match_type参数中的值与查找数组中值的排序顺序之间应保持一致。如果语法偏离以下规则,则会显示#N / A 错误。

如果match_type1或未指定,则lookup_array中的值应按升序排列。例如-2,-1、0、1、2 ...,A,B,C ...,FALSE,TRUE等。

如果match_type-1,则lookup_array中的值应按降序排列。

解决方案:将match_type参数更改为1,或以降序格式对表格进行排序。然后再试一次。

来源: https://support.office.com/en-us/article/how-to-correct-a-n-a-error-in-index-match-functions-f91874c9-d30b-4b7a-8a6b-c622764a1992