我有一个大型文件,其中包含3列和23393行。列A表示日期,列B表示整数,第三列表示值。 我想找到具有多个标准的单元格(在第三列中)的值。
1)第一个标准是一个日期(它从2008年1月1日变为2009年12月31日)
2)第二个标准是整数(从1变为32)
由于
答案 0 :(得分:2)
简单方法怎么样?
Function find(ByVal criteria1 As Date, ByVal criteria2 As Integer) As Variant
For i = 2 To 300001
If Cells(i, 1).Value = criteria1 Then
If Cells(i, 2).Value = criteria2 Then
find = Cells(i, 3).Value
Exit Function
End If
End If
Next i
find = "N/A"
End Function
你可以测试它运行这样一个简单的宏:
Sub storeFoundValues()
Dim matches(2) As Variant
Dim date1, date2 As Date
Dim int1, int2 As Integer
date1 = DateSerial(2015, 7, 15)
int1 = 3
matches(1) = find(date1, int1)
Cells(1, 5) = matches(1) ' test the output
date2 = DateSerial(2016, 1, 10)
int2 = 2
matches(2) = find(date2, int2)
Cells(1, 6) = matches(2) ' test the output
End Sub
在具有30.000条记录的工作表中花了不到一秒的时间。
答案 1 :(得分:1)