当数字重复自己时,如何find数组中第n个最低的数字?

我正试图在这个列表中find第二低的成本。 显然,它是547美元,但是当我把公式放在:= SMALL(F2:F31,2)时,我得到了$ 488.00,我猜这是因为$ 488重复了多次,所以它是第二个数字数字列表是最小的?

尽pipe重复,我应该input什么公式来获得第二小的数字? 表

这样做的目的是什么? 最终结果? 你寻求自动化还是特别的?

如果这是特别的,你可以这样做:

1. copy column with numbers 2. Paste copied column into new sheet 3. Use Remove Duplicates functionality (Data tab) on this column to remove repetitions 4. Use your formula 

另外,你可以用一个公式来做到这一点:

 =SMALL(F2:F31, COUNTIF(F2:F31, MIN(F2:F31)) + 1) 

只要你只想要第二小的数字,而且你只有两位数的重要影响,你可以相当有效地做到这一点,而无需创build额外的数据数组,或使用数组公式,只要你可以从最大的最小,而不是最小到最大。

首先find最小的数字,简单来说就是:

 =MIN(F:F) 

然后,从这个数额中减去1便士。 现在,我们可以使用价格正确规则search来find最接近的数字,利用MATCH函数的次最佳function,如下所示:

 =INDEX(F:F,MATCH(MIN(F:F)+0.01,F:F,-1)) 

这将在列F中取最小的数字,并将其加上.01。 在MIN函数中使用-1作为第三个参数会强制MIN接受下一个最佳select,如果这个数量不完全匹配。

只是因为我根据你上一篇文章的数字,我们是这样做的。 我会像在那篇文章中所说的那样,列出所有州和县的独特名单。

![在这里输入图片描述

然后build立@Andrew公式,这个公式应该是标记为正确的公式,用COUNTIFS()作为SMALL()中的k值:

 =SMALL(IF(A2=DATA!A:A,IF(B2=DATA!B:B,DATA!F:F)),COUNTIFS(DATA!A:A,A2,DATA!B:B,B2,DATA!F:F,MIN(IF(A2=DATA!A:A,IF(B2=DATA!B:B,DATA!F:F))))+1) 

这会给你一个清晰的第二个值。

然后find与报价一起使用的保险公司:

 =INDEX(DATA!E:E,MATCH(SMALL(IF(A2=DATA!A:A,IF(B2=DATA!B:B,DATA!F:F)),COUNTIFS(DATA!A:A,A2,DATA!B:B,B2,DATA!F:F,MIN(IF(A2=DATA!A:A,IF(B2=DATA!B:B,DATA!F:F))))+1),IF(A2=DATA!A:A,IF(B2=DATA!B:B,DATA!F:F)),0)) 

把他们放在第二行。 这些都是arrays公式,需要用Ctrl-Shift-Enter确认。 然后可以根据需要复制它们。