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。
excel数据不重复筛选,
答案:6 悬赏:30 手机版
解决时间 2021-03-21 18:54
- 提问者网友:两耳就是菩提
- 2021-03-20 19:25
最佳答案
- 五星知识达人网友:英雄的欲望
- 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!
公式下拉填充至出现#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
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