结构化引用的索引匹配/#value 错误
INDEX MATCH on structured references / #value error
在 2 个定义的表上使用 INDEX / MATCH 并在它们的列上使用结构化引用会导致 #value 错误,尽管该函数已作为数组函数输入。
鉴于:
**Table1:**
Key1|SourceVal
1|A
2|AA
**Table2:**
Key2|ValDisp
1|_{=INDEX(Table1;MATCH(Table2[@[Key2]];Table1[Key1];0);Table1[SourceVal])}_
在第 "ValDisp" 列中输入的公式会导致 #value 错误。
公式分析器显示找到了正确的值,但在最后一步变成了#value。
INDEX 可以通过两种方式调用。在您使用它的方式中,第一个参数是一个范围,第二个和第三个参数是数字。
您正在使用 =INDEX(Table1;MATCH(Table2[@[Key2]];Table1[Key1];0);Table1[SourceVal])
最后一个参数 Table1[SourceVal]
不是 return 一个数字,所以尝试用列号替换它:
=INDEX(Table1;MATCH(Table2[@[Key2]];Table1[Key1];0);2)
另一个选项是使用第二个 MATCH 来搜索列的名称和 return 它在 Table1
的 headers 区域内的位置。像这样:
I got Excel 2007 so my structured references are different. Not @ like in Excel 2010 and higher
您可以将 2
替换为 MATCH(Table1[[#HEADERS];[Sourceval]];Table1[#HEADERS];0)
在 2 个定义的表上使用 INDEX / MATCH 并在它们的列上使用结构化引用会导致 #value 错误,尽管该函数已作为数组函数输入。
鉴于:
**Table1:**
Key1|SourceVal
1|A
2|AA
**Table2:**
Key2|ValDisp
1|_{=INDEX(Table1;MATCH(Table2[@[Key2]];Table1[Key1];0);Table1[SourceVal])}_
在第 "ValDisp" 列中输入的公式会导致 #value 错误。
公式分析器显示找到了正确的值,但在最后一步变成了#value。
INDEX 可以通过两种方式调用。在您使用它的方式中,第一个参数是一个范围,第二个和第三个参数是数字。
您正在使用 =INDEX(Table1;MATCH(Table2[@[Key2]];Table1[Key1];0);Table1[SourceVal])
最后一个参数 Table1[SourceVal]
不是 return 一个数字,所以尝试用列号替换它:
=INDEX(Table1;MATCH(Table2[@[Key2]];Table1[Key1];0);2)
另一个选项是使用第二个 MATCH 来搜索列的名称和 return 它在 Table1
的 headers 区域内的位置。像这样:
I got Excel 2007 so my structured references are different. Not @ like in Excel 2010 and higher
您可以将 2
替换为 MATCH(Table1[[#HEADERS];[Sourceval]];Table1[#HEADERS];0)