• <dd id="dbrnb"><samp id="dbrnb"><object id="dbrnb"></object></samp></dd>
    <div id="dbrnb"><big id="dbrnb"><xmp id="dbrnb"></xmp></big></div>

  • <menu id="dbrnb"><tt id="dbrnb"><button id="dbrnb"></button></tt></menu>
  • <cite id="dbrnb"></cite>
  • <th id="dbrnb"></th>
    分享

    【煙花原創】VBA零基礎之第135篇 字典(十二)

    2022-06-22  xfzxlgs   |  轉藏
       
    四、實戰
    5.求兩個區域(數組)的交集,差集,并集,補集(上)

    假設現在有兩個數組,定義如下:
    數組A=array(“B”,1)
    數組B=array(“A”,”B”,”C”)

    交集:數組
    A與數組B的都有的元素的集合稱為交集,這里數組A與數組B的交集就是(“B”)
    并集:數組A與數組B的元素的集合,這里數組A與數組B的并集就是(“A”,”B”,”C”,”D”,1)
    差集:數組A中有但數組B沒有的元素的集合,這里數組A與數組B的差集是是(1)
    補集:數組A中沒有但數組B中有的元素的集合,這里數組A與數組B的補集是(“A”,”C”)
    這里幾個概念我也是百度上來找來,數學基礎好的人可能容易理解。
    幾個集合我會這么理解:
    交集:AB也有的。
    并集:A有的加上B有的。
    差集:AB沒有。
    補集:A沒有B有。
    差集與補集基本上是差不多,只是參照目標相反而已。
    思路:
    交集:先把數組A的元素放入字典1(去重復),然后再遍歷數組B,檢測數組B的元素在字典1中是否存在,存在的話就放入字典2。數組B遍歷完成后,字典2中存放的就是AB共有的元素。
    并集:先循環數組A,不重復值放入字典1,再循環數組B,還是放入字典1,這樣兩個數組都去除重復后放入字典1中。
    差集:先循環數組B,放入字典1中(去重復)。然后循環處理數組A,檢測元素是否在字典1中,如果不存在,放入字典2中,這樣就把數組A有但數組B沒有的都保存在字典2中。
    補集:先循環數組A,放入字典1中(去重復)。然后循環處理數組B,檢測元素是否在字典1中,如果不存在,放入字典2中,這樣就把數組B有但數組A沒有的都保存在字典2中。
    數據源:
                                  
    實際數據一共有10000行,這里截圖只是部分而已。


    代碼:
    示例1:交集,求產品12都有的產品型號


    示例
    2:并集,合并產品12(去除重復的)
    這里直接用一個數組來存儲2列產品內容,沒有用2個數組來分別存儲產品12的型號。

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 全屏 打印 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      精品久久成年免费影院