excel 大于某个数值且小于某个数值的第二小值?

excel 大于某个数值且小于某个数值的第二小值,如A列中1,2,3,4,5,6,7,8,9,求大于4且小于8的第二小值,应该用公式如何表达?

很热闹!我也给道公式,但我把数据稍微修改一下:

=LARGE((A1:A100<8)*A1:A100,2)

数组公式,输入后先不要回车,按Ctrl+Shift+Enter结束计算。

答案是7.5

(话外,上面几位,答案是6..5,就不是<8的第二数值了吧)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-12-23
可以用公式:
=SMALL(IF((A1:A100>4)*(A1:A100<8),A1:A100),2)
数组公式,按组合键CTRL+SHIFT+回车,完成公式。追问

大神帮我看下这个吧,怎么自动去重呢,只保留一家单位对应的报价,这里面不少重复的,第一高和第七低一样了,以此类推,我一家单位报价只想保留一次

追答

用公式:
=IF((COUNTIF(D$2:D2,D2)=1)*(E2>=2)*(E2<=5),E2,"")
下拉。

追问

大神牛皮,辛苦大神再帮我加个算法吧,就是第一问得出的数如果返回是#NUM!错误值的话,自动变成数值0,可否实现,十分感谢问了这么多问题,我已经提高悬赏了

追答

修改公式为:
=IFERROR(SMALL(IF((A1:A100>4)*(A1:A100<8),A1:A100),2),0)

本回答被提问者采纳
第2个回答  2021-12-23
直接用最大值减2就行了追问

原数据比这复杂,我需要类似这个问题和答案的计算公式,谢谢

第3个回答  2021-12-23
显然条件中的“且小于某个数值”是一个多余的条件,试想一下加上这个条件情况,如果原数据中大于某数后的中第2小值至上限之间的数字个数小于2个,甚至没有,比如:1,3,5,9,11,13,要求大于5且小于9或小于11,甚至小于7,就找不到第2 小值,最终结果为#N/A!
wu_zhenjiu 给出了按提问的常规公式。下面提供一个Office 365或Excel2021才提供了的函数FILTER来解决:
按提问的条件:
=SMALL(FILTER(A1:A100,(A1:A100>4)*(A1:A100<8)),2)
而按前面所说,“且小于”条件为多余条件,不予考虑时,公式更简练:
=SMALL(FILTER(A1:A100,A1:A100>4),2)
附:常规函数不考虑多余的“且小于”条件:
=SMALL(IF(A1:A100>4,A1:A100,4^8),2)
数组公式追问

大神帮我看下这个吧,怎么自动去重呢,只保留一家单位对应的报价,这里面不少重复的,第一高和第七低一样了,以此类推,我一家单位报价只想保留一次

追答

不好意思,没能理解你的需求