中银旗下有哪些口子:excel 重赏:请问,这个数组怎么理解??:

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/10 12:55:08
已知此数组正确,但我始终看不懂什么原理
请问,这个数组怎么理解??:
=SMALL(IF(ROW($A$7:$A$20)-6=MATCH($A$7:$A$20,$A$7:$A$20,0),ROW($A$7:$A$20)-6,"0"),ROW(A1))

公式释义:

ROW($A$7:$A$20)-6——
返回数据组区域内$A$7:$A$20的第一个数$A$7的行数与6之差(值是1)。

MATCH($A$7:$A$20,$A$7:$A$20,0)——
在数据组$A$7中的第一个数$A$7在数据组区域$A$7:$A$20中的位置值(在数据组区域的第1个位置,返回值是1)。

IF(ROW($A$7:$A$20)-6=MATCH($A$7:$A$20,$A$7:$A$20,0),ROW($A$7:$A$20)-6,"0")—
如果数据$A$7在数据组区域$A$7:$A$20中的行数与6的差等于数据$A$7在数据组区域$A$7:$A$20中的位置值,
则返回值是数据$A$7在数据组区域$A$7:$A$20中的行数与6的差(值1),
否则返回的值是0(值0)。

函数SMALL()返回数据组中第N个最大值。

整个公式简化为
=SMALL(1,1)
意思是在数据组1中,返回第1个最大的值。
显然返回的第1个最大值是1。

如果要求数据区域中的第n个最大值,下述公式即可:
=SMALL($A$7:$A$20,n)

头要爆了....