请问该公式的解释INDEX(A:A,SMALL(IF(MATCH(A$1:A$1000&"",A$1:A$1000&"",)=ROW($1:$1000),ROW($1:$1000),
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/04 19:28:31
![请问该公式的解释INDEX(A:A,SMALL(IF(MATCH(A$1:A$1000&](/uploads/image/z/2431686-30-6.jpg?t=%E8%AF%B7%E9%97%AE%E8%AF%A5%E5%85%AC%E5%BC%8F%E7%9A%84%E8%A7%A3%E9%87%8AINDEX%28A%3AA%2CSMALL%28IF%28MATCH%28A%241%3AA%241000%26%22%22%2CA%241%3AA%241000%26%22%22%2C%29%3DROW%28%241%3A%241000%29%2CROW%28%241%3A%241000%29%2C)
请问该公式的解释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列不重复的数据依次提取出来.
有点小复杂,请慢慢体会.