Existe uma maneira de testar a velocidade/eficiência das fórmulas no Excel?
Isso pode ser feito no SQL Server mostrando o plano de execução real, existe algo que o Excel possa fazer de maneira semelhante.
Por exemplo, as consultas abaixo darão o mesmo resultado,
{=SUM(SUMIF(A:A,D1:D3,B:B))}
=SUMPRODUCT(ISNUMBER(MATCH(A1:A25,D1:D3,0))*B1:B25)
=SUMIF(A1:A25,D2,B1:B25)+SUMIF(A1:A25,D3,B1:B25)+SUMIF(A1:A25,D1,B1:B25)
Se eu usasse essas fórmulas em mais de 1000 linhas, minha planilha demoraria cada vez mais para calcular.
Como posso determinar qual é o mais eficiente para usar?
O problema não está relacionado apenas a esses exemplos, existe uma maneira geral de descobrir a execução/desempenho?
Em alguns manuais descobri que SUMIF ou SUMIFS é mais rápido que SUMPRODUCT , por isso resolvi testar qual é mais rápido e usei o código VBA mostrado abaixo, conta o tempo decorrido para ambas as fórmulas.
Resultados:
Tempo gasto por SUMPRODUCT:
Tempo gasto pelo SUMIF:
NB
Descobri que o SUMIF leva menos tempo.**
O tempo decorrido pode variar durante algum teste, pois depende também da velocidade da CPU .
Você pode usar este código se quiser obter o tempo decorrido em minutos, se estiver usando um grande intervalo de dados.