Compare a eficiência das fórmulas do Excel

1

Existe alguma maneira de comparar diretamente para eficiência de cálculo lado a lado duas fórmulas diferentes para alcançar o mesmo objetivo no excel?

Digamos que eu queira saber qual é o processador mais intensivo (ou se não há diferença) entre, por exemplo:

=countif(a1,b1) vs. =a1=b1

ou

=vlookup(a1,B:C,2,0) vs. =index(C:C,match(A1,B:B,0)

como eu iria fazer isso? Além de apenas copiar a fórmula para baixo 20 000 linhas e definir um cronômetro como eu bati f9.

    
por Some_Guy 19.08.2015 / 19:05

1 resposta

0

Algo como isso deve funcionar:

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

A fórmula a ser testada está dentro do loop for . Um é comentado usando ' , então você pode comentar e descomentar para testar um ou outro

    
por 20.08.2015 / 10:25