当前公式在数据源中搜索学生姓名和测验编号。如果尚未进行测验,则返回空白。如果已进行测验,则返回第 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++ CTRL)ENTER
另请注意ARRAY MODE 的结果CONCATENATE()
可能不是您所期望的。尤其是与数组中的第一列不匹配。
笔记2:VLOOKUP(...)
仅查找给定数组的第一列,然后返回单个列。您是否已将所有数据串联到数组的第一列中;如您上面所示?