Excel求补集

EXCEL求给定数据的补集

事例:某单元格有若干数据(数字或字母等 用空格隔开),现在有已知的一部分数据,求已知数据的补集.
比如:A3单元格有数据 1 2 3 4 5 6 7 8 9 0;已知B3: 1 2 5 7 ,在C3中求B3的补集.
(希望可以描述下公式 学习下. VBA也说明下)
问题补充:补充一个:如果各个数据在独立的单元格内,如A列为基础数据,B列为已知数据,在C列求B列的补集?

 

 

 

 

我用的是自定义函数
首先按下ATL+F11进入VBA编辑界面,然后菜单-插入-模块,然后复制下面的代码.退出.然后在C3中输入
=BJ(A3,B3)
即可
以上公式,可以通用来求后个单元格对于前个单元格的补集.

Public Function BJ(ByVal M As String, ByVal N As String) As String
Dim x, y
a = Split(N, " ")
b = Split(M, " ")
For x = LBound(a) To UBound(a)
For y = LBound(b) To UBound(b)
If a(x) = b(y) Then
b(y) = ""
End If
Next
Next
For x = LBound(b) To UBound(b)
If b(x) <> "" Then
BJ = BJ & b(x) & " "
End If
Next
End Function
*****************
假设你的数据分别在A1:A1000,B1:B1000
在C1输入下面公式
=SMALL(IF($A$1:$A$1000="","",IF(ISERROR(MATCH($A$1:$A$1000,$B$1:$B$1000,0))*1,$A$1:$A$1000,"")),ROW())

以CTRL+SHIFT+ENTER确认
然后向下填充.出现正常数字或字母的单元格,就是它的补集.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值