EXCEL中相同数据只取一个,就像高级筛选那样,但我想用函数做。

例如:Sheet1中A1 111 在Sheet2中得到的结果;A1 111 或: A1 111
A2 111 A2 113 A2 空白
A3 113 A3 114 A3 113
A4 111 A4 116 A4 空白
A5 114 A5 空白 A5 114
A6 116 A6 空白 A6 116
A7 114 A7 空白 A7 空白

实现你的第二种效果比较简单:

=IF(COUNTIF($B$1:B1,A2)>0,"",A2)



实现你的第一种效果比较麻烦,需要用数组公式:{}


=INDEX($A$1:$A$100,MATCH(,COUNTIF($B$1:B1,$A$1:$A$100),))

按ctrl+shift+enter三键结束公式


追问

第二种方式如果把筛选出的数据放到SHEET2中要怎么做。
数组公式的话我们公司有些电脑反应慢,不好做。

追答

在sheet2的B1输入=sheet1!A1
在sheet2的B2输入=IF(COUNTIF($B$1:B1,sheet1!A2)>0,"",sheet1!A2)

如果这个效果你是一段时间(比如一周做一次一个月做一次的),我建议你使用高级筛选

如果是实时需要更新的,那才使用函数

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-02

    把sheet1中的A1-A7单元格内容拷贝到sheet2A列

    左键选中A列

    点击 数据-删除重复项-确定


    只剩下不重复的内容了。

第2个回答  2014-04-02
我知道的一个方法是对Sheet1先进行排序,然后在表2中建公式=IF(EXACT(A1,A2),"",A1)
就是A1和A2进行比值,如果值一样就空白,如果值不一样,就返回上一个单位格的值,但前提是要对表1的A列进行排序。不排序的方法就不知道啦
第3个回答  2014-04-02
sheet2 A1
=if(countif(sheet1!a$1:a1,sheet1!a1)=1,sheet1!a1,"")追问

你的也是对的,非常感谢你!又学了好多东西。

第4个回答  2014-04-02
假设数据在A1:A26,则在B1输入:=IF(ISERROR(SMALL(IF(MATCH($A$1:$A$26,$A$1:$A$26,0)=ROW(INDIRECT("1:"&ROWS($A$1:$A$26))),MATCH($A$1:$A$26,$A$1:$A$26,0),""),ROW(B1))),"",INDEX($A$1:$A$26,SMALL(IF(MATCH($A$1:$A$26,$A$1:$A$26,0)=ROW(INDIRECT("1:"&ROWS($A$1:$A$26))),MATCH($A$1:$A$26,$A$1:$A$26,0),""),ROW(B1)))) 然后结果可以复制到SHEET2追问

我想结果直接在SHEET2中显示呢。有办法吗。。不用数组公式。

相似回答