系统:Windows 10
软件:Excel 2010
今日歌曲:
Part 1:逻辑过程
数组差集A-B
数组A与B的交集,假设为C
求在数组A中而不在数组C中的元素,即为差集
其实不用求交集,直接求在数组A而不在数组B中的元素,即为差集
10000点尴尬,不过文章写到这里啦,先按照这个笨方法来,哈哈
其中funIntersection为求交集函数,参考
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)
执行结果
以上为本次的学习内容,下回见
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: lzxmw777
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。