Encontrar e interpolar

02/12/2005 - 23:56 por Jmg | Informe spam
Hola:
Existe alguna función para encontrar un valor en un rango e interpolar ej.
25, en el rango 20,15 - 30,10 una vez que localize el rango en el cual se
encuentra 25, me regrese el valor interpolado de B
A B
0,00 0,00
10,15 0,03
20,15 0,01
30,10 -0,05

Gracias

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
03/12/2005 - 06:35 | Informe spam
hola, Jmg !

Existe alguna funcion para encontrar un valor en un rango e interpolar ej. 25, en el rango 20,15 - 30,10
una vez que localize el rango en el cual se encuentra 25, me regrese el valor interpolado de B
A B
0,00 0,00
10,15 0,03
20,15 0,01
30,10 -0,05



suponiendo que necesitas interpolar 'B1:B4', segun en 'A1:A4' se encuentre 25 [que pones p.e. en 'C1']...
1) encuentra la diferencia de valores 'a interpolar' en alguna celda [p.e.]
[D1] =indice(b1:b4,coincidir(c1,a1:a4)+1)-buscarv(c1,a1:b4,2)
2) obten el factor-distancia del vector 25 en 'A1:A4' en otra celda [p.e.]
[D2] =(c1-indice(a1:a4,coincidir(c1,a1:a4)))/(indice(a1:a4,coincidir(c1,a1:a4)+1)-indice(a1:a4,coincidir(c1,a1:a4)))
3) la interpolacion de 'B' segun 'C1' en 'A' la obtienes al multiplicar [p.e.] Ñ*D2

-> si no quieres utiizar 3 celdas [por el 'desgloce' de los resultados intermedios]...
'junta' las formulas en una sola [p.e. en 'D1']
=indice(b1:b4,coincidir(c1,a1:a4)+1)-buscarv(c1,a1:b4,2)
*(c1-indice(a1:a4,coincidir(c1,a1:a4)))/(indice(a1:a4,coincidir(c1,a1:a4)+1)-indice(a1:a4,coincidir(c1,a1:a4)))

solo toma en cuenta que mi sistema usa como separador de argumentos a la coma ',' NO al punto y coma ';' :D

saludos,
hector.
Respuesta Responder a este mensaje
#2 Héctor Miguel
03/12/2005 - 06:41 | Informe spam
hola, Jmg !

una ligera correccion y una 'advertencia'...

modifica la opcion de 'juntar' ambas formulas a...
=(indice(b1:b4,coincidir(c1,a1:a4)+1)-buscarv(c1,a1:b4,2))
*(c1-indice(a1:a4,coincidir(c1,a1:a4)))/(indice(a1:a4,coincidir(c1,a1:a4)+1)-indice(a1:a4,coincidir(c1,a1:a4)))

y toma nota que habra errores si el valor buscado queda fuera del rango de busqueda
[C1 en A1:A4] :-(

saludos,
hector.
Respuesta Responder a este mensaje
#3 Héctor Miguel
03/12/2005 - 07:00 | Informe spam
hola, Jmg !

ahora si :DD

revisada por valores coincidentes cuando no es necesario 'avanzar' a otro nivel...
=buscarv(c1,a1:b4,2)+(indice(b1:b4,coincidir(c1,a1:a4)+1)-buscarv(c1,a1:b4,2))
*(c1-indice(a1:a4,coincidir(c1,a1:a4)))/(indice(a1:a4,coincidir(c1,a1:a4)+1)-indice(a1:a4,coincidir(c1,a1:a4)))

saludos,
hector.

p.d. seguira habiendo errores cuando se busca en los 'limites' de la tabla :(
Respuesta Responder a este mensaje
#4 Jmg
05/12/2005 - 17:26 | Informe spam
Gracias Héctor, si hay algunos errores en los resultados, sólo es cuentión de
depurarlos, pero al menos ya tengo algunas nuevas ideas

"Héctor Miguel" escribió:

hola, Jmg !

ahora si :DD

revisada por valores coincidentes cuando no es necesario 'avanzar' a otro nivel...
=buscarv(c1,a1:b4,2)+(indice(b1:b4,coincidir(c1,a1:a4)+1)-buscarv(c1,a1:b4,2))
*(c1-indice(a1:a4,coincidir(c1,a1:a4)))/(indice(a1:a4,coincidir(c1,a1:a4)+1)-indice(a1:a4,coincidir(c1,a1:a4)))

saludos,
hector.

p.d. seguira habiendo errores cuando se busca en los 'limites' de la tabla :(



Respuesta Responder a este mensaje
#5 Manuel Romero
05/12/2005 - 22:41 | Informe spam
=FORECAST(D2,OFFSET(DatosX,MATCH(D2,DatosX,1)-1,1,2,1),OFFSET(DatosX,MATCH(D2,DatosX,1)-1,0,2,1))

Se supone que DatosX es el nombre del rango (en columna y en orden
ascendente) con los datos origen y los datos a interpolar se encuentran
en la columna de al lado

Hola:
Existe alguna función para encontrar un valor en un rango e interpolar ej.
25, en el rango 20,15 - 30,10 una vez que localize el rango en el cual se
encuentra 25, me regrese el valor interpolado de B
A B
0,00 0,00
10,15 0,03
20,15 0,01
30,10 -0,05

Gracias
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida