我在水平方向上运行二进制数据:例如匹配范围如下:
Mike 0 1 0 0 0 1
Julie 1 1 0 1 1 0
Joe 1 1 1 0 0 0
返回范围包含文本数据:
第一季度:纽约的首都是什么? Q2:俄亥俄州的首都是什么? Q3:华盛顿的首都是什么? 。 。我需要将每次出现的1与在垂直方向上运行的相应数据相匹配。即与垂直索引相对应的水平索引。我找到了几个使用以下命令完成多次返回vlookup的实例:
= IFERROR(INDEX(return_range,SMALL(IF((1 = match_range),ROW(match_range)-1),ROW(1:1)),2),"&#34)
然而,这不起作用。我认为它不起作用,因为它适用于两个垂直数据集。我试过切换"行" for" column"在功能,但没有任何运气。
此外,匹配范围和返回范围在不同的工作表上。
匹配范围(水平方向)是关于问题是否被正确回答的二进制信息。返回范围是相应的一组问题(垂直方向)。因此,输出将是一个数组:
迈克:Q2 Q6Julie:Q1 Q4 Q5
Joe:Q1 Q2 Q3
如何修改此功能以实现此目的?
答案 0 :(得分:0)
要在数组中获取正确的行,然后可以在其他公式中使用,我们使用INDEX:
INDEX($A:$G,MATCH($I2,$A:$A,0),0)
这将返回名称与I2中匹配的行中A列到G列中的所有值。
它可以在INDEX / AGGREGATE函数中使用:
=IFERROR(INDEX($A$1:$G$1,AGGREGATE(15,6, COLUMN(INDEX($A:$G,MATCH($I2,$A:$A,0),0))/(INDEX($A:$G,MATCH($I2,$A:$A,0),0)=1),COLUMN(A:A))),"")
我对您的数据设置的最佳猜测是:
使用这样的公式:
=IFERROR(INDEX($I:$I,AGGREGATE(15,6, COLUMN(INDEX($A:$G,MATCH($K2,$A:$A,0),0))/(INDEX($A:$G,MATCH($K2,$A:$A,0),0)=1),COLUMN(A:A))),"")