我应该将我的数据分成更小的部分吗?
Should I break my data into smaller pieces?
我有一个 excel sheet 超过 1,000,000 行,我需要执行一些 vlookups/countif 语句。我应该 运行 我的 VB 宏在一个 sheet 上包含所有数据,还是将数据分成 50,000 个增量在单独的 sheet 上然后 运行ning每个 sheet 上的宏都可以节省大量时间?有没有方程式可以帮助我做出这个决定?
感谢您的帮助。
这是我打算使用的 VB,(虽然我更想寻找一个通用的答案,如果有的话,我可以在 [=18 中处理这些大型数据库提取时应用=]):
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
这么大的数据库实在是太可怕了,现在我建议把你的数据库分成几块,然后套用公式。以下是 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)))
我有一个 excel sheet 超过 1,000,000 行,我需要执行一些 vlookups/countif 语句。我应该 运行 我的 VB 宏在一个 sheet 上包含所有数据,还是将数据分成 50,000 个增量在单独的 sheet 上然后 运行ning每个 sheet 上的宏都可以节省大量时间?有没有方程式可以帮助我做出这个决定?
感谢您的帮助。
这是我打算使用的 VB,(虽然我更想寻找一个通用的答案,如果有的话,我可以在 [=18 中处理这些大型数据库提取时应用=]):
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
这么大的数据库实在是太可怕了,现在我建议把你的数据库分成几块,然后套用公式。以下是 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)))