Foro de elhacker.net

Foros Generales => Dudas Generales => Mensaje iniciado por: B€T€B€ en 3 Marzo 2021, 22:20 pm



Título: Excel - Funcion SI
Publicado por: B€T€B€ en 3 Marzo 2021, 22:20 pm


Buenas Noches.

Me estoy peleando con una función en Excel.

SI(Y(I6>0;B6=2);((1/I6)-0,011);"")

Si (a la vez) I6 es mayor que que cero y B6 es igual a 2, divide 1 entre I6 y le resta 0,011

Lo que quiero es hacer lo mismo si B6 es un número par o en su defecto (2, 4 ,6 y 8)
Alguna sugerencia.











Título: Re: Excel - Funcion SI
Publicado por: Serapis en 3 Marzo 2021, 22:41 pm
Un test de par o impar, es usar 'mod 2' y más veloz 'and 1'...

EsImpar = (B6 and 1)  ' impar =1, par=0


Título: Re: Excel - Funcion SI
Publicado por: MCKSys Argentina en 3 Marzo 2021, 22:48 pm
Para hacer lo que pìdes usando las mismas celdas:

Código:
=IF(AND(MOD(B6,2)=0,B6<>0),((1/I6)-0.011),0)

Eso calcula el resto entre B6 y 2 y lo compara con 0. Si el resto es cero, entonces B6 es par.
Además verifica que B6 no sea 0 (lo que puedes cambiar para que compare con lo que quieras, Es sólo un ejemplo)

Saludos!


Título: Re: Excel - Funcion SI
Publicado por: B€T€B€ en 3 Marzo 2021, 23:21 pm
En Openoffice

=SI(Y(I6>0;RESIDUO(B6;2)=0;B6<>0);((1/I6)-0,011);"")


Gracias MCKSys Argentina

-----------------------------------------------------------------

Otra duda.

SI(Y(Q6<>0;Q7<>0);Q6+Q7+Q8;"")

¿Alguna forma de automatizar la suma de la serie de celdas?




Título: Re: Excel - Funcion SI
Publicado por: MCKSys Argentina en 5 Marzo 2021, 02:09 am

Otra duda.

SI(Y(Q6<>0;Q7<>0);Q6+Q7+Q8;"")

¿Alguna forma de automatizar la suma de la serie de celdas?

Hola!

Lo anterior, en Excel:

Código:
=IF(AND(Q6<>0,Q7<>0),SUM(Q6:Q8),0)

SUM realiza la sumatoria de las celdas indicadas por el rango A:B (A = celda inicio y B = celda final, inclusive).

Saludos!


Título: Re: Excel - Funcion SI
Publicado por: B€T€B€ en 5 Septiembre 2021, 22:27 pm
Hola de nuevo.


SI(Y(K5=1;V5=1);AH5;"")

Cuando K5 y V5 no son 1 funciona bien, pero cuando lo son da error...
Trabajo con Libreoffice, pero no lo entiendo.


Título: Re: Excel - Funcion SI
Publicado por: MCKSys Argentina en 6 Septiembre 2021, 17:24 pm
SI(Y(K5=1;V5=1);AH5;"")

Qué es AH5? Creo que ahí tienes el error.. no?

Saludos!


Título: Re: Excel - Funcion SI
Publicado por: B€T€B€ en 6 Septiembre 2021, 21:53 pm


Si el es verdadero tendria que devolver el valor de AH5.
¿Por qué no lo hace?   :huh: :huh: :huh: :huh:
 


Título: Re: Excel - Funcion SI
Publicado por: MCKSys Argentina en 6 Septiembre 2021, 23:06 pm
En mi excel me lo resuelve bien, aunque no se usa ";" sinó "," para separar params:

Citar
IF(AND(K5=1,V5=1),AH5,"")

Quizás sea por eso?

Saludos!

PD: Mi pregunta de AH5 fue porque no pensé que tenía valores en esa columna.


Título: Re: Excel - Funcion SI
Publicado por: B€T€B€ en 6 Septiembre 2021, 23:15 pm


Lo curioso es cuando tiene que devolver "" no da error.
EL error lo da asi: ###


Título: Re: Excel - Funcion SI
Publicado por: MCKSys Argentina en 6 Septiembre 2021, 23:16 pm

Lo curioso es cuando tiene que devolver "" no da error.
EL error lo da asi: ###


Error de formato, quizás?


Título: Re: Excel - Funcion SI
Publicado por: B€T€B€ en 6 Septiembre 2021, 23:17 pm

¿Qué solución sugieres?


Título: Re: Excel - Funcion SI
Publicado por: MCKSys Argentina en 6 Septiembre 2021, 23:22 pm
Podrías probar en poner todas las celdas involucradas en formato texto (o numérico, pero cambia "" por 0). Puede que eso solucione el error.

Sinó podrías dar un poco de info para recrear la plantilla que tienes y poder reproducir el error per-se (con un copy-paste creo que bastaría).

Es raro porque en mi prueba (rápida) no arrojó errores, excepto lo del punto y coma.

Saludos!


Título: Re: Excel - Funcion SI
Publicado por: B€T€B€ en 6 Septiembre 2021, 23:27 pm


Lo del punto y como es porque uilizo libreoffice calc.
Si la fórmula es correcta (como parece) el problema vendrá de dios sabe donde...


Título: Re: Excel - Funcion SI
Publicado por: EdePC en 7 Septiembre 2021, 00:19 am
A mi me está funcionando bien al parecer:

(https://i.ibb.co/VCcNYmd/CALC.png)

- El último 1 es un 1 como texto ('1)

La única manera de obtener ### en mi caso fue que la celda AH1 tenga un valor numérico grande y la celda A1 es muy delgada para mostrarla completa, basta con ampliar un poco la columna A para que se vea todo. También puede ser que tengas algún formato condicional en las celdas destino


Título: Re: Excel - Funcion SI
Publicado por: MCKSys Argentina en 7 Septiembre 2021, 00:20 am
Hice pruebas en 7.2.0 y usando esta función:

Citar
=IF(AND(K5=1,V5=1),AH5,"")

Me da el valor de AH5 si K5 y V5 no son 1. Sinó da "".

Creo que los tiros vienen por el lado de usar las funciones traducidas... Prueba con los nombres de función de Inglés.

Saludos!

EDIT: Olvidé poner que si uso SI e Y me tira el error #NAME?


Título: Re: Excel - Funcion SI
Publicado por: B€T€B€ en 7 Septiembre 2021, 00:38 am
Con las funciones en ingles da error #NAME?

AH5 es 0,2805147312 pero si lo cambio por un sólo dígito estoy igual.
Todo (en teoría) está bien.

Empiezo a pensar que todo viene de la instalación del paquete de idioma que hice hace poco...

-----------------------------------------------------------------------------------------------------------------

He desinstalado Libreoffice e instalado Openoffice.
Si no desinstalaba primero Libreoffice no podía instalar Openoffice; no entiendo porque en Windows puedo instalar ambos y en Xubuntu no.
Los problemas persisten y mi paciencia empieza a agotarse.


Título: Re: Excel - Funcion SI
Publicado por: B€T€B€ en 5 Noviembre 2021, 01:37 am

Ya se que soy muy pesado...

Quiero contar en el intervalo C2:U20 las celdas que continen un número >0 y la vez par.

CONTAR.SI.CONJUNTO(C2:U20;">0";C2:U20;"RESIDUO(C2:U20);2=0")

¿Qué es lo que hago mal?


Título: Re: Excel - Funcion SI
Publicado por: fzp en 5 Noviembre 2021, 13:22 pm
Creo que en LibreOffice Calc (y me parece que en OpenOffice Calc es lo mismo) la función "RESIDUO" opera sobre dos argumentos, que pueden ser dos números, dos celdas, o un número y una celda (o celda y número). No funciona sobre rangos.

EDITO:
Ten en cuenta que los restos de dividir las celdas de un rango por un número serán diferentes, en general, y sin embargo una función no puede devolver más que un valor.

Se me ocurren otras formas de conseguir lo que quieres. Una con macros. Escribes una rutina que lea una por una las celdas del rango C2:U20, aplique a cada una de ellas la doble condición y cuando la cumplan acumule sobre una variable; y al final pase el valor de la variable a otra celda de la hoja.

O bien, si solo quieres emplear recursos de la hoja, sin macros, que crees un rango homólogo al C2:U20 en otra parte de la hoja. Cada celda de este nuevo rango le pones una función "SI" con la doble de condición de que la celda homóloga (del rango C2:U2) sea >0 y RESIDUO de celda/2 = 0 (o directamente empleando la función ESPAR), y si se cumple pones la celda a 1 y si no a 0. De este modo tienes las celdas de este segundo rango homólogo al primero a 0 o 1, según cumplan la doble condición las celdas del primer rango. Ahora aplicas el CONTAR.SI.CONJUNTO a las celdas de este segundo rango homólogo con la condición =1, y te dará el conteo de las celdas del primer rango que cumplen la doble condición.


Título: Re: Excel - Funcion SI
Publicado por: MCKSys Argentina en 5 Noviembre 2021, 15:52 pm
Ya se que soy muy pesado...

Quiero contar en el intervalo C2:U20 las celdas que continen un número >0 y la vez par.

CONTAR.SI.CONJUNTO(C2:U20;">0";C2:U20;"RESIDUO(C2:U20);2=0")

¿Qué es lo que hago mal?

En EXCEL 365 (Inglés):

Código:
=SUMPRODUCT(--(MOD(C2:U20;2)=0)*(IF(C2:U20>0;1;0)))

En mis pruebas rápidas, cuenta los pares mayores que cero.

Saludos!


Título: Re: Excel - Funcion SI
Publicado por: B€T€B€ en 5 Noviembre 2021, 21:56 pm


Gracias.