使用 VLOOKUP 返回连接文本的最大值

使用 VLOOKUP 返回连接文本的最大值

当前公式在数据源中搜索学生姓名和测验编号。如果尚未进行测验,则返回空白。如果已进行测验,则返回第 5 列中的数据。源数据来自 Google 表单,该表单被传输到 Google 表格,然后保存到 Excel。

现在需要使用下面的公式在第 8 列(计算值)中搜索最大值并返回第 5 列中“smithjoeQ3”的值,但无法获得正确的公式。谢谢。

=IF(ISERROR(VLOOKUP(CONCATENATE(学生!$M$7&"q2"),数据!$B$4:$G$951,5,FALSE)),"",(VLOOKUP(CONCATENATE(学生!$M$7&"q2"),数据!$B$4:$G$951,5,FALSE)))

答案1

我认为我没有完全理解您的问题或所讨论的确切范围,因此这是一种通用方法,用于MAX在一列中查找值,在另一列中给定条件,然后从第三列返回值。也许您可以将其与您的特定数据相匹配。

此方法允许列按任意顺序排列,但为了举例说明,假设条件在 中A1:A10,值(我们想要的MAX)在 中C1:C10,并且我们希望从 中返回一个值B1:B10,假设本例中的条件是"x"

=INDEX(B1:B10,MATCH(1,IF(A1:A10="x",IF(C1:C10=MAX(IF(A1:A10="x",C1:C10)),1)),0))

使用CTRL++确认SHIFTENTER

答案2

不管怎样,请检查:
CONCATENATE(Students!$M$7&"q2") ......真的可以正常工作并达到您的预期。

我怀疑你的问题就在那里。

注 1:裸机ENTER不起作用CONCATENATE(single-reference-to-multiple-rows-or-columns)
我不确定数组模式条目是否对您有帮助;使用SHIFT+输入ENTER (LibreOffice.Excel SHIFT++ CTRLENTER
另请注意ARRAY MODE 的结果CONCATENATE()可能不是您所期望的。尤其是与数组中的第一列不匹配。

笔记2VLOOKUP(...)仅查找给定数组的第一列,然后返回单个列。您是否已将所有数据串联到数组的第一列中;如您上面所示?

相关内容