Discussion:
Ayuda para encontrar valor max y minimo
(demasiado antiguo para responder)
Antonio
2006-11-10 01:31:38 UTC
Permalink
Hola a todos, es mi primera solicitud de ayuda he estado viendo algunos
temas que se han visto en este grupo y no he econtrado algun exemplo
similar. Tengo poca experiencia en excel.
En un reporte de mi trabajo tengo que estar sacando valores de una
tabla y para ello tengo que hacer interpolaciones. Alguien me podria
ayudar por favor para sacar una formula que al poner un valor buscado
en una celda me encuentre el valor minimo y maximo asi como el valor
correspondiente a la celda de a lado de estos valores, pongo un ejem
A B
valor menor
valor buscado 2.290 =((C4-C2)/(B4-B2))*(B3-B2)+C2
valor menor

A B
2.280 4760.39
2.300 4805.51
2.320 4850.65
2.340 4895.81
2.360 4941.00
2.380 4986.22
2.400 5031.46
2.420 5076.73

Los datos que necesito me aparescan serian estos
A B
valor menor 2.340 4895.81
valor buscado 2.350 =((C4-C2)/(B4-B2))*(B3-B2)+C2
valor menor 2.360 4941.00
De antemano les doy las gracias por su ayuda
Saludos
Héctor Miguel
2006-11-10 03:13:57 UTC
Permalink
hola, Antonio !

1) las formulas que expones, donde se hace referencia a celdas de la columna 'C'... de donde salen, que significan... ?

2) si necesitas encontrar los valores 'anterior y posterior' del dato que buscas...
-> suponiendo que los datos de la tabla estan en el rango 'A1:B8'... <= OJO
prueba con las siguientes aproximaciones:
[C1] -> 2.35 [o el dato 'buscado']
[D1] -> 4873.215 formula: =(d2-d3)/2+d2 [algo asi como una aproximacion de 'ponderado'] ;)
[C2] -> 2.34 formula: =buscarv(c1,a1:a8,1)
[D2] -> 4895.81 formula: =buscarv(c1,a1:b8,2)
[C3] -> 2.36 formula: =indice(a1:a8,coincidir(c1,a1:a8)+1)
[D3] -> 4941.00 formula: =indice(b1:b8,coincidir(c1,a1:a8)+1)

3) o... puedes utilizar la funcion 'pronostico' [combinada con desref y coincidir] para obtener un 'pronostico' +/- 'aceptable' [p.e.]
[C1] -> 2.35 [o el dato buscado]
[D1] -> 4918.405 formula: =pronostico(c1,desref(a1:a8,coincidir(c1,a1:a8)-1,1,2,1),desref(a1:a8,coincidir(c1,a1:a8)-1,0,2,1))

-> 'nota' la diferencia entre un 'acercamiento' [punto 2-> 4873.215] 'versus' un pronostico [punto 3-> 4918.405]
-> toma nota que mi sistema usa como separador de argumentos a la coma ',' NO al punto y coma ';' :D

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

__ la consulta original __
... tengo que estar sacando valores de una tabla y para ello tengo que hacer interpolaciones
... formula que al poner un valor buscado... encuentre el valor minimo y maximo
asi como el valorcorrespondiente a la celda de a lado de estos valores, pongo un ejem [...]
A B
2.280 4760.39
2.300 4805.51
2.320 4850.65
2.340 4895.81
2.360 4941.00
2.380 4986.22
2.400 5031.46
2.420 5076.73
Los datos que necesito me aparescan serian estos
A B
valor menor 2.340 4895.81
valor buscado 2.350 =((C4-C2)/(B4-B2))*(B3-B2)+C2
valor menor 2.360 4941.00
Héctor Miguel
2006-11-10 04:15:53 UTC
Permalink
hola [de nuevo], Antonio !

es posible que te sean de utilidad otras 'variantes' [de entre mas posibilidades] p.e.

si seguimos suponiendo que los datos de 'la tabla' estan en el rango 'A1:B8'
y que en 'C1' pones el dato 'a buscar'...
y que la 'tendencia' en la tabla sera siempre 'uniforme' [como en el ejemplo con 'saltos' de 0.02]

