请问该公式的解释INDEX(A:A,SMALL(IF(MATCH(A$1:A$1000&"",A$1:A$1000&"",)=ROW($1:$1000),ROW($1:$1000),

 我来答
朱荟非
推荐于2018-03-04 · TA获得超过1万个赞
知道大有可为答主
回答量:5408
采纳率:81%
帮助的人:2274万
展开全部
公式没写完吧?
=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列不重复的数据依次提取出来。
有点小复杂,请慢慢体会。
GJT_tanwen
2012-03-13 · TA获得超过1204个赞
知道小有建树答主
回答量:515
采纳率:0%
帮助的人:714万
展开全部
公式没写完,应该是:=INDEX(A:A,SMALL(IF(MATCH(A$1:A$1000&"",A$1:A$1000&"",)=ROW($1:$1000),ROW($1:$1000)),row(A1))),数组公式,ctrl+shift+enter结束.
意思就是在A1:A1000这个区域精确查找A1至A1000返回的值,如果返回的值等于它的行号就显示行号,如果有重复值就返回FALSE,然后利用SMALL函数,把A1:A1000中有重复的项剔除掉,留下所有不重复的项。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式