请高手解释:=INDEX(A:A,SMALL(IF(COUNTIF($A$1:$A$13,$A$1:$A$13)>1,ROW($A$1:$A$13),4^8),ROW(A1)))&""

2024-12-04 00:21:31
推荐回答(2个)
回答1:

4^8是4的8次方,其值是65536,对于2003版来说,就是表格的最后一行。
意思是说,如果$A$1:$A$13中不重复的,就指向A65536,前提条件就是A65536使用。
当公式取到A65536的值时,因这个单元格是空的,所以返回0值,加&""是将其转为文本空值。

回答2:

4^8是为了保证比ROW函数返回的值大,这样,SMALL可以返回实极需要的值做为INDEX的位置参数。4^8正好等于03版的最大行数,07版是2^20行,这个数值还不够大,但一般情况下也够用了。4^8也好2^20也好,都可以用""来替代,也就是说公式可以写成
=INDEX(A:A,SMALL(IF(COUNTIF($A$1:$A$13,$A$1:$A$13)>1,ROW($A$1:$A$13),""),ROW(A1)))&""
如果第一个公式放在第一行,ROW(A1)也可以省略成ROW()。