我的目标是这样的:首先找到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