Notifications
Clear all

Procurar resultado em uma matriz

11 Posts
2 Usuários
0 Reactions
2,236 Visualizações
(@gustavo-silva)
Posts: 29
Eminent Member
Topic starter
 

Olá pessoal!
Estou utilizando a função PROCV para o seguinte caso, e não está dando certo:

Como o exemplo da imagem, preciso procurar o número 500 e informar em qual ano e mês ele aparece.
Obrigado!

 
Postado : 01/12/2012 8:01 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia Gustavo,

Seja bem vindo ao fórum...
Vê se te ajuda.

Qualquer coisa da o grito.

 
Postado : 01/12/2012 8:47 am
(@gustavo-silva)
Posts: 29
Eminent Member
Topic starter
 

Isso mesmo, Bernardo! Porém como sou novato no Excel, depois estudarei direito, pois não entendi muita coisa...
E está informando na resposta "no mês X do mês X", e não estou conseguindo alterar...

 
Postado : 01/12/2012 9:58 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde Gustavo,

Realmente, segue novo anexo.

Qualquer coisa da o grito.

 
Postado : 01/12/2012 10:09 am
(@gustavo-silva)
Posts: 29
Eminent Member
Topic starter
 

Bom dia Gustavo,

Seja bem vindo ao fórum...
Vê se te ajuda.

Qualquer coisa da o grito.

Bernardo, tentei aplicar na minha tabela mas nem por reza funcionou...

 
Postado : 01/12/2012 10:26 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Gustavo,

Não funciona por alguns motivos:

1 - Casas decimais contam para a captura de registros;

2 - A solução do Bernardo não prevê repetições de valores na tabela.

Tente isso:

Em F14 faça: {=SEERRO(DIREITA(DESLOC(A3;MÍNIMO(SE(B4:M8=F11;LIN(A4:A8)))-3;0);2)*1;"")} - matricial

Em F15 faça: =SEERRO(CORRESP(F11;DESLOC(A3;CORRESP("ANO "&F14;$A$4:$A$8;0);1;1;13);0);"") - normal

Me avise.

Abs,

 
Postado : 01/12/2012 6:57 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Somente um ajuste na sua fórmula MANDRIX,

F14:

=SEERRO(DIREITA(DESLOC(A3;MÍNIMO(SE(INT(B4:M8)=F11;LIN(A4:A8)))-3;0);2)*1;"")

Ctrl + Shift + Enter

F15:

=SEERRO(CORRESP(F11;INT(DESLOC(A3;F14;1;1;13));0);"")

Ctrl + Shift + Enter

Qualquer coisa da o grito.

 
Postado : 02/12/2012 9:15 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bernardo,

Sensacional a sacada do INT(). Nesse caso funciona legal.

Só tem que lembrar que se a dispersão dos números na tabela (leia-se intervalo entre MÁXIMO() e MÍNIMO()) for pequena (exemplos: 1 a 6, 115 a 117, 3 a 12, etc...), provavelmente as casas decimais passarão a fazer diferença e com o INT() talvez não traga o resultado esperado.

Seria isso, certo?

Bem sacado mesmo.

Abs,

 
Postado : 02/12/2012 1:38 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde Mandrix,

Não sei se entendi muito bem, mas acho que seria caso fosse arred(), mas como é o int() não irá fazer diferença.

Abraço

 
Postado : 02/12/2012 1:44 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Estamos falando a mesma coisa de maneiras diferentes.

Abs,

 
Postado : 02/12/2012 2:29 pm
(@gustavo-silva)
Posts: 29
Eminent Member
Topic starter
 

Somente um ajuste na sua fórmula MANDRIX,

F14:

=SEERRO(DIREITA(DESLOC(A3;MÍNIMO(SE(INT(B4:M8)=F11;LIN(A4:A8)))-3;0);2)*1;"")

Ctrl + Shift + Enter

F15:

=SEERRO(CORRESP(F11;INT(DESLOC(A3;F14;1;1;13));0);"")

Ctrl + Shift + Enter

Qualquer coisa da o grito.

EXCELENTE!!!

 
Postado : 04/12/2012 6:10 am