Excel如何从非相邻单元格区域计算提取第二小数值
错误原因
=MIN((G14:I12, K14:M14),2)返回2的原因很简单:MIN会把所有传入的参数都参与最小值比较,你写的参数2是个独立数值,相当于拿两个区域的所有数和2比大小,结果自然返回2,完全不是“取第二小”的逻辑。- 加INDIRECT的公式报错是因为INDIRECT本身不支持同时传入多个区域文本的参数,语法从根上就不成立。
- 记住:MIN只能取一组数的最小值,本身没有按排名取数的能力,取第N小值要用SMALL函数。
正确实现方式
根据你用的Excel版本选对应写法即可:
- 365/2021及以上支持动态数组的版本,直接输入以下公式回车即可:
=SMALL((G14:I12,K14:M14),2)
公式里第二个参数是位次参数:填1就是取最小值,和你之前用MIN的效果完全一致;填2就是第二小,要取第几小就换成对应数字。多个不相邻区域直接用括号包起来、逗号分隔,就能作为SMALL的计算数据源。
- 2019及更早的旧版Excel,公式内容和上面一致,但输入完不能直接按回车,要按
Ctrl+Shift+Enter三键结束,作为数组公式生效。
小提示
你公式里写的第一个区域G14:I12起止行是反的(起始行14比结束行12大),Excel虽然会自动识别成G12到I14的矩形区域不影响计算,但建议后续写区域时把行号列号小的写在前面,改成G12:I14,避免自己之后看公式搞混范围。
内容的提问来源于stack exchange,提问作者Jacq
相关产品推荐
相关产品推荐

