Notifications
Clear all

ÍNDICE + CORRESP em lista com repetição

5 Posts
2 Usuários
0 Reactions
1,121 Visualizações
(@rodrigoavf)
Posts: 2
New Member
Topic starter
 

Olá, primeira vez num fórum (de todos os tempos) tenho uma tabela da seguinte forme
A B
1 Ativo Valor
2 BCD 4,8
3 DFG 4,8
4 ERT 7
5 EIU 5,2
6 EGJ 5
7 HTR 7

Suponhamos que nas célula D1, D2, D3 e D4 eu utilize a seguintes funções para encontrar respectivamente os 2 maiores e menores valores da coluna B:
=MAIOR(B:B;1)
=MAIOR(B:B;2)
=MENOR(B:B;1)
=MENOR(B:B;2)

E então nas célula E1 a E4 eu utilize a seguinte fórmula para que me retorne qual é o ativo que corresponde ao maior valor e o menor valor encontrado na etapa anterior:
=ÍNDICE(A:A;CORRESP(D1;B:B;0))
=ÍNDICE(A:A;CORRESP(D2;B:B;0))
=ÍNDICE(A:A;CORRESP(D3;B:B;0))
=ÍNDICE(A:A;CORRESP(D4;B:B;0))

O PROBLEMA
Dá forma como está, a formula da etapa anterior retorna sempre o mesmo ativo, ou seja considera que o primeiro e o segundo ativo com maior (ou menor) valor são o mesmo, visto que alguns valores se repetem na coluna B. Ou seja fica assim:
=ÍNDICE(A:A;CORRESP(D1;B:B;0)) -> ERT
=ÍNDICE(A:A;CORRESP(D2;B:B;0)) -> ERT
=ÍNDICE(A:A;CORRESP(D3;B:B;0)) -> BCD
=ÍNDICE(A:A;CORRESP(D4;B:B;0)) -> BCD

Quando o esperado seria:
=ÍNDICE(A:A;CORRESP(D1;B:B;0)) -> ERT
=ÍNDICE(A:A;CORRESP(D2;B:B;0)) -> HRT
=ÍNDICE(A:A;CORRESP(D3;B:B;0)) -> BCD
=ÍNDICE(A:A;CORRESP(D4;B:B;0)) -> DFG

Como solucionar este problema? Alguém pode me ajudar?
Não necessáriamente com a utilização de ÍNDICE e CORRESP, Um PROCV também teria o mesmo efeito neste caso, ou qualquer outra fórmula que solucione o problema.

Agradeço desde já, abraço a todos!

 
Postado : 20/06/2012 10:37 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Vc tem que estabelecer um critério de desempate. É relativamente simples mas para que vc realmente entenda, poste sua plan que resolvemos rapidinho.

Abs,

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

 
Postado : 20/06/2012 11:10 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Faça assim:

Em AA2 faça:

=SE(A2="";"";B2+LIN()/1000000) e arraste para baixo.

Depois TROQUE todos os B:B de todas as fórmulas por AA:AA.

Por fim formate os números com duas casas decimais. Assim se constrói um critério de desempate.

Abs,

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

 
Postado : 20/06/2012 6:33 pm
(@rodrigoavf)
Posts: 2
New Member
Topic starter
 

Fiz conforme disse, mas não solucionou o problema, quando uso o ARRED a fórmula que busca na tabela os dados considera o resultado desse ARRED ou seja, mesma coisa do que antes.

 
Postado : 28/06/2012 7:45 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Por fim formate os números com duas casas decimais.

Rodrigo,

Formatar a célula é uma coisa. Transformar o registro através da função ARRED() é outra. Lógico que se depois do critério ter sido estabelecido vc retornar ao valor de origem (ou seja, desfazer o desempate), o resultado será igual ao seu.

Se não avançar me avise.

Abs,

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

 
Postado : 28/06/2012 6:52 pm