Excel - Funcion SI

Iniciado por B€T€B€, 3 Marzo 2021, 22:20 PM

0 Miembros y 1 Visitante están viendo este tema.

MCKSys Argentina

Cita de: 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: ###


Error de formato, quizás?
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


B€T€B€


MCKSys Argentina

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!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


B€T€B€



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...

EdePC

A mi me está funcionando bien al parecer:



- 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

MCKSys Argentina

#15
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?
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


B€T€B€

#16
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.

B€T€B€


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?

fzp

#18
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.

MCKSys Argentina

Cita de: 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?

En EXCEL 365 (Inglés):


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


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

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."