Excel第n个最小不同值

Excel第n个最小不同值,excel,excel-formula,Excel,Excel Formula,我有一组值,这个小函数使我能够得到前5个最小值。但它没有考虑到重复项。我只想看到每个值一次。例如: 123445 我想输出1,2,3,4,5,而不是1,2,2,3,4 我将输出放在5个不同的列中,公式很小(A1:A20,[1-5]) 但我不知道如何告诉它只查看范围内的每个不同值,如果可以访问动态数组公式(目前仅限office 365内部人员使用),只需将其放在第一个单元格中,结果就会溢出: =SMALL(UNIQUE(A:A),SEQUENCE(,5)) 另一方面,我们需要以特定的方式使用

我有一组值,这个小函数使我能够得到前5个最小值。但它没有考虑到重复项。我只想看到每个值一次。例如:

123445

我想输出1,2,3,4,5,而不是1,2,2,3,4

我将输出放在5个不同的列中,公式很小(A1:A20,[1-5])
但我不知道如何告诉它只查看范围内的每个不同值,如果可以访问动态数组公式(目前仅限office 365内部人员使用),只需将其放在第一个单元格中,结果就会溢出:

=SMALL(UNIQUE(A:A),SEQUENCE(,5))


另一方面,我们需要以特定的方式使用一些数组公式

在我们把公式放在第一个单元格前面的单元格中,除了数字之外,我们还必须有别的东西。所以如果我把公式放在C1中,B1不能包含任何一个数字,因为我们需要引用它

把这个放在C1中:

=SMALL(IF(COUNTIF($B$1:B$1,$A$1:$A$20)=0,$A$1:$A$20),1)
作为数组公式,必须在退出编辑模式时使用Ctrl-Shift-enter而不是enter确认。然后复制超过5列


如果不能在没有数字的情况下离开单元格B1,则必须以另一种方式获取阵列:

将此数组公式放入第一个单元格:

=SMALL(INDEX($A:$A,N(IF({1},MODE.MULT(IF(MATCH($A$1:$A$20,$A:$A,0)=ROW($A$1:$A$20),ROW($A$1:$A$20)*{1,1}))))),COLUMN(A:A))
作为数组公式,必须在退出编辑模式时使用Ctrl-Shift-enter而不是enter确认。然后复制超过5列


这里是另一个选项:

C1
中的公式:

=SMALL($A:$A,COUNTIF($A:$A,"<="&B1)+1)

=SMALL($A:$A,COUNTIF($A:$A,”这里是另一个选项,采用单一公式

假设您的数据1 2 3 4 5放在A1:A6中

B1,留空

在C1中,公式向右交叉复制,直到为空

=IFERROR(1/(1/AGGREGATE(15,6,$A$1:$A$20/($A$1:$A$20>B1),1)),"")

编辑:AGGREGATE是Excel 2010或更高版本的一个函数

投票支持尼斯动态公式(我想你是最近的内幕人士吧?)。是的,终于找到了如何进入列表的方法。我在excel中使用了它,但由于某种原因,在我的google电子表格中使用它时遇到了问题…尽管答案很好。我在excel中使用它时遇到了问题,但我确实在google工作表中使用了它。这就是我想要使用这一出色工作的地方:)奇怪的是,这在Excel中不起作用,但是请注意Google Sheets使用了动态数组,这使得@ScottCraner的答案可能是适用的(可能有些轻微的调整?)当你把C1公式复制到S1的时候,你会发现12345会再次出现在I1:M1,O1:S1中…@bosco_yip,是的,我看不出这有什么问题,但是因为公式会跳过一个单元格。不过值得指出的是。