Página 1 de 1

Arrastar fórmula PROCH

Enviado: 11 Nov 2020 às 11:20
por Celsosilverio
Bom dia!
Preciso arrastar a seguinte fórmula:
=SE(Planilha1!A2="";"";PROCH($N$4;Planilha1!$A$1:$EX$100;2;0))
Como fazer para a fórmula seguir a sequência (3, 4, 5, 6...) Núm_índice_lin (em vermelho acima), ao arrastar?

Att,
Celso

Re: Arrastar fórmula PROCH

Enviado: 11 Nov 2020 às 11:30
por Estevaoba
Código: Selecionar todos
=SE(Planilha1!A2="";"";PROCH($N$4;Planilha1!$A$1:$EX$100;LINS($A$1:A2);0))
Good luck!

Re: Arrastar fórmula PROCH

Enviado: 11 Nov 2020 às 11:31
por osvaldomp
Substitua na fórmula o número 2 por LIN(A2)

Re: Arrastar fórmula PROCH

Enviado: 11 Nov 2020 às 11:53
por Estevaoba
Mestre Osvaldo, se me permite, aproveito a oportunidade para compartilhar o que aprendi nos últimos dias sobre a função LIN().
O resultado de LIN(A2), por exemplo, é a matriz {2} e não 2.
Para funções tipo PROC ou ÍNDICE, isso não é problema, mas para funções tipo DESLOC e INDIRETO ela resulta em erro.
O mesmo ocorre com a função COL().
Nesse caso, é preferível utilizar LINS ou COLS, que retornam um valor em vez de uma matriz.
Ab.

Re: Arrastar fórmula PROCH

Enviado: 11 Nov 2020 às 16:59
por osvaldomp
Salve, Mestre Estevão.

Honestamente eu não sabia dessa particularidade das funções LIN() e COL().
Fiz testes aqui com DESLOC() e com INDIRETO(), conforme as suas dicas, e não apresentaram erro no MS 365.
Assim, coloquei conteúdos em A2:A10 e utilizei =DESLOC(A$1;LIN(A1);;;) em uma célula vazia e =INDIRETO("A"&LIN(A2)) em outra célula vazia, arrastei ambas para baixo e funcionaram corretamente.

Então fucei um pouco na WEB.
No site Suporte da MS, primeiro link abaixo, no caso da função LIN() não faz menção a resultado como matriz, diz simplesmente "Retorna o número da linha de uma referência."

Já em um fórum, segundo link abaixo, o usuário T. Valko, que é Microsoft Excel MVP, comenta que aquelas funções realmente retornam uma matriz e que outras funções não aceitam essa matriz resultante como argumento, mas não comentou quais seriam essas outras funções. Ele sugere uma forma de contornar, passando o resultado de matriz para escalar, mas a solução que você colocou na sua fórmula é mais simples.

Até hoje em nenhum caso me ocorreu erro ao utilizar essas funções como argumento de outras. Vou continuar fuçando para tentar descobrir com quais outras funções o erro aparece.

Somos gratos por você compartilhar os seus profundos e atualizados conhecimentos.


https://support.microsoft.com/pt-br/off ... 6eb49a6d8d

https://answers.microsoft.com/en-us/mso ... 038b6be5e0

Re: Arrastar fórmula PROCH

Enviado: 11 Nov 2020 às 19:20
por Estevaoba
Agradeço o apreço, mas sou nada mais que um aprendiz, a anos-luz de ser mestre! :)
Na verdade meu aprendizado em Excel começou a crescer mais rapidamente graças a você, Mestre Osvaldo.
Explico: Há uns 6 anos me deparei numa situação em que precisava que o último valor preenchido em uma coluna aparecesse na linha de baixo, mas sem ser a soma. Então, depois de uma pesquisa encontrei uma solução com PROC invertido postada pelo amigo, havia uns dez anos ou mais! Não lembro em que fórum foi isso. :)
A partir daí, comecei a participar dos fóruns e a cada dia aprendo mais. Então, este é um agradecimento um tanto atrasado. rsrs

Quanto ao assunto em pauta, segue o link de onde obtive essa informação.

https://www.excelforum.com/excel-formul ... rmula.html

Note no post #2 a explicação do colaborador hlrngrv sobre essa peculiaridade das funções LIN e COL e seus efeitos colaterais quando usadas com DESLOC.
No post, a planilha exemplificando o erro.

Interessante também a explicação sobre a função INDICE em substituição da DESLOC.

Abraço