excel MATCH(A$2:A$10,A$2:A$10,0)=ROW($1:$9)解释下,谢谢

2024-11-30 14:38:22
推荐回答(1个)
回答1:

这是数组公式中的部分公式,MATCH函数是返回首次出现的序号,MATCH(A$2,A$2:A$10,0)很容易理解,是查找A2在A2:A10中的次序,但此处是数组,要查找A2:A10中首次出现的次序,MATCH(A$2:A$10,A$2:A$10,0),就是此目的,其返回的结果有9个元素。
这里是由A2开始的,但MATCH函数的次序是从1开始的,比开始行号小1,所以返回的次序是1~9,用ROW($1:$9)来取得,直观的是用ROW($2:$10)-1来表示,所以也可以用:MATCH(A$2:A$10,A$2:A$10,0)=ROW($2:$10)-1,是一样的。
这个表达式的结果是,当区域中的数据是首次出现时,结果为TRUE、否则为FALSE。
再用IF函数,结果为真时,返回行号,结果为假时,返回4^8,再用SMALL函数取第几小行号,再用INDEX函数返回指定行号的值,从而达到取出不重复值的目的。