anidar más de 7 niveles en una función en excel?

04/05/2006 - 19:09 por HBG | Informe spam
el ejemplo es el sigiente:

=SI(AA2="","NO
DATO",si(AA2="GA1","4:00:00",si(AA2="GA2","5:00:00",si(AA2="GA3","6:00:00",si(AA2="GA4","7:00:00",si(AA2="SU1","5:00:00",si(AA2="SU2","1:00:00",si(AA2="SU3","4:00:00",FALSO))))))))

necesito colocar mas condicones, que funcion me permite en excell hacer esto?

Preguntas similare

Leer las respuestas

#1 Contaduria \(MVP\)
04/05/2006 - 19:47 | Informe spam
debes probar con la funcion sumaproducto() que te permite trabajar con
multiples condiciones por ejemplo: =sumaproducto(A1>A2;A1P00;A1><B1)

Espero que te sirva




"HBG" escribió en el mensaje
news:
el ejemplo es el sigiente:

=SI(AA2="","NO



DATO",si(AA2="GA1","4:00:00",si(AA2="GA2","5:00:00",si(AA2="GA3","6:00:00",s
i(AA2="GA4","7:00:00",si(AA2="SU1","5:00:00",si(AA2="SU2","1:00:00",si(AA2="
SU3","4:00:00",FALSO))))))))

necesito colocar mas condicones, que funcion me permite en excell hacer


esto?
Respuesta Responder a este mensaje
#2 KL
04/05/2006 - 20:52 | Informe spam
Hola HBG,

Yo que tu consideraria una de las siguientes opciones:


Op1) Una formula con una tabla de referencias adicional.

- En una hoja aparte crea la siguiente tabla en el rango [A1:B7]
GA1 4:00:00
GA2 5:00:00

GA3 6:00:00

GA4 7:00:00

SU1 5:00:00

SU2 1:00:00

SU3 4:00:00

- Selecciona el rango
- En el Cuadro de Nombres (el desplegable a la izquierda de la barra de formulas) escribe TABLA y pulsa la tecla Enter
- Ahora usa una de las siguientes formulas:

=SI(CONTAR.SI(INDICE(TABLA;;1);AA2);BUSCARV(AA2;TABLA;2;0);"")

=SI(CONTAR.SI(INDICE(TABLA;;1);AA2);INDICE(B1:B7;COINCIDIR(AA2;INDICE(TABLA;;1);0));"")


Op2) Una formula con una matriz fija.
Usa una de las siguientes formulas:

=SI(ESNOD(COINCIDIR(AA2;{"GA1";"GA2";"GA3";"GA4";"SU1";"SU2";"SU3"};0));"";BUSCARV(AA2;{"GA1"\"4:00:00";"GA2"\"5:00:00";"GA3"\"6:00:00";"GA4"\"7:00:00";"SU1"\"5:00:00";"SU2"\"1:00:00";"SU3"\"4:00:00"};2;0))

=SI(ESNOD(COINCIDIR(AA2;{"GA1";"GA2";"GA3";"GA4";"SU1";"SU2";"SU3"};0));"";INDICE({"4:00:00";"5:00:00";"6:00:00";"7:00:00";"5:00:00";"1:00:00";"4:00:00"};COINCIDIR(AA2;{"GA1";"GA2";"GA3";"GA4";"SU1";"SU2";"SU3"};0)))


Op3) Una formula con una matriz asignada a un nombre definido

- ve al menu Insertar>Nombre>Definir...
- nombre: TABLA
- se refiere a: ={"GA1"\"4:00:00";"GA2"\"5:00:00";"GA3"\"6:00:00";"GA4"\"7:00:00";"SU1"\"5:00:00";"SU2"\"1:00:00";"SU3"\"4:00:00"}
- pulsa el boton A#adir y luego Aceptar
- Ahora usa una de las siguientes formulas (iguales a las de la opcion 1):

=SI(CONTAR.SI(INDICE(TABLA;;1);AA2);BUSCARV(AA2;TABLA;2;0);"")

=SI(CONTAR.SI(INDICE(TABLA;;1);AA2);INDICE(B1:B7;COINCIDIR(AA2;INDICE(TABLA;;1);0));"")


4) Una formula con la funcion ELEGIR

=SI(ESNOD(COINCIDIR(AA2;{"GA1";"GA2";"GA3";"GA4";"SU1";"SU2";"SU3"};0));"";ELEGIR(COINCIDIR(AA2;{"GA1";"GA2";"GA3";"GA4";"SU1";"SU2";"SU3"};0);"4:00:00";"5:00:00";"6:00:00";"7:00:00";"5:00:00";"1:00:00";"4:00:00"))

Saludos,
KL

"HBG" wrote in message news:
el ejemplo es el sigiente:

=SI(AA2="","NO
DATO",si(AA2="GA1","4:00:00",si(AA2="GA2","5:00:00",si(AA2="GA3","6:00:00",si(AA2="GA4","7:00:00",si(AA2="SU1","5:00:00",si(AA2="SU2","1:00:00",si(AA2="SU3","4:00:00",FALSO))))))))

necesito colocar mas condicones, que funcion me permite en excell hacer esto?
Respuesta Responder a este mensaje
#3 David
04/05/2006 - 21:00 | Informe spam
Definitivamente no podrás anidar más de 7 niveles, así que creo que solamente
tendrás dos alternativas:

La primera será hacer una función por código ( si manejas VBA, esta será la
opción más fácil ).

La segunda será fraccionar la función. Veamos cómo:

En la celda AB2 ( por ejemplo ), pones la siguiente función:
=CONCATENAR(AC2,AD2)

En la celda AC2, puedes analizar las primeras 7 posibilidades. Tomando como
base tu ejemplo, podríamos pensar como ejemplo en analizar las primeras 4 con
una fórmula como la siguiente:
=SI(AA2="","NO
DATO",SI(AA2="GA1","4:00:00",SI(AA2="GA2","5:00:00",SI(AA2="GA3","6:00:00",""))))

En la celda AD2, puedes analizar el siguiente grupo de hasta 7
posibilidades. Siguiendo en base a tu ejemplo, podríamos pensar en analizar
las siguientes 4 con una fórmula como la siguiente:
=SI(AA2="GA4","7:00:00",SI(AA2="SU1","5:00:00",SI(AA2="SU2","1:00:00",SI(AA2="SU3","4:00:00",""))))

Observa que como cada fórmula termina con un "", en el caso que el valor de
AA2 no se encuentre entre sus posibles valores, se retornará una cadena
vacía. Cuando la función que pusiste en AB2 concatena, los vacíos no cuentan
y solamente te quedará el resultado que haya coincidido en cualquiera de las
columnas.

Fácilmente podrás agregar nuevas columnas con fórmulas parecidas para
considerar un número enorme de posibilidades, agregando también la celda
respectiva a la fórmula de concatenar en la celda AA2.

Por último, por presentación, podrías ocultar las columnas donde ingresaste
las formulas =SI( ).

Cordialmente,


"HBG" escribió:

el ejemplo es el sigiente:

=SI(AA2="","NO
DATO",si(AA2="GA1","4:00:00",si(AA2="GA2","5:00:00",si(AA2="GA3","6:00:00",si(AA2="GA4","7:00:00",si(AA2="SU1","5:00:00",si(AA2="SU2","1:00:00",si(AA2="SU3","4:00:00",FALSO))))))))

necesito colocar mas condicones, que funcion me permite en excell hacer esto?
Respuesta Responder a este mensaje
#4 David
04/05/2006 - 21:06 | Informe spam
De acuerdo.

Si se trata de valores puntuales, creo que las opciones que te da KL son las
mejores.

KL: Excelente tu exposición!


"KL" escribió:

Hola HBG,

Yo que tu consideraria una de las siguientes opciones:


Op1) Una formula con una tabla de referencias adicional.

- En una hoja aparte crea la siguiente tabla en el rango [A1:B7]
GA1 4:00:00
GA2 5:00:00

GA3 6:00:00

GA4 7:00:00

SU1 5:00:00

SU2 1:00:00

SU3 4:00:00

- Selecciona el rango
- En el Cuadro de Nombres (el desplegable a la izquierda de la barra de formulas) escribe TABLA y pulsa la tecla Enter
- Ahora usa una de las siguientes formulas:

=SI(CONTAR.SI(INDICE(TABLA;;1);AA2);BUSCARV(AA2;TABLA;2;0);"")

=SI(CONTAR.SI(INDICE(TABLA;;1);AA2);INDICE(B1:B7;COINCIDIR(AA2;INDICE(TABLA;;1);0));"")


Op2) Una formula con una matriz fija.
Usa una de las siguientes formulas:

=SI(ESNOD(COINCIDIR(AA2;{"GA1";"GA2";"GA3";"GA4";"SU1";"SU2";"SU3"};0));"";BUSCARV(AA2;{"GA1"\"4:00:00";"GA2"\"5:00:00";"GA3"\"6:00:00";"GA4"\"7:00:00";"SU1"\"5:00:00";"SU2"\"1:00:00";"SU3"\"4:00:00"};2;0))

=SI(ESNOD(COINCIDIR(AA2;{"GA1";"GA2";"GA3";"GA4";"SU1";"SU2";"SU3"};0));"";INDICE({"4:00:00";"5:00:00";"6:00:00";"7:00:00";"5:00:00";"1:00:00";"4:00:00"};COINCIDIR(AA2;{"GA1";"GA2";"GA3";"GA4";"SU1";"SU2";"SU3"};0)))


Op3) Una formula con una matriz asignada a un nombre definido

- ve al menu Insertar>Nombre>Definir...
- nombre: TABLA
- se refiere a: ={"GA1"\"4:00:00";"GA2"\"5:00:00";"GA3"\"6:00:00";"GA4"\"7:00:00";"SU1"\"5:00:00";"SU2"\"1:00:00";"SU3"\"4:00:00"}
- pulsa el boton A#adir y luego Aceptar
- Ahora usa una de las siguientes formulas (iguales a las de la opcion 1):

=SI(CONTAR.SI(INDICE(TABLA;;1);AA2);BUSCARV(AA2;TABLA;2;0);"")

=SI(CONTAR.SI(INDICE(TABLA;;1);AA2);INDICE(B1:B7;COINCIDIR(AA2;INDICE(TABLA;;1);0));"")


4) Una formula con la funcion ELEGIR

=SI(ESNOD(COINCIDIR(AA2;{"GA1";"GA2";"GA3";"GA4";"SU1";"SU2";"SU3"};0));"";ELEGIR(COINCIDIR(AA2;{"GA1";"GA2";"GA3";"GA4";"SU1";"SU2";"SU3"};0);"4:00:00";"5:00:00";"6:00:00";"7:00:00";"5:00:00";"1:00:00";"4:00:00"))

Saludos,
KL

"HBG" wrote in message news:
> el ejemplo es el sigiente:
>
> =SI(AA2="","NO
> DATO",si(AA2="GA1","4:00:00",si(AA2="GA2","5:00:00",si(AA2="GA3","6:00:00",si(AA2="GA4","7:00:00",si(AA2="SU1","5:00:00",si(AA2="SU2","1:00:00",si(AA2="SU3","4:00:00",FALSO))))))))
>
> necesito colocar mas condicones, que funcion me permite en excell hacer esto?

Respuesta Responder a este mensaje
#5 KL
04/05/2006 - 21:11 | Informe spam
Hola David,

...creo que solamente
tendrás dos alternativas:



?Bromeas? ?Quieres mirar mi respuesta mas arriba?

La primera será hacer una función por código ( si manejas VBA, esta será la
opción más fácil ).



Hombre, facil facil no lo se, pero la mas ineficiente seguramente:-)

Y una opcion mas que se me acaba de ocurrir:

=SI(AA2="GA1";"4:00:00";"")&SI(AA2="GA2";"5:00:00";"")&SI(AA2="GA3";"6:00:00";"")&SI(AA2="GA4";"7:00:00";"")&SI(AA2="SU1";"5:00:00";"")&SI(AA2="SU2";"1:00:00";"")&SI(AA2="SU3";"4:00:00";"")

Nota mis formulas usan punto y coma (;) como separador de argumentos, por lo que es posible que tenga que sustituirse por coma (,) en algunos sistemas.

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