网友提问:在 Excel 的工作表中,有A值和B值二个数值清单,如果给予A值一段范围,要找出符合的A值中,所对应的B值之最大值,该如何处理?
参考下图,给予A值范围(例如:40~60),找出符合的A值所对应的B值,要求取B值中的最大值。
【公式设计与解析】
选取储存格A1:B101(共有100笔资料),按 Ctrl+Shift+F3 键,勾选「顶端列」,定义名称:A值、B值。
储存格D4:{=MAX(IF((A值>=E1)*(A值<=G1),B值,””))}
这是阵列公式,输入完成要按 Ctrl+Shift+Enter 键,Excel 会自动加上「{}」。
(1) (A值>=E1)*(A值<=G1)
在阵列公式中设定二个条件:A值>=E1、A值<=G1,其中「*」运算子,相当于执行逻辑 AND 运算。
(2) IF((A值>=E1)*(A值<=G1),B值,””)
在阵列公式中,如果符二个条件者,传回对应的B值,否则,传回空字串。
(3) =MAX(IF((A值>=E1)*(A值<=G1),B值,””))
在阵列公式中,使用 MAX 函数取得第(2)式传回B值中的最大值。
【延伸学习】
储存格I1:{=IFERROR(OFFSET($A$1,SMALL(IF((A值>=$E$1)*(A值<=$G$1),
ROW(A值),””),ROW(1:1))-1,0),””)}
储存格J1:{=IFERROR(OFFSET($B$1,SMALL(IF((A值>=$E$1)*(A值<=$G$1),
ROW(A值),””),ROW(1:1))-1,0),””)}
这是阵列公式,输入完成要按 Ctrl+Shift+Enter 键,Excel 会自动加上「{}」。
複製储存格I1:J1,往下各列贴上。