1 votes

Comparer l'efficacité des formules Excel

Existe-t-il un moyen de comparer directement l'efficacité de calcul de deux formules différentes pour atteindre le même objectif dans Excel ?

Supposons que je veuille savoir lequel est le plus gourmand en ressources processeur (ou s'il n'y a pas de différence) entre, disons, :

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

ou

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

comment pourrais-je l'établir ? Sinon en copiant la formule sur 20 000 lignes et en réglant un chronomètre lorsque j'appuie sur la touche f9.

0voto

jcbermu Points 16624

Quelque chose comme ceci devrait fonctionner :

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

La formule à tester se trouve à l'intérieur du for boucle. L'une est commentée en utilisant ' Vous pouvez donc commenter et décommenter pour tester l'un ou l'autre.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X