milupax Posted June 17, 2011 at 04:40 AM Report #396921 Posted June 17, 2011 at 04:40 AM 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. 😕 ? Obrigado desde já a quem me possa ajudar ou sugerir alguma coisa em excel ou vba. 🙂 Cumprimentos
jpaulino Posted June 17, 2011 at 08:44 AM Report #396934 Posted June 17, 2011 at 08:44 AM Mas é a penultima da lista ou a penultima de um nome?
milupax Posted June 17, 2011 at 12:02 PM Author Report #397009 Posted June 17, 2011 at 12:02 PM 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.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now