我试图这样使用INDEX
andMATCH
函数:
=INDEX(G2,I2,K2,S2:T2,Y2:AB2,0,MATCH(MAX(G3,I3,K3,S3:T3,Y3:AB3),G3,I3,K3,S3:T3,Y3:AB3,0))
然后我收到错误信息:You have entered too many arguments for this function
有什么办法可以解决这个问题吗?
答案1
你的公式是错误的,因为它确实有太多参数。
该INDEX
函数的工作原理如下:
=INDEX(<area where you're searching something>, <row number>, [<column number>])
所以:
- 第一个参数必须是一个范围,例如
G5:L10
。 - 第二个参数必须是您想要在范围内返回的行号。使用范围
G5:L10
和参数2
,您将返回该范围的第二行,即6:6
。 - 第三个参数与第二个参数相同,但指的是列号。它是可选的。
查看Excel 的文档了解更多信息。
这里使用函数MATCH
是因为我们不知道在 中使用哪个行/列号INDEX
。但是,表格通常有一个带有人性化名称的标题,或者第一个单元格包含 ID、日期、名称等。最好询问 Excel:“请提供包含日期 2018-05-24 的行号”, 代替“使用行号 634”。
幸运的是,该函数MATCH(<what>,<where>,<how>)
可以做到这一点。它只是返回什么您正在搜索的值数组(在哪里)。 这如何让您配置函数的行为方式(参见Excel 的文档)。
换句话说,如果您的范围包含:
1 Apple
2 Pear
3 Banana
4 Orange
公式MATCH("Banana", A1:A4, 0)
将返回2
。
通过组合INDEX
和MATCH
,您可以让 Excel 在给定的可能值区域内给出行和列的交点。
我建议您查阅有关如何使用 INDEX and
MATCH 的这篇文章:
Excel 公式:使用 INDEX 和 MATCH 进行双向查找在 ExcelJet 上
答案2
看起来您正在尝试在同一行中的一组不连续范围中查找具有最大值的单元格上方单元格中的值。
考虑到你的范围集,该问题的实际解决方案是:
=INDEX(2:2,MATCH(MAX(G3,I3,K3,S3:T3,Y3:AB3),3:3,0))