Excel 使用小函数获取列表中N个最小值的行号

Excel 使用小函数获取列表中N个最小值的行号,excel,excel-formula,Excel,Excel Formula,我正在尝试对一个助手列的值列表进行动态排序,该列如下所示。我想返回最小值的行号,然后是下一个最小值,以此类推。右边的列就是我希望输出的样子。到目前为止,我的公式是=行(小的(A$1:A$15,A$2:A2),但excel不允许我输入它 在B1中输入1。在B2中输入: =IF(A2="",9999,IF( COUNTIF($A$1:A1,A2)=0,A2,A2+COUNTIF($A$1:A1,A2)/100)) =MATCH(SMALL(B:B,ROWS($1:1)),B:B

我正在尝试对一个助手列的值列表进行动态排序,该列如下所示。我想返回最小值的行号,然后是下一个最小值,以此类推。右边的列就是我希望输出的样子。到目前为止,我的公式是
=行(小的(A$1:A$15,A$2:A2)
,但excel不允许我输入它


B1中输入1。在B2中输入:

=IF(A2="",9999,IF( COUNTIF($A$1:A1,A2)=0,A2,A2+COUNTIF($A$1:A1,A2)/100))
=MATCH(SMALL(B:B,ROWS($1:1)),B:B,0)
然后向下复制

C1中输入:

=IF(A2="",9999,IF( COUNTIF($A$1:A1,A2)=0,A2,A2+COUNTIF($A$1:A1,A2)/100))
=MATCH(SMALL(B:B,ROWS($1:1)),B:B,0)
并向下复制:

注意:

B消除列A中重复项目的冲突,并处理列A中的空白

要限制列C的长度,请在C1

=IF( ROWS($1:1)>COUNT(A:A),"",MATCH(SMALL(B:B,ROWS($1:1)),B:B,0))

在Excel O365中,您可以使用
C1
中的单个公式,使用:

=SORTBY(如果(A:A“”,行(A:A),“”),A:A,1)

必须更改几个单元格引用,但核心公式工作正常。谢谢!