以下数组索引和匹配是否有明显错误?
我无法解决问题,我得到的只是一个#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
表1看起来像:
Locale provider source_aggregated Week num Desktop
AT Clickouts 40 ={indexmatch..
AT Clickouts 41
AT Clickouts 42
AT Clickouts 43
我正在尝试根据匹配的区域设置,提供商和来源,将工作表2中的设备拆分与工作表1中的整体流量数据进行匹配。
答案 0 :(得分: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)
要么失败,因为预期的Match参数应该是一个范围。
如果您尝试进行查找,请考虑包含唯一键的辅助字段
使用感兴趣字段的串联来创建唯一
的关键字段=CONCATENATE(B2,C2,D2,E2)
关键字段:
使用该键检索桌面数字等
=VLOOKUP(CONCATENATE(A2,B2,C2,D2),Sheet2!A1:H5,MATCH(Sheet1!E1,Sheet2!1:1,0),FALSE)
注意:我使用Match来查找Sheet2在Sheet2的第1行中的位置,然后定义要返回的查阅列。
如果Mobile位于该单元格中,您将匹配Sheet1!F1。
表格中的查询:
请记住在必要时将范围修改为绝对值。