永发信息网

excel数据不重复筛选,

答案:6  悬赏:30  手机版
解决时间 2021-03-21 18:54
  • 提问者网友:两耳就是菩提
  • 2021-03-20 19:25
A列100项数据 B列50项数据

导出B列中 不存在于A列的数据到C列。

求简单高效方法。谢谢。

试了几个方法,好像没有效果。再补充一下问题。
本问题不考虑空格
A与B有交集,且B不是A的子集,实际C是 B减去 B与A的交集。


A:1 2 3 4 5 6 7
B:2 3 5 6 8 9

则C为 8 9。
最佳答案
  • 五星知识达人网友:英雄的欲望
  • 2021-03-20 20:49
C1=INDEX($A$1:$A$100,SMALL(IF(ISNA(MATCH($A$1:$A$100,$B$1:$B$100,0)),ROW($A$1:$A$100),"0"),ROW(A1)))
公式下拉填充至出现#NUM!
全部回答
  • 1楼网友:孤独的牧羊人
  • 2021-03-21 00:01
在C1中输入公式后同时按ctrl+shift+enter 3键结束: =IF(ISERR(INDEX($B$1:$B$100,SMALL(IF(($B$1:$B$100<>"")*(COUNTIF($A$1:$A$1000,$B$1:$B$100)=0),ROW($B$1:$B$100),""),ROW(A1)))),"",INDEX($B$1:$B$100,SMALL(IF(($B$1:$B$100<>"")*(COUNTIF($A$1:$A$1000,$B$1:$B$100)=0),ROW($B$1:$B$100),""),ROW(A1)))) 然后下拉复制C1 或者你直接选择c1:c50,输入一下公式同时按ctrl+shift+enter 3键结束: =IF(ISERR(INDEX($B$1:$B$100,SMALL(IF(($B$1:$B$100<>"")*(COUNTIF($A$1:$A$1000,$B$1:$B$100)=0),ROW($B$1:$B$100),""),ROW(C1:C50)))),"",INDEX($B$1:$B$100,SMALL(IF(($B$1:$B$100<>"")*(COUNTIF($A$1:$A$1000,$B$1:$B$100)=0),ROW($B$1:$B$100),""),ROW(C1:C50)))) 两个公式输入后都要同时按ctrl+shift+enter 3键结束
  • 2楼网友:思契十里
  • 2021-03-20 23:33
C1=IF(ISERROR(VLOOKUP(A1,B:B,1,0)),A1,"")之后拖至全列
  • 3楼网友:蓝房子
  • 2021-03-20 23:19
一般来说,要筛选的数据是在同一列的 则在另一空列中输入公式,以判断其是否有重复,之后再通过筛选该列中无重复的就可以了 假设你的原数据在a列中,则在b列(因一般第一行为标题,故在b2中输入) 公式为=if(sum(if(a2=a$2:a2,1))>1,"y","") 之后同时按下ctrl shift enter,系统自动在公式的前后各加上{},表示数组计算 之后下拉公式到所胡的行中 这样通过筛选该列为空的就可以了
  • 4楼网友:英雄的欲望
  • 2021-03-20 22:29
用宏吧,假设你的数据是从第一行开始的,按下ALT+F11,复制下面的宏代码.按下F5运行。 Sub Repeat() Dim n n = 1 For i = 1 To 50 '遍历B列的50项数据 For j = 1 To 101 '查询A列的100个数据,增加一个101行的空数据 If Cells(i, 2) = Cells(j, 1) Then '如果B列的i行等于第一列的j行 Exit For '退出j循环 End If Next j '验证A列下一个j If j > 100 Then 'j行是否到了101行 Cells(n, 3) = Cells(i, 2) 'C列的n行等于B列的i行 n = n + 1 'n行增加1 End If Next i '验证B列下一个单元格 End Sub
  • 5楼网友:毛毛
  • 2021-03-20 21:37
假设2列有相同的表头(例如 A1,B1均为 “姓名”) C1留空 C2输入公式 =isna(match(b2,a:a,)) 数据》筛选》高级筛选》 列表区域 A:A 条件区域 C1:C2 复制到 D1
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