Excel返回一列中“第二大”或“第N大”数值的公式

来源:转载

假如你的条件值在E1那么F1输入=IFERROR(INDEX($C$1:$D$10,SUMPRODUCT(($C$1:$D$10=E1)*ROW($C$1:$D$10))+1,SUMPRODUCT(($C$1:$D$10=E1)*COLUMN($A$1:$B$10))),"")注:IFERROR为07以上版本公式

用下面的几个公式都可以快速完成上述任务。假如A列中包含数据的区域为A4:A11,现在要从B3单元格开始对A列中的每个数据重复5次。在B3单元格中输入下列公式,然后向下填充:

=OFFSET(A$4,ROUNDUP(ROW(A1)/5,0)-1,0)

公式先用ROW函数取得一个数值,然后用该数值除以5后用ROUNDUP函数向上舍入,再减去“1”后用OFFSET函数返回结果。例如对于B14单元格,填充后的公式为:

=OFFSET(A$4,ROUNDUP(ROW(A12)/5,0)-1,0)

ROW(12)返回“12”,ROUNDUP(ROW(A12)/5,0)-1返回“2”,于是上述公式变为:

=OFFSET(A$4,2,0)

返回从A4单元格向下偏移2个行后的引用,即A6单元格中的内容“PowerPoint”。公式中的OFFSET函数也可以改为INDEX函数,同时第一个参数也要做相应的更改。在B3单元格中输入下面的公式:

=INDEX($A$4:$A$11,ROUNDUP(ROW(A1)/5,0))

道理同上。

还可以使用下面的两个公式:

=INDEX($A$4:$A$11,INT(1+ROW(A1)/(5+1/COUNTA($A$4:$A$11))))

或:

=INDIRECT("R"&ROW($A$4)+INT((ROWS($B$1:$B1)-1)/5)&"C"&COLUMN($A$1),0)

如果不是重复5次,可以将上述公式中用红色标识的“5”改为相应的数值即可。

分享给朋友:
您可能感兴趣的文章:
随机阅读: