Jump to content
milupax

[Ajuda] Penúltima ocorrência em coluna

Recommended Posts

milupax

Olá pessoal, :)

Precisava de uma ajuda provavelmente simples para quem lida com Excel/VBA todos os dias mas para mim é um pouco complicado ...

Tenho uma folha com dados com a seguinte disposição:

      A            B            C            D

1  Pedro  Joao          57          55

2  Paulo  Pedro        65          62

3  José    Joao          68          54

4  Pedro  Miguel      56          67

5  Joao    Paulo        62          65

Precisava que me devolvesse a última e penúltima entrada correspondente a certo valor, ou seja,

por exemplo, qual o último e penúltimo valor correspondente (nas colunas C ou D) quando ocorre "Pedro" nas colunas A ou B? Neste caso 56 e 62 respectivamente.

Para a última ocorrência encontrei solução através da fórmula:

=ÍNDICE(C1:C5;SOMARPRODUTO(MÁXIMO((A1:A5="Pedro")*LIN(A1:A5))))

Faço isto em separado para encontrar a última ocorrência na coluna A e para encontrar na coluna B, e em seguida, em colunas ao lado, recorro ao artifício de comparar o número da linha da última ocorrência na coluna A com a B e fico com a maior. Haverá melhor forma mas esta funciona ...

Quanto à penúltima ocorrência é que tenho problemas; consigo encontrar as penúltimas ocorrencias em A e B,

{=MAIOR(SE(A1:A5="Pedro";C1:C5;"");2)}

mas não em conjunto (A ou B) nem encontro forma, nos limites do pouco conhecimento que tenho, de as comparar pois utiliza array.  :confused: 🤔

Obrigado desde já a quem me possa ajudar ou sugerir alguma coisa em excel ou vba.  :)

Cumprimentos

Share this post


Link to post
Share on other sites
milupax

Mas é a penultima da lista ou a penultima de um nome?

Com a penúltima ocorrência de um valor (neste caso um nome ...) nas colunas A ou B, preciso que me devolva o valor correspondente em C ou D - se ocorrer em A preciso que me devolva o valor correspondente em C, se ocorrer em B, o valor correspondente em D.

No exemplo em cima, a penúltima ocorrência de "Pedro" nas colunas A e B ocorre em B2, logo deve devolver o valor de  D2, ou seja, 62.

Obrigado.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.