excel在某表头数值所在列查找大于目标值的最小值

e16的公式是什么?

第1个回答  推荐于2016-01-31
=MIN(IF($E$1:$E$11>E15,E1:E11,""))
同时按CTRL SHIFT 回车键追问

我的目标是这样的:首先找到150所在的列,再从该列下找到大于目标值的最小值

追答

=MIN(IF(INDIRECT(CHAR(64+SUMPRODUCT(($B$1:$E$11=E14)*(COLUMN($B$1:$E$1))))&1):INDIRECT(CHAR(64+SUMPRODUCT(($B$1:$E$11=E14)*(COLUMN($B$1:$E$1))))&11)>E15,INDIRECT(CHAR(64+SUMPRODUCT(($B$1:$E$11=E14)*(COLUMN($B$1:$E$1))))&1):INDIRECT(CHAR(64+SUMPRODUCT(($B$1:$E$11=E14)*(COLUMN($B$1:$E$1))))&11),""))

同时按CTRL SHIFT 回车键

追问

可以用, CHAR(64 这里的64是函数的参数还是什么?

追答

先用=SUMPRODUCT(($B$1:$E$11=E14)*(COLUMN($B$1:$E$1)))

函数计算 E14(150)这个数据,在第几列?结果是 4
=CHAR(64+4) 结果就是D,说明 150在D列
然后用INDIRECT函数,引用D1:D11
前提:ABCD列,没有重复的数据(也就是没有重复的150)。

如果E14的数据,始终在第1行
公式=MIN(IF(INDIRECT(CHAR(64+MATCH(E14,$1:$1,))&1):INDIRECT(CHAR(64+MATCH(E14,$1:$1,))&11)>E15,INDIRECT(CHAR(64+MATCH(E14,$1:$1,))&1):INDIRECT(CHAR(64+MATCH(E14,$1:$1,))&11),""))
数组公式
同理
=MATCH(E14,$1:$1,) 计算E14在第1行,是第几列?
结果是4
=CHAR(64+4) 就是D,说明150在D列
然后用INDIRECT函数引用D1:D111

本回答被提问者采纳
第2个回答  2015-10-11
相似回答