#Value! 错误,数组索引和匹配有问题

3
以下数组索引和匹配是否存在明显问题?
我无法找出问题,所有我只得到一个#Value!错误提示,没有其他信息。
{=INDEX(Sheet2!A:G,MATCH(1,(Sheet2!B:B=Sheet_1_crosstab!C2)*

(Sheet2!C:C=Sheet_1_crosstab!A2)*(Sheet2!D:D=Sheet_1_crosstab!T2),0),5,0}

第2个表格长这样:

Locale  provider    source_aggregated   Week num    Desktop Mobile  Tablet
AT                     Clickouts            40           0    0       0
AT                     Clickouts            41           0    0       0
AT                     Clickouts            42           0    0       0
AT                     Clickouts            43           0    0       0

第一张表格长这样:

Locale  provider    source_aggregated   Week num    Desktop
AT                     Clickouts            40      ={indexmatch..         
AT                     Clickouts            41                     
AT                     Clickouts            42                     
AT                     Clickouts            43                    

我试图将第二张表中的设备拆分数据与第一张表中的整体流量数据进行匹配,基于区域、提供商和来源的匹配。
1个回答

3
MATCH函数需要一个单元格范围作为lookup_array参数。
你可能会将布尔数组相乘的结果传递为1或0。
也就是说,
=(Sheet2!B:B=Sheet_1_crosstab!C2)*(Sheet2!C:C=Sheet_1_crosstab!A2)*(Sheet2!D:D=Sheet_1_crosstab!T2)

如果有效,这将产生True False的数组,其结果将为True或False,即1或0。
因此,实际上您有
=INDEX(Sheet2!A:G,MATCH(1,1,0),5,0)

或者

=INDEX(Sheet2!A:G,MATCH(1,0,0),5,0)

由于期望的匹配参数应该是一个范围,因此两者都会失败。

如果您想要进行查找,请考虑使用包含唯一键的辅助字段

关键字段使用感兴趣的字段连接以使其唯一

=CONCATENATE(B2,C2,D2,E2)

关键字段:

Key

使用键来检索桌面号码等
=VLOOKUP(CONCATENATE(A2,B2,C2,D2),Sheet2!A1:H5,MATCH(Sheet1!E1,Sheet2!1:1,0),FALSE)

注意:我使用Match在Sheet2的第1行中找到了desktop,这样就定义了要返回的查找列。

如果Mobile位于Sheet1!F1中,则应匹配该单元格等。

工作表中的查找:

Lookup

请记得在必要的情况下使用 $ 将范围固定为绝对值。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接