1) cuando el dato a buscar coincide exactamente con algun valor 'minimo' de la tabla...
=buscarv(c1,a1:b8,2)

2) cuando el dato a buscar NO coincide con algun valor de la tabla...
primero habria que 'descartar' algun error de busqueda 'exacta' para saber que se trata de un valor 'intermedio' :))
=si(eserror(buscarv(c1,a1:a8,1,0)),(buscarv(c1,a1:b8,2)+indice(b1:b8,coincidir(c1,a1:a8)+1))/2,buscarv(c1,a1:b8,2))

3) si el dato a buscar sear siempre 'intermedio' -?-
=(buscarv(c1,a1:b8,2)+indice(b1:b8,coincidir(c1,a1:a8)+1))/2

4) para cualquier otro caso, suponiendo saltos no constantes o valores 'medio-intermedios' [p.e. 2.315 o 'similar']...
'volver' al uso de la funcion 'pronostico'...
=pronostico(c1,desref(a1,coincidir(c1,a1:a8)-1,1,2,1),desref(a1,coincidir(c1,a1:a8)-1,,2,1))

[mientras encontramos otras variantes, o expones algun detalle mas... 'concreto' :))

saludos,
hector.
Antonio
2006-11-10 15:52:08 UTC
Permalink
Post by Héctor Miguel
hola [de nuevo], Antonio !
es posible que te sean de utilidad otras 'variantes' [de entre mas posibilidades] p.e.
si seguimos suponiendo que los datos de 'la tabla' estan en el rango 'A1:B8'
y que en 'C1' pones el dato 'a buscar'...
y que la 'tendencia' en la tabla sera siempre 'uniforme' [como en el ejemplo con 'saltos' de 0.02]
1) cuando el dato a buscar coincide exactamente con algun valor 'minimo' de la tabla...
=buscarv(c1,a1:b8,2)
2) cuando el dato a buscar NO coincide con algun valor de la tabla...
primero habria que 'descartar' algun error de busqueda 'exacta' para saber que se trata de un valor 'intermedio' :))
=si(eserror(buscarv(c1,a1:a8,1,0)),(buscarv(c1,a1:b8,2)+indice(b1:b8,coincidir(c1,a1:a8)+1))/2,buscarv(c1,a1:b8,2))
3) si el dato a buscar sear siempre 'intermedio' -?-
=(buscarv(c1,a1:b8,2)+indice(b1:b8,coincidir(c1,a1:a8)+1))/2
4) para cualquier otro caso, suponiendo saltos no constantes o valores 'medio-intermedios' [p.e. 2.315 o 'similar']...
'volver' al uso de la funcion 'pronostico'...
=pronostico(c1,desref(a1,coincidir(c1,a1:a8)-1,1,2,1),desref(a1,coincidir(c1,a1:a8)-1,,2,1))
[mientras encontramos otras variantes, o expones algun detalle mas... 'concreto' :))
saludos,
hector.
Hector, antes que nada gracias por tu ayuda, estoy checando lo que me
comentas, pero creo que no me supe explicar bien veras, te envie un
ejemplo de una tabla donde tengo 2 columnas A Y B, en la columna A
tengo unos valores que son de longitud (cm) y en la B su valor
correspondiente en volumen (m3). (Es una tabla de 600 valores en la
columna A con diferencia de 0.020), si el valor que yo busco en la
columna A esta entre 2 valores como en el ejem. tengo que tomar el
valor menor y el mayor con sus correspondientes volumenes e interpolar
para sacar el volumen que le corresponderia al valor buscado.
A B
valor menor
valor buscado 2.350 =((C4-C2)/(B4-B2))*(B3-B2)+C2 con esta
formula saco el volumen corresp al valor de 2.350
valor mayor
En este ejemplo el valor que busco es 2.350, este valor cae entre el
valor de la columna A, de 2.340 y 2.360, entonces anoto el valor de la
columna A 2.340 (valor menor) y su valor correspondiente de la colum B
(4895.81) y anoto el valor de 2.360 (valor mayor ) y su valor
correspondiente de la columna B (4941.00) y con esos valores realizo la
interpolaci�n (mediante la formula que tengo) y saco el valor del
volumen del valor buscado en este caso 2.350 le corresponderia un
volumen de 4918.41
A B
2.280 4760.39
2.300 4805.51
2.320 4850.65
2.340 4895.81
2.360 4941.00
2.380 4986.22
2.400 5031.46
2.420 5076.73
Diariamente necesito sacar 35 valores (volumenes) de la tabla. La
pregunta es si hay alguna formula que me ponga el valor menor y mayor
con sus respectivos valores de la columna B, cuando el valor que busque
en la columna A sea un valor intermedio de los valores existentes.
Espero me halla explicado mejor
Saludos..
Héctor Miguel
2006-11-10 16:40:21 UTC
Permalink
hola, Antonio !

antes de continuar con este 'desarrollo' de propuestas de solucion... una pregunta:

-> ya intentaste con -al menos- una de las propuestas ?

lo unico que no conozco es el rango donde esta la tabla [por ello te comunico 'mis' supuestos] ;)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Antonio
2006-11-10 17:15:06 UTC
Permalink
Post by Héctor Miguel
hola, Antonio !
-> ya intentaste con -al menos- una de las propuestas ?
lo unico que no conozco es el rango donde esta la tabla [por ello te comunico 'mis' supuestos] ;)
si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Hector, creo que me adelante a responderte en eso he estado y una de
las variantes que me enviaste (4) la de valores "medio-intemedios"
aplica perfectamente estoy haciendo ejemplos y funciona muy bien, antes
de eso cheque por separado las variantes 1 y 3 y me funcionaba para
valores exactos e intermedios ejemp 2.25 pero al poner en valor de 3
decimales (2.251) no me daba el valor correcto y con la 4 variante me
funciona en los 2 casos. Una pregunta mas si quiero que de la misma
columna A me ponga datos de una colomna C, D etc unicamente le cambio
el numero del dato de la columna que quiero poner??
Muchas garcias Hector por tu ayuda!!
Héctor Miguel
2006-11-10 17:46:57 UTC
Permalink
hola, Antonio !
... una de las variantes... (4) la de valores "medio-intemedios" aplica perfectamente... para valores exactos e intermedios
... si quiero que de la misma columna A me ponga datos de una colomna C, D etc
... le cambio el numero del dato de la columna que quiero poner?
de la formula en la propuesta 4, la parte 'central', la que define cual columna es la que se esta 'pronosticando'...
-> es el tercer argumento de la primer llamada a la funcion desref(...) [p.e.]
a) la formula 'original' es: -> =pronostico(c1,desref(a1,coincidir(c1,a1:a8)-1,1,2,1),desref(a1,coincidir(c1,a1:a8)-1,,2,1))
b) la primer llamada a la funcion es: -> desref(a1,coincidir(c1,a1:a8)-1,1,2,1)
c) la columna que se esta 'pronosticando' es el primer uno '1' positivo, es decir, una columna a la derecha de la celda 'de partida' [A1]
-> si necesitas pronosticar la columna 'C' [dos columnas a partir de la columna 'A' de la celda de partida [A1]...
a) cambia el 1 por 2 [p.e.]:
de: -> desref(a1,coincidir(c1,a1:a8)-1,1,2,1)
a: -> desref(a1,coincidir(c1,a1:a8)-1,2,2,1)
b) [obviamente] ya no deberas tener el valor a buscar en la celda 'C1'... quizas en 'E1' ?
a: -> desref(a1,coincidir(e1,a1:a8)-1,2,2,1)

