Extraer valores de una tabla

23/06/2005 - 10:43 por mff.jhw | Informe spam
Estoy trabajando en una hoja Excel en que una columna de celdas debe ser
rellenada con valores extraidos de una tabla. Algo así:

Si la celda A1>0 y <P0, la celda B1 sera "SIZE-250"
Si la celda A1>500 y <00, la celda B1 sera "SIZE-750"
.
.
.
Si la celda A1>5000 y <000, la celda B1 sera "SIZE-7500"
Si la celda A1>10000 y <000, la celda B1 sera "SIZE-12500"
Si la celda A1>15000 y < 000, la celda B1 sera "SIZE-17500"
Si la celda A1>20000, la celda B1 sera "NO EXISTE"

Como el número de proposiciones "Si la celda A1." es superior a 30, no
se puede hacer con una fórmula en cada celda que tenga tal cantidad de
anidamientos.

Me podeis indicar algún método para conseguir mi propósito.

Gracias anticipadas, MFF

Gracias

Preguntas similare

Leer las respuestas

#1 KL
23/06/2005 - 12:06 | Informe spam
Hola mff.jhw,

Opcion 1:

si tienes el valor evaluado en la celda [A1], prueba la siguiente formula:

=SI(A1<5000;"SIZE-"&REDONDEAR.MAS(A1/500;0)*500+-1^(A1<>REDONDEAR.MAS(A1/500;0)*500)*250;SI(A1<20000;"SIZE-"&REDONDEAR.MAS(A1/5000;0)*5000+-1^(A1<>REDONDEAR.MAS(A1/5000;0)*5000)*2500;"NO
EXISTE"))

Opcion 2:

Crea una tabla como la siguiente:
[A] [B]
[1] 0 SIZE-250

[2] 500 SIZE-750

[3] 1000 SIZE-1250

[5] 1500 SIZE-1750

[6] 2000 SIZE-2250

[4] 2500 SIZE-2750

[7] 3000 SIZE-3250

[8] 3500 SIZE-3750

[9] 4000 SIZE-4250

[10] 4500 SIZE-4750

[11] 5000 SIZE-7500

[12] 10000 SIZE-12500

[13] 15000 SIZE-17500

[14] 20000 NO EXISTE

[15]

[16] 4000



y en la celda [B16] pon la siguiente formula:



=BUSCARV(A16;$A$1:$B$14;2)



Ahora prueba cambiar el valor de la celda [A16].


Saludos,
KL



"mff.jhw" wrote in message
news:%239sif%
Estoy trabajando en una hoja Excel en que una columna de celdas debe ser
rellenada con valores extraidos de una tabla. Algo así:

Si la celda A1>0 y <P0, la celda B1 sera "SIZE-250"
Si la celda A1>500 y <00, la celda B1 sera "SIZE-750"
.
.
.
Si la celda A1>5000 y <000, la celda B1 sera "SIZE-7500"
Si la celda A1>10000 y <000, la celda B1 sera "SIZE-12500"
Si la celda A1>15000 y < 000, la celda B1 sera "SIZE-17500"
Si la celda A1>20000, la celda B1 sera "NO EXISTE"

Como el número de proposiciones "Si la celda A1." es superior a 30, no
se puede hacer con una fórmula en cada celda que tenga tal cantidad de
anidamientos.

Me podeis indicar algún método para conseguir mi propósito.

Gracias anticipadas, MFF

Gracias

Respuesta Responder a este mensaje
#2 Héctor Miguel
23/06/2005 - 14:34 | Informe spam
hola, chicos !

mff.jhw escribio en el mensaje
... una columna de celdas debe ser rellenada con valores extraidos de una tabla
Si la celda A1>0 y <P0, la celda B1 sera "SIZE-250"
Si la celda A1>500 y <00, la celda B1 sera "SIZE-750"
.
Si la celda A1>5000 y <000, la celda B1 sera "SIZE-7500"
Si la celda A1>10000 y <000, la celda B1 sera "SIZE-12500"
Si la celda A1>15000 y < 000, la celda B1 sera "SIZE-17500"
Si la celda A1>20000, la celda B1 sera "NO EXISTE"
... no se puede hacer con una formula... que tenga tal cantidad de anidamientos.

KL escribio en el mensaje ...
... valor evaluado en la celda [A1], prueba la siguiente formula:
=SI(A1<5000;"SIZE-"&REDONDEAR.MAS(A1/500;0)*500+-1^(A1<>REDONDEAR.MAS(A1/500;0)*500)*250;SI(A1<20000;"SIZE"&REDONDEAR.MAS(A1/5000;0)*5000+-1^(A1<>REDONDEAR.MAS(A1/5000;0)*5000)*2500;"NO
EXISTE"))

Opcion 2:
Crea una tabla como la siguiente: [...]





KL... [me parece que] se estan haciendo 'saltos' ANTES de 'alcanzar' los valores 'maximos' para cada rango -?-
-> prueba y compara con los valores devueltos/solicitados en los maximos [500, 1000, 10000, etc.] :-(
una alternativa [formula 'larga'] pudiera ser como la siguiente [mismos supuestos]...
=si(a1>20000,"no existe","size-"&250*10^((a1-1)>P00)+500*(a1>500)*entero((a1-1)/500)-500*(a1>5000)*truncar(((a1-1)-5000)/500)+5000*(a1>10000)*truncar(((a1-1)-5000)/5000))

se podria 'recortar' usando matrices y funciones como coincidir()... etc.

saludos,
hector.
Respuesta Responder a este mensaje
#3 KL
23/06/2005 - 15:54 | Informe spam
Hola HM,

KL... [me parece que] se estan haciendo 'saltos' ANTES de 'alcanzar' los
valores 'maximos' para cada rango -?-
-> prueba y compara con los valores devueltos/solicitados en los maximos
[500, 1000, 10000, etc.] :-(



A mi me funciona correctamente. Lo que ocurre, creo, es que tu y yo nos
basamos en difrenetes hipotesis. Yo interpreto que hasta 5000 el salto es de
500 y a partir de 5000 es de 5000.

Saludos,
KL
Respuesta Responder a este mensaje
#4 KL
23/06/2005 - 16:18 | Informe spam
Hola HM,

Habiendo releido tu mensaje creo que te has perdido el hecho que hay tres
puntos despues de la tercera condicion:


Si la celda A1>500 y <00, la celda B1 sera "SIZE-750"
.
.
.
Si la celda A1>5000 y <000, la celda B1 sera "SIZE-7500"


y que ademas el PO dice que hay 30 anidaciones en total lo cual yo
interpreto que quiso decir que habia 30 condiciones (15 minimos y 15
maximos), que en mi caso por cierto solo me salen 14 por cada lado (total
28).

Abajo te pongo los resultados de mis pruebas.

Saludos,
KL

1 SIZE-250

501 SIZE-750

1001 SIZE-1250

1501 SIZE-1750

2001 SIZE-2250

2501 SIZE-2750

3001 SIZE-3250

3501 SIZE-3750

4001 SIZE-4250

4501 SIZE-4750

9501 SIZE-7500

14501 SIZE-12500

19501 SIZE-17500



499 SIZE-250

999 SIZE-750

1499 SIZE-1250

1999 SIZE-1750

2499 SIZE-2250

2999 SIZE-2750

3499 SIZE-3250

3999 SIZE-3750

4499 SIZE-4250

4999 SIZE-4750

9999 SIZE-7500

14999 SIZE-12500

19999 SIZE-17500



500 SIZE-750

1000 SIZE-1250

1500 SIZE-1750

2000 SIZE-2250

2500 SIZE-2750

3000 SIZE-3250

3500 SIZE-3750

4000 SIZE-4250

4500 SIZE-4750

5000 SIZE-7500

10000 SIZE-12500

15000 SIZE-17500

20000 NO EXISTE



501 SIZE-750

1001 SIZE-1250

1501 SIZE-1750

2001 SIZE-2250

2501 SIZE-2750

3001 SIZE-3250

3501 SIZE-3750

4001 SIZE-4250

4501 SIZE-4750

5001 SIZE-7500

10001 SIZE-12500

15001 SIZE-17500

20001 NO EXISTE
Respuesta Responder a este mensaje
#5 Héctor Miguel
23/06/2005 - 16:53 | Informe spam
hola, KL !

Habiendo releido tu mensaje creo que te has perdido el hecho que hay tres puntos despues de la tercera condicion:
Si la celda A1>500 y <00, la celda B1 sera "SIZE-750"
.
.
.
Si la celda A1>5000 y <000, la celda B1 sera "SIZE-7500"
... ademas el PO dice que hay 30 anidaciones
... interpreto... que habia 30 condiciones (15 minimos y 15 maximos) [...]
Abajo te pongo los resultados de mis pruebas [...]
500 SIZE-750
1000 SIZE-1250
.
10000 SIZE-12500 [...]



aprovechando que ya has comentado los tres puntos y colocado los ejemplos de OP 'entre esas puntas'...
[creo que no hay necesidad de seguir 'ejemplificando'] y para [tratar de] 'puntualizar' sobre ellos...
-> 1) OP menciona [antes de los tres puntos] que si A1<00 el resultado que espera ES "SIZE-750"
comentas de tus pruebas realizadas... que si A100 el resultado [que obtienes] ES "SIZE-1250"
-> 2) OP menciona [despues de los tres puntos] que si A1<000 el resultado esperado ES "SIZE-7500"
comentas de tus pruebas realizadas... que si A1000 el resultado [que obtienes] ES "SIZE-12500"

[igual y me estoy perdiendo de algo :-( ... pero] comentas?
saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida