请问该公式的解释INDEX(A:A,SMALL(IF(MATCH(A$1:A$1000&"",A$1:A$1000&"",)=ROW($1:$1000),ROW($1:$1000),
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/26 10:16:01
请问该公式的解释INDEX(A:A,SMALL(IF(MATCH(A$1:A$1000&"",A$1:A$1000&"",)=ROW($1:$1000),ROW($1:$1000),
请问该公式的解释INDEX(A:A,SMALL(IF(MATCH(A$1:A$1000&"",A$1:A$1000&"",)=ROW($1:$1000),ROW($1:$1000),
请问该公式的解释INDEX(A:A,SMALL(IF(MATCH(A$1:A$1000&"",A$1:A$1000&"",)=ROW($1:$1000),ROW($1:$1000),
公式没写完吧?
=INDEX(A:A,SMALL(IF(MATCH(A$1:A$1000&"",A$1:A$1000&"",)=ROW($1:$1000),ROW($1:$1000)),row(1:1)))
第一步:
IF(MATCH(A$1:A$1000&"",A$1:A$1000&"",)=ROW($1:$1000),ROW($1:$1000))的意思:
MATCH(A$1:A$1000&"",A$1:A$1000&"",)这是一个数组的用法.用MATCH函数判断A$1:A$1000中的每一个在这个区域中首次出现的位置(行号),再和ROW($1:$1000)相对比.这样就能判断数据是否是首次出现.如果是首次出现,IF(...,ROW($1:$1000))就得到对应的行号,否则为FALSE(也可以写成4^8,道理类似.),这样得到一个数组.
A$1:A$1000&""是为了避免空单元在MATCH对比时得到错误值.
第二步:
SMALL(第一步,row(1:1))
在第一步得到的数组中,提取最小的一个行号.下拉填充时,依次得到第2、第3、第n小.
第三步:
INDEX(A:A,第二步)
用INDEX在A列查找上一步的行号对应的值.
所以,整个公式的意思,是将A列不重复的数据依次提取出来.
有点小复杂,请慢慢体会.