EXCEL表格中如何提取最小值靠前的几组数据?

如图,A列是随机的无序的数据,我在B列用SMALL函数提取出最小值前五的数据,最小值前五的数据只能是唯一的,不可重复的。但是其中16重复了,如何把重复的数据16只保留一个,把17之后最小的数据22补充进去。(注意:A列为随机无序数据,可能是几十个数据,可能有N个数据重复,哪些数据会重复,重复的数量有多少都不清楚)。

如图

B1=SMALL(IF(FREQUENCY(A$1:A$12,A$1:A$12),A$1:A$12),ROW(1:1))

同时按Ctrl+Shift+Enter三键 输入数组公式,下拉到需要的个数

追问

你好,感谢你的回答。但是还有个问题,就是我我这个结果必须是五个数据,如果,原始数据重复太多,比如十个数据(1,1,1,1,3,3,3,5,5,5)大多是重复的,到最后只有1,3,5没有重复。按你这个公式提取出来的结果,前三个是1,3,5,第四个数据就变为0,第五个数据变成#NUM!,以上面那组数据为例,能不能把第四个和第五个数据变成文字“无”或者其他的数字,就是不能是0或者空白。

追答

=IFERROR(SMALL(IF(FREQUENCY(A$1:A$10,A$1:A$10),A$1:A$10,""),ROW(1:1)),"无")

数组公式,下拉到出现“无”

追问

这样子的话第四个还是会出现0,第五个才是无。
第四个能不能不是0?

追答

能否截图?追答中的截图完全是复制你的数据得到的结果,并没有出现你所说的出现“0”!

追问

不好意思,是我搞错了,你的公式没错,是我自己错了。这个公式是取最小值,所以第四个第五个是无。我把公式做了调整,把最小值改成最大值,结果第四个才变成0,第五个才是无。如果换成是最大值的五个呢?公式要怎么修改?

追答

要取大的,就把SMALL换成LARGE

追问

我试过了,用LARGE提取最大的五个数值,像之前说的一样,如果最后只剩下三组并弄的数据,最大值只提取三组,第四组就会变成0,第五组才会变成无。我不想要有0,能不能把第四组的0变成无。

追答

实在搞不懂为何到你电脑上就会出现0的问题。

今天发现,本问题的公式,无论取小值,还是大值,普通公式即可,无需数组公式。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-05-28
复制A列,粘贴到C列,选择C列,删除重复值。
在B1中输入或复制粘贴下列公式
=SMALL(C:C,ROW(A1))
下拉填充
第2个回答  2020-05-28

B1单元格输入公式=IFERROR(SMALL(IF(MATCH(A$1:A$12,A$1:A$12,)=ROW($1:$12),A$1:A$12),ROW(A1)),"")

数组公式,按Ctrl+Shift+Enter三键结束公式,使公式前后产生大括号{}后,下拉公式。

本回答被网友采纳
第3个回答  2020-05-28
B1用公式:
=SMALL(IF(MATCH(A$1:A$12,A$1:A$12,)=ROW($1:$12),$A$1:$A$12),ROW(A1))
数组公式,按组合键(CTRL+SHIFT+回车)完成公式,下拉。
第4个回答  2020-05-28
自定义函数威力无穷!可以建立新的沟通渠道上传文件。私信我或评论后我私信你。
相似回答