一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

【分享】DLOOKUP聽說過嗎?VLOOKUP和它賽跑被甩了幾條街

 L羅樂 2018-03-31

說起VLOOKUP大家都不陌生,但你有沒有試過用VLOOKUP一次處理超過幾十萬條記錄呢?年底了負責做成本分析的同事求助,用VLOOKUP處理大量數據的時候需要等待很長時間甚至Excel會直接卡死,有沒有更高效的方法呢?

下面向大家介紹使用字典對象應對VLOOKUP處理大量數據時力不從心的問題。

1、假設有兩個表格:表2存放訂單號及部門、類型、金額、日期、負責人、完成狀態(tài)等相關信息,共100萬條記錄;表1存放待查找的訂單號及金額、完成狀態(tài)信息,共50萬條記錄。


2、按Alt F11快捷鍵,進入VBA編輯窗口,插入一個模塊,寫入以下代碼:

Sub DLOOKUP()   

   Dim dic As Object

   Dim arr, brr

   Dim acol As Long, bcol As Long

   Dim itm

   Dim crr() As Long

   Set dic = CreateObject('Scripting.Dictionary')

   arr = Sheet1.Range('A1').CurrentRegion

   brr = Sheet2.Range('A1').CurrentRegion

   acol = Sheet1.Range('A1').CurrentRegion.Columns.Count

   bcol = Sheet2.Range('A1').CurrentRegion.Columns.Count

   ReDim crr(2 To acol) '重定義為與表1的列一致

       For i = 2 To acol

       For j = 2 To bcol

           If arr(1, i) = brr(1, j) Then crr(i) = j

       Next

   Next           

   For i = 2 To UBound(brr)

       dic(brr(i, 1)) = i

   Next   

   For i = 2 To UBound(arr)

       itm = dic(arr(i, 1))

       If itm <> '' Then

           For j = 2 To acol

               arr(i, j) = brr(itm, crr(j))

           Next

       End If

   Next

    Sheet1.Range('A1').Resize(UBound(arr), acol) = arr

Set dic = Nothing

End Sub


3、運行宏DLOOKUP(),1-2分鐘后,結果就在表1中顯示出來了。

以后只需要在表2中存放數據源(關鍵字放第1列),在表1中存放待查找的關鍵字(關鍵字放第1列)和需要引用的字段名,然后運行下DLOOKUP()就可以了。


字典概念和基本用法:

字典(Dictionary)是腳本語言(Scripting)中提供的一個對象,通過建立字典可以實現高效的數據查詢。

用法1:Dictionary(Key)=Item

在字典(Dictionary)中為關鍵字(Key)和條目(Item)建立對應關系。

用法2:Item=Dictionary(Key)

在字典(Dictionary)中查找關鍵字(Key)對應的條目(Item)。


上文的DLOOKUP()首先建立了一個字典對象dic,用arr和brr分別保存表1和表2的數據,找出表1所要引用的字段名在表2中對應的列號;然后在字典中為表2的訂單號和行號建立對應關系,在字典中查找表1的訂單號得到對應的行號;最后根據行號和列號將表2中對應的數據寫到表1中。

字典對象還有Key、Item等屬性和Add、Remove、Exists等方法,除了實現查找和引用,還可以實現去重、替換、排序等各種功能,而且效率很高。

作者:水長川

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    日韩精品一区二区三区av在线| 性欧美唯美尤物另类视频| 午夜精品黄片在线播放| 视频一区二区黄色线观看| 99国产高清不卡视频| 婷婷色网视频在线播放| 日本人妻免费一区二区三区| 亚洲熟女熟妇乱色一区| 日本午夜免费观看视频| 欧美精品中文字幕亚洲| 日本一本不卡免费视频| 亚洲女同一区二区另类| 日韩熟妇人妻一区二区三区| 国产精品视频久久一区| 日韩国产亚洲一区二区三区| 丁香七月啪啪激情综合| 亚洲中文字幕综合网在线| 日本东京热视频一区二区三区| 精品一区二区三区三级视频 | 国产成人精品99在线观看| 欧美一区二区三区喷汁尤物| 国产一区二区三区成人精品| 久久国产亚洲精品赲碰热| 俄罗斯胖女人性生活视频| 五月婷婷综合缴情六月| 欧美成人欧美一级乱黄| 国产欧美日韩精品自拍| 亚洲欧美日本视频一区二区| 五月天丁香亚洲综合网| 99久久精品国产麻豆| 亚洲中文字幕在线综合视频| 91精品视频全国免费| 国产不卡视频一区在线| 亚洲欧美日韩熟女第一页| 黄色在线免费高清观看| 韩国激情野战视频在线播放| 91欧美日韩国产在线观看| 欧美日韩一区二区午夜| 99热中文字幕在线精品| 欧美大胆美女a级视频| 国产av一区二区三区久久不卡|