VBAExcel-实例系列-06-求两个数组的差集
展开全文
excel数组函数的实例
系统:Windows 10
软件:Excel 2010
这个系列说一些使用Excel/VBA具体的一些实例
今天讲讲如何获得两个数组的差集,要求两个数组本身无重复元素
差集:A-B,即在数组A中而不在数组B中的元素
今日歌曲:
Part 1:逻辑过程
1.数组差集A-B
2.数组A与B的交集,假设为C
3.求在数组A中而不在数组C中的元素,即为差集
4.其实不用求交集,直接求在数组A而不在数组B中的元素,即为差集
5.10000点尴尬,不过文章写到这里啦,先按照这个笨方法来,哈哈
6.其中funIntersection为求交集函数,参考
VBA/Excel-实例系列-04-求两个数组的交集
Part 2:代码
Function funAMinusB(array1, array2)    Rem>>求数组1和数组2的差集    Rem>>    Dim arrayInter    Dim array3()    Dim lenA    Dim i    Dim val1    Dim pos    Dim maxNum    Dim FlagError    lenA = 0    On Error Resume Next    Err.Clear    arrayInter = funIntersection(array1, array2)    '判断数组是否为空    FlagError = UBound(arrayInter)    If Err.Number <> 0 Then '判断是否为空数组        funAMinusB = array1    Else        maxNum
= UBound(array1)        For i = 0 To maxNum Step 1            val1 = array1(i)            pos = Application.Match(val1, arrayInter, 0)            If IsError(pos) Then '未到                ReDim Preserve array3(lenA)                array3(lenA) = val1                lenA = lenA 1            End If        Next i        funAMinusB = array3    End If End Function
Part 3:调用该函数
array1 = Array('张三', '李四', 1, 2, 3, 4, 5)    array2 = Array(7)    array1_2 = funAMinusB(array1, array2)
执行结果
以上为本次的学习内容,下回见
本文为原创作品,如若转载请标明出处,如发现有错误,欢迎留言指出

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。