Problema con SI anidados

20/12/2005 - 15:56 por Raúl Z. | Informe spam
Tengo el siguiente procedimiento:
A B C
Sexo Cant.Horas Status
M 06:42
F 07:48
M 09:10
Yo quiero q si es M y tiene menos de 8 horas me ponga IMPRODUCTIVO de lo
contrario nada.
Ahora bien yo aplico la formula:
=si(a2="M";si(b2<8;"Improductivo";""))
Me dá "Improductivo" en todos los casos de M y "FALSO" en los F
No se como encontrar la solucion

Gracias

Raúl Z.
Gualeguay (ER)
Argentina

Preguntas similare

Leer las respuestas

#6 Gabriel Raigosa
20/12/2005 - 23:12 | Informe spam
Saludos KL;

Me queda una duda, en mi equipo el 01-01-1900 (dd-mm-yyyy), es el ida "1" y
usted anoto que es el dia "0"

Y en mi equipo el "01-01-1900 12:00" me esta dando 1.5, es decir las 36
horas (1$ y 0.5, son 24+126)
(debería ser 0.5 días es decir 12 horas, pero no es)

¿a usted le da diferente?

Gabriel Raigosa
Medellín - Colombia

"KL" escribió en el mensaje
news:%
Hola Raul,

La solucion esta en entender que las horas son magnitudes sexagesimales y
en Eexcel se expresan mediante valores decimales de tal manera que las 24
horas caben dentro del espacio entre 0 y 1.

O sea, cuando Excel muestra "01:30" en realidad el valor es 0,0625,
"12:00" es 0,5 y "24:00" es 1. Si no se introduce la informacion sobre el
dia la fecha es por defecto "01/01/1900" o sea 0 para Excel.

Cada dia anade una unidad al valor de fech/hora. Es decir: "01/01/1900
12:00:00" es 0,5 mientras que "02/01/1900 12:00:00" es "36:00" o sea 1,5.

Por tanto tu formula deberia funcionar en uno de los siguienets formatos:

=SI(Y(A2="M";B2*24<8);"Improductivo";"")
=SI((A2="M")*(B2*24<8);"Improductivo";"")
=SI(Y(A2="M";B2<--"08:00");"Improductivo";"")
=SI(Y(A2="M";B2<NSHORA(8;;));"Improductivo";"")
=SI(Y(A2="M";B2<0.333333333333333);"Improductivo";"")

Saludos,
KL


"Raúl Z." wrote in message
news:
Tengo el siguiente procedimiento:
A B C
Sexo Cant.Horas Status
M 06:42
F 07:48
M 09:10
Yo quiero q si es M y tiene menos de 8 horas me ponga IMPRODUCTIVO de lo
contrario nada.
Ahora bien yo aplico la formula:
=si(a2="M";si(b2<8;"Improductivo";""))
Me dà¡ "Improductivo" en todos los casos de M y "FALSO" en los F
No se como encontrar la solucion

Gracias

Raàºl Z.
Gualeguay (ER)
Argentina



Respuesta Responder a este mensaje
#7 KL
20/12/2005 - 23:15 | Informe spam
Hola Raul,

Antes que nada una pequena puntualizacion [es que me he liado entre los usuarios que usan la version inglesa y los que tienen la
espanola :-)]: las funciones VALUE() y TIMEVALUE en castellano serian VALOR() y HORANUMERO()

Y desde luego muchas gracias por tus palabras y Felices Fiestas para ti tambien!

Un abrazo,
KL


"Raúl Z." wrote in message news:
E X C E L E N T E Y M A G I S T R A L tu explicación estimado KL.
Muchiiiiiiiiiiiiiiiiiiiiisimas gracias, por tu dedicación y predisposición
para conmigo en particular y para con el foro en general.
Con mis mejores deseos de FELICES FIESTAS
Te saluda

Raúl Z.
Gualeguay (ER)
Argentina

"KL" escribió:

Hola Raul,

> En la 3ª xq pones <-- (q significan esos 2 guiones)?

Los dos "guiones" [yo diria menoses] estan para forzar la conversion de la cadena de texto "08:00" en un valor numerico
(0.333333333333333). Lo mismo se puede conseguir mediante la funcion VALUE() o TIMEVALUE(), pero lo mio es mas corto.

> Y La sintaxis de la 2ª no lo entiendo.
=SI((A2="M")*(B2*24<8);"Improductivo";"")

Me imagino que lo que no entiendes es (A2="M")*(B2*24<8)
Pues es bastante facil.

1) Cada una de las equaciones (A2="M") y (B2*24<8) devuelven VERDADERO o FALSO que son valores logicos

2) VERDADERO y FALSO tambien tienen valores numericos implicitos 1 y 0 respectivamente

3) Para sacar los valores numericos de VERDADERO y FALSO es nercesario hacer alguna operacion matematica basica con ellos. Por
ejemplo:
supongamos que la primera condicion se cumple (A2="M") = VERDADERO y la segunda no (B2*24<8) = FALSO
entonces obtenemos (VERDADERO)*(FALSO) o sea (1)*(0) lo cual nos da 0
si suponemos que los dos se cumplen entonces obtendremos (VERDADERO)*(VERDADERO) que en otros terminos es (1)*(1) y nos dara 1

4) Cuando la funcion SI() evalua una condicion interpreta que 0 es FALSO y el resto de los numeros es VERDADERO. Por lo tanto, en
el
primer ejemplo tendruiamos:

=SI((A2="M")*(B2*24<8);"Improductivo";"") = SI((VERDADERO)*(FALSO);"Improductivo";"") = SI((1)*(0);"Improductivo";"") >> SI(0;"Improductivo";"") = SI(FALSO;"Improductivo";"") = ""

y en el segundo caso seria:

=SI((A2="M")*(B2*24<8);"Improductivo";"") = SI((VERDADERO)*(VERDADERO);"Improductivo";"") = SI((1)*(1);"Improductivo";"") >> SI(1;"Improductivo";"") = SI(VERDADERO;"Improductivo";"") = "Improductivo"


Saludos,
KL


Respuesta Responder a este mensaje
#8 Raúl Z.
20/12/2005 - 23:30 | Informe spam
Gracias KL
Tengo una ayuda de conversión de fórmulas y funciones y me di cuenta cualees
eran.

Raúl Z

"KL" escribió:

Hola Raul,

Antes que nada una pequena puntualizacion [es que me he liado entre los usuarios que usan la version inglesa y los que tienen la
espanola :-)]: las funciones VALUE() y TIMEVALUE en castellano serian VALOR() y HORANUMERO()

Y desde luego muchas gracias por tus palabras y Felices Fiestas para ti tambien!

Un abrazo,
KL


"Raúl Z." wrote in message news:
>E X C E L E N T E Y M A G I S T R A L tu explicación estimado KL.
> Muchiiiiiiiiiiiiiiiiiiiiisimas gracias, por tu dedicación y predisposición
> para conmigo en particular y para con el foro en general.
> Con mis mejores deseos de FELICES FIESTAS
> Te saluda
>
> Raúl Z.
> Gualeguay (ER)
> Argentina
>
> "KL" escribió:
>
>> Hola Raul,
>>
>> > En la 3ª xq pones <-- (q significan esos 2 guiones)?
>>
>> Los dos "guiones" [yo diria menoses] estan para forzar la conversion de la cadena de texto "08:00" en un valor numerico
>> (0.333333333333333). Lo mismo se puede conseguir mediante la funcion VALUE() o TIMEVALUE(), pero lo mio es mas corto.
>>
>> > Y La sintaxis de la 2ª no lo entiendo.
>> =SI((A2="M")*(B2*24<8);"Improductivo";"")
>>
>> Me imagino que lo que no entiendes es (A2="M")*(B2*24<8)
>> Pues es bastante facil.
>>
>> 1) Cada una de las equaciones (A2="M") y (B2*24<8) devuelven VERDADERO o FALSO que son valores logicos
>>
>> 2) VERDADERO y FALSO tambien tienen valores numericos implicitos 1 y 0 respectivamente
>>
>> 3) Para sacar los valores numericos de VERDADERO y FALSO es nercesario hacer alguna operacion matematica basica con ellos. Por
>> ejemplo:
>> supongamos que la primera condicion se cumple (A2="M") = VERDADERO y la segunda no (B2*24<8) = FALSO
>> entonces obtenemos (VERDADERO)*(FALSO) o sea (1)*(0) lo cual nos da 0
>> si suponemos que los dos se cumplen entonces obtendremos (VERDADERO)*(VERDADERO) que en otros terminos es (1)*(1) y nos dara 1
>>
>> 4) Cuando la funcion SI() evalua una condicion interpreta que 0 es FALSO y el resto de los numeros es VERDADERO. Por lo tanto, en
>> el
>> primer ejemplo tendruiamos:
>>
>> =SI((A2="M")*(B2*24<8);"Improductivo";"") = SI((VERDADERO)*(FALSO);"Improductivo";"") = SI((1)*(0);"Improductivo";"") > >> SI(0;"Improductivo";"") = SI(FALSO;"Improductivo";"") = ""
>>
>> y en el segundo caso seria:
>>
>> =SI((A2="M")*(B2*24<8);"Improductivo";"") = SI((VERDADERO)*(VERDADERO);"Improductivo";"") = SI((1)*(1);"Improductivo";"") > >> SI(1;"Improductivo";"") = SI(VERDADERO;"Improductivo";"") = "Improductivo"
>>
>>
>> Saludos,
>> KL
>>
>>


Respuesta Responder a este mensaje
#9 KL
21/12/2005 - 00:19 | Informe spam
Hola Gabriel,

Gracias por la puntualizacion. Si, tienes razon - me he despistado, quise decir 00-01-1900 y no 01-01-1900. Por lo tanto las frases
en cuestion deben ser asi:

"Si no se introduce la informacion sobre el dia la fecha es por defecto "00/01/1900" o sea 0 para Excel"

y

"Cada dia anade una unidad al valor de fech/hora. Es decir: "00/01/1900 12:00:00" es 0,5 mientras que "01/01/1900 12:00:00" es
"36:00" o sea 1,5."

Saludos,
KL


"Gabriel Raigosa" wrote in message news:
Saludos KL;

Me queda una duda, en mi equipo el 01-01-1900 (dd-mm-yyyy), es el ida "1" y usted anoto que es el dia "0"

Y en mi equipo el "01-01-1900 12:00" me esta dando 1.5, es decir las 36 horas (1$ y 0.5, son 24+126)
(debería ser 0.5 días es decir 12 horas, pero no es)

¿a usted le da diferente?

Gabriel Raigosa
Medellín - Colombia

"KL" escribió en el mensaje news:%
Hola Raul,

La solucion esta en entender que las horas son magnitudes sexagesimales y en Eexcel se expresan mediante valores decimales de tal
manera que las 24 horas caben dentro del espacio entre 0 y 1.

O sea, cuando Excel muestra "01:30" en realidad el valor es 0,0625, "12:00" es 0,5 y "24:00" es 1. Si no se introduce la
informacion sobre el dia la fecha es por defecto "01/01/1900" o sea 0 para Excel.

Cada dia anade una unidad al valor de fech/hora. Es decir: "01/01/1900 12:00:00" es 0,5 mientras que "02/01/1900 12:00:00" es
"36:00" o sea 1,5.

Por tanto tu formula deberia funcionar en uno de los siguienets formatos:

=SI(Y(A2="M";B2*24<8);"Improductivo";"")
=SI((A2="M")*(B2*24<8);"Improductivo";"")
=SI(Y(A2="M";B2<--"08:00");"Improductivo";"")
=SI(Y(A2="M";B2<NSHORA(8;;));"Improductivo";"")
=SI(Y(A2="M";B2<0.333333333333333);"Improductivo";"")

Saludos,
KL


"Raúl Z." wrote in message news:
Tengo el siguiente procedimiento:
A B C
Sexo Cant.Horas Status
M 06:42
F 07:48
M 09:10
Yo quiero q si es M y tiene menos de 8 horas me ponga IMPRODUCTIVO de lo
contrario nada.
Ahora bien yo aplico la formula:
=si(a2="M";si(b2<8;"Improductivo";""))
Me dà¡ "Improductivo" en todos los casos de M y "FALSO" en los F
No se como encontrar la solucion

Gracias

Raàºl Z.
Gualeguay (ER)
Argentina







email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida