Encontrar los 3 precios más baratos en una lista

08/08/2008 - 10:10 por Setis | Informe spam
Hola a todos. Necesito un trocito de vuestros cerebros un momento :-)

Tengo una tabla de precios con Hospitales en el eje X y una lista de
procedimientos médicos en el eje Y.

Necesito una fórmula para poder buscar para el procedimiento médico
que elija, los 3 hospitales más baratos.

Es posible? Si pudiera ser con una función sería genial. Si tiene que
ser con Visual Basic, voy a tener que aprenderlo...aunque lo poco que
he intentado leer me parece bastante complicado. :-(


Muchísimas gracias de antemano!

Preguntas similare

Leer las respuestas

#6 Setis
11/08/2008 - 10:26 | Informe spam
On 11 ago, 03:27, "Héctor Miguel"
wrote:
hola, chicos !

>> Fijate si te resulta util la planilla de este enlace:http://www.mediafire.com/?95skw1zcy1w
>> Saludos, Cacho.
> Hola Cacho!
> Acabo de ver la plantilla que subiste! Muchisimas gracias por esto!!!
> Es genial!! Me encantaria saber como hacerlo pero voy a trabajarla un poco porque me va a ser bastante util!

usando la misma planilla del enlace, prueba usando formatos condicionales (adicionalmente ?)
toma en cuenta que mi sistema usa como separador de argumentos a la coma ',' NO al punto y coma ';' :D

- selecciona el rango de los datos [B4:H15]

- ve a (menu) formato / formato condicional ...

- aplica/usa/agrega/... 3 formatos distintos (colores diferentes) por condicion de formula

- formula1: ´=k.esimo.menor($b4:$h4,1)
- color de fondo verde ?

- formula2: ´=k.esimo.menor($b4:$h4,2)
- color de fondo amarillo ? (no es el mas barato pero es el que le sigue)

- formula3: ´=k.esimo.menor($b4:$h4,3)
- color de fondo rojo ? (por si ya empieza a ser "urgente" y los baratos no estan disponibles)

saludos,
hector.



Genial idea Hector!

Muchísimas gracias!!!! :-)
Respuesta Responder a este mensaje
#7 Setis
12/08/2008 - 10:13 | Informe spam
On 8 ago, 14:25, Infinitogool wrote:

Hola Pedro J.,

Acabo de probar tu propuesta y me gusta mucho,

El único problema es que varias veces cuando uso la segunda fórmula
para que me de el nombre del hospital, me repite el mismo hospital dos
veces. No sé si es un problema que diferentes hospitales tengan el
mismo procedimiento al mismo precio. En ese caso, si ese precio es el
más barato, debería listarlo sin ningún orden en particular.

Este es el resultado que me da:

Hosp01 Hosp02 Hosp03 Hosp04 Hosp05 Hosp06
Proc1 684,00 6,00 846,00 6,00 8,00 684,00

Proc1 6 6 8
Hosp02 Hosp02 Hosp05 -> Resultado de hospitales más baratos


Muchas gracias por tu ayuda!!


Hola Setis

si suponemos que tienes los nombres de hospitales en B1:G1
tienes los procedimientos en A2:A15
los precios en B2:G15

si tienes en A20 el procedimiento a buscar
pon en B20
=SUMAPRODUCTO(1/K.ESIMO.MAYOR(($A$2:$A$15=$A20)*1/($B$2:$G$15);COLUMNA()-1))
copia/arrastra hacia la derecha hasta D20
con esto tendrias los tres precios mas baratos

para encontrar los hospitales, pon en B21:
=INDICE($B$1:$G$1;COINCIDIR(B20;INDIRECTO("b"&COINCIDIR($A$20;$A$2:$A$15;0)+1&":G"&COINCIDIR($A$20;$A$2:$A$15;0)+1);0))
copia/arrastra hacia la derecha hasta D21

yo creo que tendras propuestas mas "sencillas", pero puedes ir probando
esta para ver si se adapta a lo que buscas

un saludo
Pedro J.

> Hola a todos. Necesito un trocito de vuestros cerebros un momento :-)

> Tengo una tabla de precios con Hospitales en el eje X y una lista de
> procedimientos médicos en el eje Y.

