Notifications
Clear all

Interpolação

5 Posts
3 Usuários
0 Reactions
2,495 Visualizações
(@neto1a)
Posts: 28
Eminent Member
Topic starter
 

Boa tarde!
Possuo uma tabela de saturação da amônia que na coluna A possuo a temperatura e na coluna B possuo a pressão.
Essa tabela mostra valores de 5 em 5 (conforme link) portano https://ap.imagensbrasil.org/image/B6kI.
A planilha vai fazer o seguinte, a pessoa digita uma temperatura em uma dada celula da planilha, e a planilha retorna uma pressão, como a pessoa não vai digitar temperaturas redondas, um procv simples não resolve. Como faço para interpolar isso, caso a pessoa digite uma temperatura de -24,6?

Grato desde já!

 
Postado : 16/11/2015 11:43 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Até onde entendi pode utilizar o proc ou indice/corresp
Supondo que sua tabel esteja em A1:C8 e o valor digitado em E3 -->
PROCV(E3;A1:C8;2;VERDADEIRO) ou ÍNDICE(A1:C8;CORRESP(E3;A1:A8;1);2)

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

 
Postado : 16/11/2015 12:01 pm
(@neto1a)
Posts: 28
Eminent Member
Topic starter
 

Muito obrigado pela resposta!
O único problema é que eu não quero que ele me retorno um valor aproximado, e sim um valor estimado. Usando o INDICE ou PROCV(;;;VERDADEIRO) ele me retorna o valor mais aproximado https://ap.imagensbrasil.org/image/Bx9n

Ou seja, quando eu digitar um valor que tenha na tabela, ele me retorne o valor da tabela, caso contrário ele interpole (faça a conta) e me retorne o valor estimado.

 
Postado : 16/11/2015 12:09 pm
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 

Olá, Neto
1) Dá prá fazer com uma só fórmula diretamente, pegando o gancho da sua ideia e a do Reinaldo, usando Índice e Corresp, mas fica uma fórmula enorme, já que a interpolação é equivalente a uma regra de três composta (proporção entre triângulos). Neste caso ficaria assim em E2:

=(E1-ÍNDICE(A1:C46;CORRESP(E1;A1:A46;1)+1;1))*(ÍNDICE(A1:C46;CORRESP(E1;A1:A46;1);2)-ÍNDICE(A1:C46;CORRESP(E1;A1:A46;1)+1;2))/(ÍNDICE(A1:C46;CORRESP(E1;A1:A46;1);1)-ÍNDICE(A1:C46;CORRESP(E1;A1:A46;1)+1;1))+ÍNDICE(A1:C46;CORRESP(E1;A1:A46;1)+1;2)

2) Daria também prá usar quatro células auxiliares prá trazer os resultados imediatamente anteriores e imediatamente posteriores da T e da P, aí então usá-los na interpolação. Fica mais fácil de entender a fórmula. Além disso, nesse caso vc também pode usar a função Tendência para interpolar diretamente.

Estou anexando uma planilha com essas três situações.

Obs.: não foi considerado mas vc deve implementar um tratamento de erro caso algum valor fora do intervalo da tabela seja escolhido.

 
Postado : 18/11/2015 12:31 am
(@neto1a)
Posts: 28
Eminent Member
Topic starter
 

Muito obrigado pela ajuda! Acabei usando a forma complexa mesmo, pois a pessoa irá entrar com vários valores em uma tabela. Conforme arquivo em anexo.
Segue o arquivo em anexo, para sugestões.

Grato pela ajuda!! :D

 
Postado : 18/11/2015 8:11 am