2015-03-03 82 views
0

我正在處理包含兩列(舊URL和新URL)的Excel文件。但它包含大約20,000行。如何優化速度excel 2007(±20,000行)

而且我有一個包含需要在大±20000行要導入的文件約400舊/新的URL另一個文件。

我必須做各種處理,如: - 查找所有重複行(相同的兩列不止一次......)。該功能將出現在列中,每次添加1行以檢查該文件是否已存在於該文件中時,運行該功能將會很好。

請注意,我已將工作表轉換爲表格。現在

2個問題:

1)I應該做某種VLOOKUP從±20000行片和±400行片或VBA?我不知道這樣做的最佳方式是什麼(即:如果±400行表中的那行不在±20000行表中,請將其添加...)。我應該使用vlookups還是使用VBA填充數組(速度方面)?如果我使用vlookup,確實可以將vlookup函數放在工作表中並在每行中引用它,而不是直接在每行中放置一個vlookup函數?

2)如何優化20,000行的表,因爲現在,我想排序或篩選每一次,它需要一個永恆重繪,並凍結我的電腦該時間!

感謝您的幫助。

回答

0

首先要從需要添加的400行的表中省略這些模糊,使用COUNTIFS公式對大表進行排序,然後按該值進行排序,並且只將該值複製到< 1(或錯誤)。

其次,我可能會做同樣的事情在大板,但引用本身,以上1的值什麼是欺騙。

最後,20,000行表中是否有公式?我可以在A1:A20,000範圍內設置一個「1」的20,000行表格,並且對它做任何事情都會非常快。這一切都歸結到你在那裏有什麼樣的數據,你可以做些什麼來減少它的系統上的負載(即轉換公式的值,如果他們不再需要計算)

0

Excel 2007中有一個內置的功能和VBA您可以使用您的具體情況:Range.RemoveDuplicates數據選項卡 - >數據工具組 - >刪除重複

例如數據:
Sample_Before
點擊刪除重複鍵:
RemoveDuplicateButton
RemoveDuplicatePrompt
Results
而你完成了!
Sample_After

的VBA當量是:

ActiveSheet.Range("$A$1:$B$10").RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes 

注1 & 2並不意味着列甲& B.它表示所選範圍的列。

如果您的工作表僅包含2列,則可以使用UsedRange代替。