excel中,如何将某一列中重复数据在另一表中筛选并显示出来?(不用自动筛选,用函数)

比如:表1中:
A B
张三 5
李四 9
王五 6
张三 20

在表2中输出效果:

A B
张三 5
张三 20

gaoyaju的回答局限性比较大,比方说这里有三个张三,使用vlookup函数(true 或者false)只能把第一个和最后一个张三给找出来,我提供一个比较笨的方法,基本上能解决问题,但是不是很完美,仅供参考:
1. 在sheet1里选中A B列进行排序(sort),这样确保重复数据出现在相邻行
2. 在C列C1=IF(A10=A11,ROW(),0),这样可以把重复的数据给挑出来
3 切换到sheet2
A1=IF(Sheet1!C1<>0,Sheet1!A1," ")
A2=IF(OR(Sheet1!C1<>0,Sheet1!C2<>0),Sheet1!A2,"")
B1=IF(Sheet1!C1<>0,Sheet1!B1," ")
B2=IF(OR(Sheet1!C1<>0,Sheet1!C2<>0),Sheet1!B2," ")
然后选中A2 B2下拉可以满足你的要求,
不完美之处在于,sheet2里会出现很多空白行(当出现不同数据时)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-02-08
用vlookup函数,加上辅助列(你可以加上一列序号列,作为辅助列)。
下面举例说明,你参照着用:
表1中的a列是姓名,B列是电话,c列是身份证号,我们要实现表2中姓名与表1中姓名一样的,身份证号自动关联表1中的数据,
vlookup如果使用了精确摸查,只会返回第一个符合条件的结果,遇到相同项,也可能自动返回相匹配的不同结果,但是自动的不可控的。

我们可以结合电话号码使得摸查目标具有唯一性。
在sheet1列A前插入一辅助列A,原列A变成了列B,原列B成了列C
在A2输入=B2&C2 并向下填充
在sheet2的数量下输入=vlookup(a2&b2,sheet1!a:D,4,0) 即可达到理想效果。追问

试过了,每次只能筛选出第一个张三。

追答

刚才我没看清楚你要筛选重复项,后来马上修改的,没想到你在线啊,反应这么快

第2个回答  2012-02-10
问题可解,在表2A1输入=if(COUNTIF(表1!$A:$A,表1!$a1)>1,表1!A1,""),下拉填充。在表2B2输入=if(COUNTIF(表1!$A:$A,表1!a1)>1,表1!$B1,""),下拉填充。结果显示如下:
张三 120
张三 200
李四 50
李四 60
李四 90
第3个回答  2012-02-08
用高级筛选吧