Notifications
Clear all

Buscar um intervalo baseado em um valor

12 Posts
2 Usuários
0 Reactions
1,866 Visualizações
(@ceos005)
Posts: 49
Trusted Member
Topic starter
 

Boa tarde

Gostaria de saber como fazer uma busca.
Minha planilha possui 3 colunas onde a primeira informa um numero de projeto, a segunda informa um numero operacional e a terceira coluna as distancias em metros das estruturas. No meu formulário, a pessoa vai digitar uma distancia em metros e quero que retorne em labels os números operacionais e de projetos das estruturas adjacentes a esse numero digitado... Um exemplo: primeira linha consta 1-A como numero de projeto, 1 como numero operacional e distancia 300m; na segunda linha consta 1-B como numero de projeto, 2 como numero operacional e distancia 450m; na terceira linha consta 1-C como numero de projeto, 3 como numero operacional e 610m com distancia. Supondo que a pessoa digite a distancia de 478m, no meu formulário devera aparecer que fica entre as estruturas 1-B e 1-C (números de projeto) e 2 e 3 (números operacionais).

Alguém pode me auxiliar?

Segue modelo para ajudar.

Grato

 
Postado : 20/06/2014 12:04 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Apesar deste arquivo ser XLSM, não há nada de macro ou formulário.
E mais, a descrição que você deu (dos conteúdos das células) não bate com o conteúdo da planilha.

Mesmo assim, eu sugeriria, sem macros que você usasse a função CORRESP() brincando com o tipo de referência (use 1), que encontra a linha anterior ao valor que ultrapassa o valor procurado. Assim usando o ÍNDICE() com o CORRESP() conforme indicado acima, vc pode trazer os dados anterior e posterior ao valor procurado.

Segue modelo.

FF

 
Postado : 20/06/2014 12:57 pm
(@ceos005)
Posts: 49
Trusted Member
Topic starter
 

Fernando

A descrição que dei foi apenas um exemplo...
A planilha que anexei é a planilha que preciso utilizar porém ainda não criei um formulário com uma textbox para entrada do valor e os 4 labels com os números operacionais e de projeto do intervalo encontrado de acordo com o valor digitado.

Dá pra fazer com VBA?

 
Postado : 20/06/2014 1:02 pm
(@ceos005)
Posts: 49
Trusted Member
Topic starter
 

Fernando

Segue planilha com formulário.
Ao clicar no botão na planilha, o formulário é aberto e solicitado a digitação da distância.
Ao clicar em Pesquisar, deve retornar os números operacionais e de projeto das estruturas adjacentes ao valor digitado.

No aguardo

 
Postado : 20/06/2014 1:20 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Segue...

1) removi o botão de pesquisar... vc vai curtir
2) usei os recursos que informei e anexei na outa postagem, de planilha, para facilitar os cálculos que já estavam funcionando com corresp()

Veja se atende...

 
Postado : 20/06/2014 4:11 pm
(@ceos005)
Posts: 49
Trusted Member
Topic starter
 

Bom dia Fernando

Ficou excelente, no entanto, quando digito uma distancia quebrada, por exemplo, 1835,45 ele dá erro.

 
Postado : 23/06/2014 6:03 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Veja se agora funciona...

 
Postado : 23/06/2014 8:05 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bem interessante a utilização do <iif>, já havia utilizado no Access, porem nunca no Excel (nem lembrava da existência). Valeu!!!

 
Postado : 23/06/2014 8:21 am
(@ceos005)
Posts: 49
Trusted Member
Topic starter
 

Obrigado Fernando.

Ficou excelente mesmo.

 
Postado : 23/06/2014 9:35 am
(@ceos005)
Posts: 49
Trusted Member
Topic starter
 

Ah Fernando

Abusando da sua boa vontade e experiência, não consideramos caso a distancia fosse exatamente igual à da planilha, nesse caso teria que mostrar somente o numero operacional e de projeto da estrutura e não um intervalo, se é que me entendeu.

 
Postado : 23/06/2014 9:57 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Desculpe a demora... entendi sim, ficou fácil, só precisei mexer na planilha mesmo.
Veja se tá bom assim.

 
Postado : 26/06/2014 7:38 am
(@ceos005)
Posts: 49
Trusted Member
Topic starter
 

Perfeito Fernando... Valeu!!

 
Postado : 26/06/2014 8:43 am