我应该将我的数据分成小块吗?

时间:2017-04-07 17:53:58

标签: excel vba excel-vba vlookup

我有一个超过1,000,000行的excel表,我需要执行一些vlookups / countif语句。我应该在包含所有数据的单张纸上运行我的VB宏,还是将数据在单独的纸张上分成50,000个增量,然后在每张纸上运行宏可以节省大量时间?那里有一个方程式可以帮助我做出这个决定吗?

感谢您的帮助。

这是我计划使用的VB,(虽然我更喜欢一般的答案,如果有的话,我可以在excel处理这些大型数据库提取时应用):

Sub Find_Space_then_Compare()
'
' Finds the Space in the Key, Extracts Character after, and looks for match 
in Sample2 sheet

ActiveCell.FormulaR1C1 = "=MID(RC[-1],FIND("" "",RC[-1])+1,256)"
Range("B2").Select
Selection.AutoFill Destination:=Range("B2:B100")
Range("B2:B100").Select
Range("C2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],Sample2!R81C3:R121C3,1)"
Range("C2").Select
Selection.AutoFill Destination:=Range("C2:C100")
Range("C2:C100").Select


End Sub

1 个答案:

答案 0 :(得分:1)

这是一个非常可怕的如此庞大的数据库,现在我想建议将您的数据库分成几个部分并应用公式。以下是2件的例子。

=IF(NOT(ISNA(VLOOKUP(A1,data1,2,FALSE))),VLOOKUP(A1,data1,2,FALSE),IF(ISNA(VLOOKUP(A1,data2,2,FALSE)),"No Match",VLOOKUP(A1,data2,2,FALSE)))