= Se 'curto-circuito', mas para acelerar o desempenho, eu sugeriria link . Inclui uma macro para o sincronismo. = INDIRETO parece valer a pena.
Meu cenário é que eu tenho uma folha de estilo "Painel" que procura dados de uma tabela grande com base na célula na coluna B, que está sempre à esquerda. A célula na coluna B contém uma fórmula de matriz INDEX, MATCH, IF, para extrair nomes exclusivos da tabela em que o "Grupo" está selecionado. Essa lista é preenchida e é preenchida com base em uma seleção suspensa das diferentes opções "Grupo". Pode retornar até 20 nomes com base no "Grupo".
Eu tenho 17 células com fórmulas à direita que podem retornar um erro se os dados não estiverem lá. Então eu os precedi com uma declaração IFERROR()
. Minha pergunta é se eu precedê-los com uma instrução IF()
aceleraria os cálculos porque a instrução IF leria se Verdadeiro, em seguida, forneceria branco, se falso, então calcularia a fórmula.
Logicamente, parece que sim para mim, mas eu queria saber se algum de vocês se sente da mesma maneira. Obrigado. Talvez isso seja mais para uma meta-discussão.
p.s. Aqui está uma das 9 fórmulas mais complexas que estou usando.
=IFERROR((SUMIFS(INDIRECT("tblData["&N$7&" Top Box Num]"),INDIRECT("tblData["&$B$7&"]"),$B$16,INDIRECT("tblData[Date]"),">="&$C$5,INDIRECT("tblData[Date]"),"<="&$D$5))/(SUMIFS(INDIRECT("tblData["&N$7&" Den]"),INDIRECT("tblData["&$B$7&"]"),$B$16,INDIRECT("tblData[Date]"),">="&$C$5,INDIRECT("tblData[Date]"),"<="&$D$5)),"")
A fórmula acima é mais lenta que a fórmula abaixo quando True?
=IF(OR($C$16=0,C16=""),"",(SUMIFS(INDIRECT("tblData["&N$7&" Top Box Num]"),INDIRECT("tblData["&$B$7&"]"),$B$16,INDIRECT("tblData[Date]"),">="&$C$5,INDIRECT("tblData[Date]"),"<="&$D$5))/(SUMIFS(INDIRECT("tblData["&N$7&" Den]"),INDIRECT("tblData["&$B$7&"]"),$B$16,INDIRECT("tblData[Date]"),">="&$C$5,INDIRECT("tblData[Date]"),"<="&$D$5)))
As fórmulas essencialmente somam os valores do numerador e dividem isso pelos valores do denominador, onde as condições são verdadeiras de uma tabela de 20.000 linhas e retornam uma pontuação percentual.
= Se 'curto-circuito', mas para acelerar o desempenho, eu sugeriria link . Inclui uma macro para o sincronismo. = INDIRETO parece valer a pena.