no se si lo anterior quede +/- 'claro' -?-
si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Antonio
2006-11-10 23:51:01 UTC
Permalink
Post by Héctor Miguel
hola, Antonio !
... una de las variantes... (4) la de valores "medio-intemedios" aplica perfectamente... para valores exactos e intermedios
... si quiero que de la misma columna A me ponga datos de una colomna C, D etc
... le cambio el numero del dato de la columna que quiero poner?
de la formula en la propuesta 4, la parte 'central', la que define cual columna es la que se esta 'pronosticando'...
-> es el tercer argumento de la primer llamada a la funcion desref(...) [p.e.]
a) la formula 'original' es: -> =pronostico(c1,desref(a1,coincidir(c1,a1:a8)-1,1,2,1),desref(a1,coincidir(c1,a1:a8)-1,,2,1))
b) la primer llamada a la funcion es: -> desref(a1,coincidir(c1,a1:a8)-1,1,2,1)
c) la columna que se esta 'pronosticando' es el primer uno '1' positivo, es decir, una columna a la derecha de la celda 'de partida' [A1]
-> si necesitas pronosticar la columna 'C' [dos columnas a partir de la columna 'A' de la celda de partida [A1]...
de: -> desref(a1,coincidir(c1,a1:a8)-1,1,2,1)
a: -> desref(a1,coincidir(c1,a1:a8)-1,2,2,1)
b) [obviamente] ya no deberas tener el valor a buscar en la celda 'C1'... quizas en 'E1' ?
a: -> desref(a1,coincidir(e1,a1:a8)-1,2,2,1)
no se si lo anterior quede +/- 'claro' -?-
si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Hola Hector, gracias por la ayuda estuve moviendole a la formula y
encontre los datos para mas columnas y si el valor que me colocaba el
dato de la columna que queria me lo dio cambiandole el numero que
mencionas.
Tengo otro problemita he estado viendo de que manera pudiera utilizar
las formulas que me comentaste pero no le encuentro todavia y ya tengo
rato en estar tratando de ver de que manera me da los datos que quiero.
Es algo similar a lo anterior pero ahora es hacer 2 interpolaciones (
no una como el ejemplo anterior ) tengo una tabla que en la parte
superior tiene rangos y de acuerdo a una longitud tienen diferentes
valores para cada rango, entonces tengo 2 valores a buscar: primero un
valor que puede coincidir � ser intermedio de los rangos de la parte
superior (ver tabla) ejemplo si yo tengo el valor de 0.7 este valor
esta entre el 0.5 y el 1 y de acuerdo a un valor de longitud 32 le
corresponde un valor a cada fila para 0.5 es -3 y para 1 es -5 entonces
el valor resultante de 0.7 es de -3.08 pero cuando el valor de la
longitud es de 32.7 tengo que colocar los valores de 32 y 37 para
interpolar entre estos y de igul forma sus valores correspondientes al
rango de 0.7. Espero que me halla explicado? que formula podria aplicar
para que me coloque los valores partiendo de 2 datos conocidos( rango y
longitud)??

Sound 2 1.5 1 0.5 0 -0.5 -1 -1.5 -2
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
2.00 -10.00 -8.00 -5.00 -3.00 0.00 2.00 4.00 7.00 9.00
7.00 -10.00 -8.00 -5.00 -3.00 0.00 2.00 4.00 7.00 9.00
12.00 -10.00 -8.00 -5.00 -3.00 0.00 2.00 4.00 7.00 9.00
17.00 -10.00 -8.00 -5.00 -3.00 0.00 2.00 4.00 7.00 9.00
22.00 -10.00 -8.00 -5.00 -3.00 0.00 2.00 4.00 7.00 9.00
27.00 -10.00 -8.00 -5.00 -3.00 0.00 2.00 4.00 7.00 9.00
32.00 -10.00 -8.00 -5.00 -3.00 0.00 2.00 4.00 7.00 9.00
37.00 -10.00 -8.00 -5.00 -3.00 0.00 2.00 4.00 7.00 9.00
42.00 -10.00 -8.00 -5.00 -3.00 0.00 2.00 4.00 7.00 9.00
47.00 -10.00 -8.00 -5.00 -3.00 0.00 2.00 4.00 7.00 9.00
52.00 -10.00 -8.00 -5.00 -3.00 0.00 2.00 4.00 7.00 9.00
57.00 -10.00 -8.00 -5.00 -3.00 0.00 2.00 4.00 7.00 9.00
62.00 -10.00 -8.00 -5.00 -3.00 0.00 2.00 4.00 7.00 9.00

Los datos de la columna de longitud se conciderarian que no son
multiplos ya que del 0 al 2 hay dif de 2 y en el resto la dif es de 5
Héctor Miguel
2006-11-11 08:06:09 UTC
Permalink
hola, Antonio !

__ 1 __
... otro problemita... de que manera... hacer 2 interpolaciones
... una tabla que en la parte superior tiene rangos y... una longitud... diferentes valores para cada rango
... ejemplo... el valor de 0.7... esta entre el 0.5 y el 1 y de acuerdo a un valor de longitud 32 le corresponde
... para 0.5 es -3 y para 1 es -5 entonces el valor resultante de 0.7 es de -3.08
... cuando... la longitud es de 32.7 tengo que colocar los valores de 32 y 37 para interpolar entre estos y... sus... correspondientes al... 0.7
1) [segun parece] para poder hacer una doble interpolacion, es necesario 'repetir' la tabla para cada interpolacion 'intermedia' :-((
o... apoyarse en codigos... -> revisa las siguientes conversaciones: -> http://tinyurl.com/yzjkj3

-> nota: me podrias explicar como [o de donde] ha salido el valor 'interpolado' de: -> -3-08 para 0.7 -> 'cruzado' con 32 -?-

__ 2 __
Los datos de la columna de longitud se conciderarian que no son multiplos ya que del 0 al 2 hay dif de 2 y en el resto la dif es de 5

2) segun 'mis' apreciaciones... fuera de interpolar 'longitudes' entre 0 y 2, todas las demas te deberian devolver... 'lo mismo' -?-

comentas que es lo que no 'estoy viendo' ?
saludos,
hector.
Antonio
2006-11-11 20:40:32 UTC
Permalink
Post by Héctor Miguel
hola, Antonio !
__ 1 __
... otro problemita... de que manera... hacer 2 interpolaciones
... una tabla que en la parte superior tiene rangos y... una longitud... diferentes valores para cada rango
... ejemplo... el valor de 0.7... esta entre el 0.5 y el 1 y de acuerdo a un valor de longitud 32 le corresponde
... para 0.5 es -3 y para 1 es -5 entonces el valor resultante de 0.7 es de -3.08
... cuando... la longitud es de 32.7 tengo que colocar los valores de 32 y 37 para interpolar entre estos y... sus... correspondientes al... 0.7
1) [segun parece] para poder hacer una doble interpolacion, es necesario 'repetir' la tabla para cada interpolacion 'intermedia' :-((
o... apoyarse en codigos... -> revisa las siguientes conversaciones: -> http://tinyurl.com/yzjkj3
-> nota: me podrias explicar como [o de donde] ha salido el valor 'interpolado' de: -> -3-08 para 0.7 -> 'cruzado' con 32 -?-
__ 2 __
Los datos de la columna de longitud se conciderarian que no son multiplos ya que del 0 al 2 hay dif de 2 y en el resto la dif es de 5
2) segun 'mis' apreciaciones... fuera de interpolar 'longitudes' entre 0 y 2, todas las demas te deberian devolver... 'lo mismo' -?-
comentas que es lo que no 'estoy viendo' ?
saludos,
hector.
Que tal Hector, al parecer cometi un error al dar el resultado que puse
en el ejemplo el dato correcto es -3.80 y no -3.08 como lo anote, mira
estoy viendo la conversaci�n que me indicaste y es parecido a lo que
busco dejame tratar de adaptarlo a mis tablas y si me atoro con algo te
voy a molestar. Muchas gracias
Saludos..
Héctor Miguel
2006-11-11 20:57:31 UTC
Permalink
hola, Antonio !
... el dato correcto es -3.80 y no -3.08 como lo anote
... estoy viendo la conversacion que me indicaste y es parecido a lo que busco
dejame tratar de adaptarlo a mis tablas y si me atoro con algo [...]
podrias exponer dos o tres ejemplos de cuales serian los resultados 'esperados'...
para distintos valores 'intermedios' tanto en los rangos como en las longitudes ?

saludos,
hector.

Continúe leyendo en narkive:
Loading...