Notifications
Clear all

Nomear range sob condição

11 Posts
2 Usuários
0 Reactions
1,132 Visualizações
(@luizhcosta)
Posts: 420
Honorable Member
Topic starter
 

Olá, bom dia a todos!

Não tenho certeza se meu tópico é daqueles que beiram a ilusão, mas surgiu a dúvida.

Para localizar uma coluna em uma planilha utilizo o código:

=DESLOC(Proposta_Mapp!$A$1;1;CORRESP(Parâmetros!$C$5;Proposta_Mapp!$1:$1;0)-1;CONT.VALORES(Proposta_Mapp!$J:$J)-1;1)

,

A célula C5 contém o título da coluna pesquisada, então a ´fórmula´retorna um range dinâmico.

Em um relatório preciso exibir além dos valores deste título, outros valores de colunas semelhantes mas com outros títulos do tipo:

Valor Atual 2015 | Valor Atual 2016 | Valor Atual 2017 | Valor Atual 2018 | Valor Atual 2019

Exemplificando:

O texto da célula C5 é "Valor Atual 2015". Mas existem outras colunas "Valor Atual 2016", "Valor Atual 2017", "Valor Atual 2018", "Valor Atual 2019".....

Em um relatório preciso exibir o conteúdo de casa coluna dessas, mas para fazer isso, faço referencias às células C5 onde contém "Valor Atual 2015", a célula D5 onde contém "Valor Atual 2016", a célula E5 onde contém "Valor Atual 2016" e assim sucessivamente.

Desta forma a planilha cresceu consideravelmente, minha idéia é uma única fórmula que se adapta aos vários intervalos fazendo referência a uma célula principal.

Digamos a célula C5 quando corresponder a "Valor Atual 2015" a a ser inserida na coluna seguinte passasse a buscar "Valor Atual 2016" e assim sucessivamente.

Outro ponto com relação ao tamanho que aumentou muito, talvez seja com relação a parte da fórmula "...cont.se" pois faz a verificação na coluna inteira.

Penso se o range das coluna poderia ser fixado entre A1 e XX1 e o range da linhas ente A1 e A1000.

Espero ter sido claro para o entendimento.

Um abraço.

 
Postado : 24/02/2015 7:11 am
(@luizhcosta)
Posts: 420
Honorable Member
Topic starter
 

COMPLEMENTO:

Pensei em algo assim:

=se(b5="Valor Atual 2015";=DESLOC(Proposta_Mapp!$A$1;1;CORRESP(Parâmetros!$C$5;Proposta_Mapp!$1:$1;0)-1;CONT.VALORES(Proposta_Mapp!$J:$J)-1;1);"";

Ou seja: Se o valor da célula B5 for "Valor Atual 2014" na coluna seguinte a busca será pela coluna C5 que vai conter "Valor Atual 2016"...

 
Postado : 24/02/2015 7:27 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Não entendi??

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

 
Postado : 24/02/2015 8:06 am
(@luizhcosta)
Posts: 420
Honorable Member
Topic starter
 

Resumo:

Atualmente tenho 5 fórmulas para localizar colunas. Quero reduzir para 1 fórmula que se adapte!

 
Postado : 24/02/2015 8:13 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Mais fácil vc disponibilizar um modelo... Eu acho que entendi, mas com modelo fica mais fácil tentar o que vc tá pedindo ...

não esqueça de compactar seu arquivo, caso contrário a moderação (eu) o apagará!

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

 
Postado : 24/02/2015 8:16 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Creio que ainda não entendi corretamente, porem se o "problema" é variar a célula inicial no trecho da Função Corresp;
Experimente utilizar Endereço e indireto:

CORRESP(INDIRETO(ENDEREÇO(5;COL()-3;;;"Parametros"));Proposta_Mapp!$1:$1;0)-1

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

 
Postado : 24/02/2015 8:24 am
(@luizhcosta)
Posts: 420
Honorable Member
Topic starter
 

Reinaldo e fernando.fernandes!

Estou postando o arquivo. Esta solução é do próprio fernando, funciona perfeitamente, mas após implementar o arquivo saiu de cerca de 4 megas para 13 megas.
Minha suspeitas são duas:

1. Ao criar vários intervalos para buscar uma coluna, o arquivo aumentou de tamanho ou...
2. O problema está na parte da fórmula "...cont.se..." que conta a quantidade de valores em todas as linhas da planilha pois a referência é do tipo A:A ou J:J e assim por diante.

Mas no arquivo dou mais detalhes:

Obrigado.

 
Postado : 24/02/2015 11:14 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Para a ValoresdoAno, utilize =DESLOC(Base!$A$22;1;CORRESP(INDIRETO(ENDEREÇO(4;COL();;;"Base"));Base!$22:$22;0)-1;CONT.VALORES(Base!$A:$A)-1;1);
porem não vi nada que justifique o aumento relatado

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

 
Postado : 24/02/2015 11:31 am
(@luizhcosta)
Posts: 420
Honorable Member
Topic starter
 

Oi Reinaldo,

Não entendi como usar sua fórmula. Poderia explicar?, onde altero como ficará, etc

 
Postado : 24/02/2015 12:00 pm
(@luizhcosta)
Posts: 420
Honorable Member
Topic starter
 

Opa!!!

Já entendi. Já testei. Já foi resolvido !!!!!

Excelente! Uma única fórmula com referências variadas. Era exatamente isso.

Obrigado!

 
Postado : 24/02/2015 12:07 pm
(@luizhcosta)
Posts: 420
Honorable Member
Topic starter
 

Reinaldo,

A sua solução funcionou perfeitamente como lhe disse. Agora só para concluir, tentei fazer a implementação na planilha definitiva e confesso que me frustrei!
Queria apenas lhe pedir que veja o que não está funcionando.

Vê na aba "Proposta_Mapp" o que seria a base.
Vê na aba "Consulta_Mapp" na célula N42 e demais a direita onde os valores seriam inseridos.
Vê na aba "Parâmetros" o que seria as referências.

Agradeço muito.

 
Postado : 24/02/2015 12:26 pm