Excel 多重返回Vlookup水平匹配范围与垂直返回范围

Excel 多重返回Vlookup水平匹配范围与垂直返回范围,excel,excel-formula,vlookup,vba,Excel,Excel Formula,Vlookup,Vba,我在水平方向上运行二进制数据:例如,匹配范围如下所示: 迈克,01,01 朱莉110 乔11100 返回范围包含文本数据: 纽约的首都是什么? 问题2:俄亥俄州的首府是什么? 问题3:华盛顿的首都是什么? . . 我需要将1的每个引用与垂直方向上运行的相应数据相匹配。i、 e.与垂直指数相对应的水平指数。我发现了几个实例,其中多返回vlookup是通过使用: =IFERROR(索引(返回范围,小)(如果((1=匹配范围),行(匹配范围)-1,行(1:1)),2),“”) 然而,这是行不通的。我

我在水平方向上运行二进制数据:例如,匹配范围如下所示:

迈克,01,01

朱莉110

乔11100

返回范围包含文本数据:

纽约的首都是什么? 问题2:俄亥俄州的首府是什么? 问题3:华盛顿的首都是什么? . .

我需要将1的每个引用与垂直方向上运行的相应数据相匹配。i、 e.与垂直指数相对应的水平指数。我发现了几个实例,其中多返回vlookup是通过使用:

=IFERROR(索引(返回范围,小)(如果((1=匹配范围),行(匹配范围)-1,行(1:1)),2),“”)

然而,这是行不通的。我假设它不起作用,因为它用于两个垂直数据集。我曾尝试在函数中将“行”切换为“列”,但没有成功

此外,匹配范围和返回范围在不同的表上

匹配范围(水平方向)是关于问题是否正确回答的二进制信息。返回范围是相应的问题集(垂直方向)。因此,输出将是一个数组:

迈克:第二季度,第六季度

朱莉:第一季度第二季度第四季度第五季度

乔:第一季度第二季度第三季度


如何修改此函数以实现此目的?

要在数组中获得正确的行,然后在其他公式中使用该行,我们使用索引:

INDEX($A:$G,MATCH($I2,$A:$A,0),0)
这将返回与I2中的名称匹配的行中A列到G列中的所有值

它可以在索引/聚合函数中使用:

=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))),"")

那么输出是什么样子的呢?理想情况下,输出应该是一个数组。每行将包含返回范围与单个人员的匹配范围1相匹配的单元格。在原始帖子中不显示我。有了上面的数据,输出会是什么?所以我假设你有Q1,Q2,。。。作为列标题?我没有,上面示例中的Q1、Q2等表示问题的实际文本。所以一个完整的句子很长。这就是为什么返回范围在垂直方向。谢谢,但是返回数据不是列标题。它是一列数据,每个单元格包含问题的文本。如何修改此函数以处理此场景。谢谢再次我不确定你想要什么,请修改上面的表格,以显示Q1,Q2,。。在你的输出是来自。我是一个视觉人。上面的函数对应的数字15,6是什么?这是一个小函数,它允许我们使用小函数而不需要Ctrl-Shift-Enter。你能给我一张安装图吗?我不知道你是如何用文字设置的。@user3887089请参阅编辑,以获取我对你的数据设置的最佳猜测。