1

Есть ли способ напрямую сравнить эффективность вычислений рядом две разные формулы для достижения той же цели в Excel?

Скажем, я хочу знать, какой процессор интенсивнее (или, если нет разницы) между, скажем,:

=countif(a1,b1) против =a1=b1

или же

=vlookup(a1,B:C,2,0) против =index(C:C,match(A1,B:B,0)

как бы я занялся установлением этого? Кроме простого копирования формулы на 20 000 строк и установки секундомера, когда я нажимаю клавишу f9.

1 ответ1

0

Примерно так должно работать:

Public Function speedtest()
t = Now()
For i = 1 To 200000
    'c = Application.WorksheetFunction.CountIf(ActiveSheet.Range("A1"), ActiveSheet.Range("B1"))
    c = (ActiveSheet.Range("A1") = ActiveSheet.Range("B1"))
Next i
t1 = Now()
dt = Format(t1 - t, "ss")
ms = MsgBox(dt & " seconds", vbOKOnly)
End Function

Формула для тестирования находится внутри цикла for . Один из них комментируется с помощью ' , так что вы можете комментировать и отменять комментарии, чтобы проверить один или другой

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .