Notifications
Clear all

Estender Fórmula Matricial

3 Posts
3 Usuários
0 Reactions
1,221 Visualizações
willianrc
(@willianrc)
Posts: 0
Trusted Member
Topic starter
 

Olá, estou com uma dúvida, como estender a fórmula matricial da Coluna D2:D21 até D65536

 
Postado : 30/11/2016 9:08 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Pq vc faria isso ?
Vc quer destruir o arquivo em tamanho e em desempenho?? Matriciais não são boas para serem a fórmula de uma coluna numa tabela... prefira usá-las fora de grandes intervalos da dados.
MAS se precisar usar e não houver outra maneira, nestes casos específicos, use somente onde são necessárias.
Uma alternativa boa, por mais que eu não goste, é a tabela dinâmica. daí vc faz fórmulas ao lado dela, olhando para os itens unicos. Isso faz mais sentido do que colocar a mesma matricial em mais de 100 células.

Nota: vc está usando XLS... pq ? Não tem Office 2007 ou superior? Ou melhor, qual a versão do seu Excel?

Vi seu arquivo, você usou aquela matricial que lista os itens únicos de uma coluna, é boa, MAS, vc não precisa dela em todas as 60mil linhas , vc só precisa dela nas mesmas linhas que a tabela tem. Pq pense, o resultado dela certamente será ou de mesmo tamanho que a tabela original, ou menor. Sempre. Não existe um caso em que o resultado final da sua matricial tenha mais itens que a tabela original...

Portanto, sugiro que preencha a tabela e arraste essa matriz até o fim dela... deixa adjacente, assim um duploclique na borde direita inferior fará o trabalho pra vc....

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 30/11/2016 9:38 pm
DJunqueira
(@djunqueira)
Posts: 772
Prominent Member
 

{=SE(ÉERROS(ÍNDICE(Vendedores;MENOR(SE(CORRESP(Vendedores;Vendedores;0)=LIN(Vendedores)-1;CORRESP(Vendedores;Vendedores;0);" ");LIN(Vendedores)-1)));"";ÍNDICE(Vendedores;MENOR(SE(CORRESP(Vendedores;Vendedores;0)=LIN(Vendedores)-1;CORRESP(Vendedores;Vendedores;0);" ");LIN(Vendedores)-1)))}

Retirei a função INDIRETO() da sua fórmula, pois está função é uma das de pior desempenho do Excel.

P/ ter controle total s/ fórmulas matriciais basta usar o Ctrl + Shift + Enter em apenas uma célula e depois arrastar p/ onde quiser.

Fórmula menor p/ fazer a mesma coisa:
{=SE(LIN()<=$G$1+1;ÍNDICE(Vendedores;CORRESP(0;CONT.SE($F$1:F1;Vendedores);0));"")}

Uma forma de evitar o cálculo de toda a fórmula com busca mais demorada e calcular o número de valores únicos e impedir o acionamento de ÍNDICE() e CORRESP() depois de passar por esse número de linhas como na fórmula abaixo:
{=SOMA(1/CONT.SE(Vendedores;Vendedores))}

Se sua dúvida foi respondida marque o tópico como RESOLVIDO usando o botão com marca verde.

 
Postado : 01/12/2016 3:45 am