> Necesito una fórmula para poder buscar para el procedimiento médico
> que elija, los 3 hospitales más baratos.

> Es posible? Si pudiera ser con una función sería genial. Si tiene que
> ser con Visual Basic, voy a tener que aprenderlo...aunque lo poco que
> he intentado leer me parece bastante complicado. :-(

> Muchísimas gracias de antemano!
Respuesta Responder a este mensaje
#8 Setis
12/08/2008 - 10:29 | Informe spam
On 11 ago, 03:27, "Héctor Miguel"
wrote:
hola, chicos !

>> Fijate si te resulta util la planilla de este enlace:http://www.mediafire.com/?95skw1zcy1w
>> Saludos, Cacho.
> Hola Cacho!
> Acabo de ver la plantilla que subiste! Muchisimas gracias por esto!!!
> Es genial!! Me encantaria saber como hacerlo pero voy a trabajarla un poco porque me va a ser bastante util!

usando la misma planilla del enlace, prueba usando formatos condicionales (adicionalmente ?)
toma en cuenta que mi sistema usa como separador de argumentos a la coma ',' NO al punto y coma ';' :D

- selecciona el rango de los datos [B4:H15]

- ve a (menu) formato / formato condicional ...


Hola Hector, Esta fórmula ´=k.esimo.menor($b4:$h4,1) me da error en
$h4,1)

sabes por qué?


- aplica/usa/agrega/... 3 formatos distintos (colores diferentes) por condicion de formula

- formula1: ´=k.esimo.menor($b4:$h4,1)
- color de fondo verde ?

- formula2: ´=k.esimo.menor($b4:$h4,2)
- color de fondo amarillo ? (no es el mas barato pero es el que le sigue)

- formula3: ´=k.esimo.menor($b4:$h4,3)
- color de fondo rojo ? (por si ya empieza a ser "urgente" y los baratos no estan disponibles)

saludos,
hector.
Respuesta Responder a este mensaje
#9 Infinitogool
12/08/2008 - 12:29 | Informe spam
Hola Setis
Tienes toda la razon del mundo, cuando el precio es igual no funciona bien.
Utilizando algunas filas auxiliares, podria arreglarse
Con la misma idea anterior, ponemos:
B21: 1
C21: =SI(C20²0;B21+1;1) y copia/arrastra hasta D21

en B22:
="B"&COINCIDIR($A$20;$A$2:$A$15;0)+1&":G"&COINCIDIR($A$20;$A$2:$A$15;0)+1
en B23 (aqui ya saldra listado los hospitales)
ÞSREF($A$1;0;K.ESIMO.MENOR(SI(INDIRECTO($B$22)<>B20;"";(INDIRECTO($B$22)²0)*COLUMNA(INDIRECTO($B$22)));B21))
esta es una formula matricial, entrar con <Ctrl>+<Mayus>+<Enter>
copia/arrastra hasta D23
al final, puedes ocultar las filas 21 y 22


sobre la pregunta que le haces a Hector
Hola Hector, Esta fórmula ´=k.esimo.menor($b4:$h4,1) me da error en
$h4,1)

cambia la , por ; (Hector suele avisar que el utiliza la , como separador)

Un saludo
Pedro J.


On 8 ago, 14:25, Infinitogool wrote:

Hola Pedro J.,

Acabo de probar tu propuesta y me gusta mucho,

El único problema es que varias veces cuando uso la segunda fórmula
para que me de el nombre del hospital, me repite el mismo hospital dos
veces. No sé si es un problema que diferentes hospitales tengan el
mismo procedimiento al mismo precio. En ese caso, si ese precio es el
más barato, debería listarlo sin ningún orden en particular.

Este es el resultado que me da:

Hosp01 Hosp02 Hosp03 Hosp04 Hosp05 Hosp06
Proc1 684,00 6,00 846,00 6,00 8,00 684,00

Proc1 6 6 8
Hosp02 Hosp02 Hosp05 -> Resultado de hospitales más baratos


Muchas gracias por tu ayuda!!


Hola Setis

si suponemos que tienes los nombres de hospitales en B1:G1
tienes los procedimientos en A2:A15
los precios en B2:G15

si tienes en A20 el procedimiento a buscar
pon en B20
=SUMAPRODUCTO(1/K.ESIMO.MAYOR(($A$2:$A$15=$A20)*1/($B$2:$G$15);COLUMNA()-1))
copia/arrastra hacia la derecha hasta D20
con esto tendrias los tres precios mas baratos

para encontrar los hospitales, pon en B21:
=INDICE($B$1:$G$1;COINCIDIR(B20;INDIRECTO("b"&COINCIDIR($A$20;$A$2:$A$15;0)+1&":G"&COINCIDIR($A$20;$A$2:$A$15;0)+1);0))
copia/arrastra hacia la derecha hasta D21

yo creo que tendras propuestas mas "sencillas", pero puedes ir probando
esta para ver si se adapta a lo que buscas

un saludo
Pedro J.

Hola a todos. Necesito un trocito de vuestros cerebros un momento :-)
Tengo una tabla de precios con Hospitales en el eje X y una lista de
procedimientos médicos en el eje Y.
Necesito una fórmula para poder buscar para el procedimiento médico
que elija, los 3 hospitales más baratos.
Es posible? Si pudiera ser con una función sería genial. Si tiene que
ser con Visual Basic, voy a tener que aprenderlo...aunque lo poco que
he intentado leer me parece bastante complicado. :-(
Muchísimas gracias de antemano!





Respuesta Responder a este mensaje
#10 Héctor Miguel
12/08/2008 - 23:07 | Informe spam
hola, chicos !

sobre la pregunta que le haces a Hector
Hola Hector, Esta formula ´=k.esimo.menor($b4:$h4,1) me da error en $h4,1)

cambia la , por ; (Hector suele avisar que el utiliza la , como separador)



cierto... solo que en ocasiones lo olvido (o lo doy por "sobre-entendido") :D

en relacion con la obtencion de los 3 precios mas bajos cuando se duplican dos (o mas) veces...
y suponiendo que ya obtuvieron/descargaron el ejemplo de Cacho...
usando las columnas O:Q (titulos 1, 2 y 3 en la fila 3 continuando con el archivo de la macro)
(y sin la necesidad de utilizar celda/s fila/s o columna/s auxiliares)...

1) el precio mas bajo siempre sera el minimo que se puede obtener usando indice(...coincidir(min(...
[O4] =indice(b$3:h$3,coincidir(min(b4:h4),b4:h4,0))

2) obtener el segundo mas bajo precio puede resultar un segundo igual al minimo o realmente el segundo mas bajo
aqui ya se requiere buscar la posicion del minimo segun columnas y de una formula "matricial"
y debe ser en una sola linea (asi que la "rompo" ya que de seguro pasa cortada por el lector de noticias)
[P4]
=desref($a$3,,k.esimo.menor(si($b4:$h4=k.esimo.menor($b4:$h4,columnas($o4:p4)),columna($b4:$h4)),
1+(contar.si($b4:$h4,k.esimo.menor($b4:$h4,1))>1))-1)

3) obtener el tercero mas bajo resulta en la posibilidad de un tercero igual al minimo, un segundo segundo (etc.)
lo que requiere de una "descalificacion exponencial" del numero de columna donde coincide el k.esimo.menor
[Q4]
=desref($a$3,,k.esimo.menor(si($b4:$h4=k.esimo.menor($b4:$h4,columnas($o4:q4)),columna($b4:$h4)),
coincidir(contar.si($b4:$h4,k.esimo.menor($b4:$h4,2)),{1\2\3})-(sumaproducto(coincidir(contar.si($b4:$h4,
k.esimo.menor($b4:$h4,{1\2})),{1\2\3}))=4))-1)

sobra (re)comentar (posibles) diferencias en el separador de argumentos (coma ?... punto y coma ?... otro ?)
la primer formula es "normal" y las otras dos son matriciales (ctrl + shift + enter)

la (des)ventaja de usar formulas o macros, es que las formulas se actualizan en cuanto se cambian los datos
(segun el numero de celdas y su complejidad, podrian requerir de mayor tiempo de recalculo)
(se pueden adelgazar o recortar las formulas en algunas de sus partes, pero no se si despues sean los 4 mas bajos ?)

por macros no se actualizan los cambios hasta que se ejecuta de nuevo el procedimiento

saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida