[RESUELTO] Comillas inválidas en Calc, Error 508 y Error 514

Discute sobre la aplicación de hojas de cálculo
Responder
Avatar de Usuario
articulo47
Mensajes: 63
Registrado: Dom Jun 30, 2013 5:48 pm

[RESUELTO] Comillas inválidas en Calc, Error 508 y Error 514

Mensaje por articulo47 »

Buenas noches,

intento que una fórmula muy larga me funcione en Calc de LibreOffice pero me indica Error 508, mientras que AOO me indica error 512. El caso es que he revisado la fórmula muchas veces, y la he probado en Mac, Win y Linux, y no parece que haya un error de paréntesis. Cuando utilizo algo mas de la mitad de la fórmula funciona, pero cuando le agrego una opción mas lanza el error.

Tengo la impresión de que LibreOffice no permite una fórmula tan larga, ni siquiera un 70% de la misma.

La intención con la fórmula es que una celda me muestre un valor descriptivo en función del porcentaje obtenido en otra celda, pero hay múltiples parámetros y descripciones que debe calcular la fórmula, los cuales vienen representados al final de este artículo (tomadieta.com/calcular-porcentaje-grasa-corporal).

Os adjunto un documento explicativo con la fórmula utilizada, y la propia hoja de cálculo (ods).

Probablemente sea mas sencillo utilizando varias celdas y dividiendo la fórmula entre ellas, pero deseo saber si lo que quiero hacer está fuera de las posibilidades de LibreOffice.

Gracias de antemano

Editado para aclarar
Adjuntos
Consulta foro AOO.zip
Documentos
(33.79 KiB) Descargado 133 veces
Última edición por articulo47 el Jue Feb 23, 2017 1:13 am, editado 5 veces en total.
LibreOffice 7.5.8.2
macOS Catalina v10.15.7
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Ayuda: Límite caracteres fórmula celda, bug LO o Error 5

Mensaje por fornelasa »

La verdad, no sé si te entendí, ¿sera así?:
Saludos, Federico.
Adjuntos
IAC_error.ods
Formula error
(14.99 KiB) Descargado 140 veces
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Avatar de Usuario
articulo47
Mensajes: 63
Registrado: Dom Jun 30, 2013 5:48 pm

Re: Ayuda: Límite caracteres fórmula celda, bug LO o Error 5

Mensaje por articulo47 »

Hola Federico,

en la hoja que has subido, lo que yo veo es que la fórmula no tiene espacios, pero en cuanto le meto una variable mas, me lanza el Error 508.

Prueba ha sustituir en la fórmula el 99 por esto:

(SI((B3<40)Y (IGUAL(B2;"Mujer”))Y(B9<0,39);"Sobrepeso";99)

y te volverá a lanzar el Error 508, y habría que incluir 11 líneas mas para que la fórmula esté completa.

Gracias por la ayuda
LibreOffice 7.5.8.2
macOS Catalina v10.15.7
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Ayuda: Límite caracteres fórmula celda, bug LO o Error 5

Mensaje por fornelasa »

Bueno, primero lo primero
El error 508 es un error de paréntesis
y no parece que haya un error de paréntesis.
Si, si hay errores de paréntesis, por ejemplo en la segunda hoja, (prueba LIbreOffice) hay un error de como 75 paréntesis.
Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
FJCC-ES
Mensajes: 873
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: Ayuda: Límite caracteres fórmula celda, bug LO o Error 5

Mensaje por FJCC-ES »

¿Hace la fórmula en la celda B12 del archivo adjunto lo que quiere?

Código: Seleccionar todo

=SI(B3 < 20;"Error edad min IAC H"; SI(B3 >=80;"Error edad max IAC H" ;INDICE(F13:I13;COINCIDIR(B9;DESREF(F6;COINCIDIR(B3;E7:E9;1);SI(IGUAL(B2;"Hombre");0;4);1;4);1))))
Adjuntos
IAC_FJCC.ods
(15.62 KiB) Descargado 107 veces
Avatar de Usuario
articulo47
Mensajes: 63
Registrado: Dom Jun 30, 2013 5:48 pm

Re: Ayuda: Límite caracteres fórmula celda, bug LO o Error 5

Mensaje por articulo47 »

fornelasa escribió:Bueno, primero lo primero
El error 508 es un error de paréntesis
y no parece que haya un error de paréntesis.
Si, si hay errores de paréntesis, por ejemplo en la segunda hoja, (prueba LIbreOffice) hay un error de como 75 paréntesis.
Saludos, Federico.
Digo que no parece que falten paréntesis, aunque salte el Error 508, porque no localizo donde faltan, te pongo un par de ejemplos de parte de la formula que quiero aplicar,

esta funciona:

Código: Seleccionar todo

=SI((B2>0)Y(B3>0)Y(B4>0);
SI((B3<20)Y(IGUAL(B2;"Hombre"));"Error edad min IAC H";
(SI((B3<40)Y(IGUAL(B2;"Hombre"))Y(B9<0,08);"Bajo de peso";
(SI((B3<40)Y(IGUAL(B2;"Hombre"))Y(B9<0,22);"Saludable";
(SI((B3<40)Y(IGUAL(B2;"Hombre"))Y(B9<0,27);"Sobrepeso";
(SI((B3<40)Y(IGUAL(B2;"Hombre"))Y(B9>=0,27);"Obesidad";
(SI((B3<60)Y(IGUAL(B2;"Hombre"))Y(B9<0,11);"Bajo de peso";
(SI((B3<60)Y(IGUAL(B2;"Hombre"))Y(B9<0,24);"Saludable";
(SI((B3<60)Y(IGUAL(B2;"Hombre"))Y(B9<0,29);"Sobrepeso";
(SI((B3<60)Y(IGUAL(B2;"Hombre"))Y(B9>=0,29);"Obesidad";
(SI((B3<80)Y(IGUAL(B2;"Hombre"))Y(B9<0,13);"Bajo de peso";
(SI((B3<80)Y(IGUAL(B2;"Hombre"))Y(B9<0,26);"Saludable";
(SI((B3<80)Y(IGUAL(B2;"Hombre"))Y(B9<0,31);"Sobrepeso";
(SI((B3<80)Y(IGUAL(B2;"Hombre"))Y(B9>=0,31);"Obesidad";
(SI((B3>=80)Y(IGUAL(B2;"Hombre"));"Error edad max IAC H";
(SI((B3<20)Y(IGUAL(B2;"Mujer"));"Error edad min IAC M";
(SI((B3<40)Y(IGUAL(B2;"Mujer"))Y(B9<0,21);"Bajo de peso";
(SI((B3<40)Y(IGUAL(B2;"Mujer"))Y(B9<0,34);"Saludable";99))))))))))))))))))))))))))))))))))
esta NO funciona, y solo he añadido una operación mas en la fórmula que aquí se ve como una línea mas, y yo no veo el(los) paréntesis que faltan:

Código: Seleccionar todo

=SI((B2>0)Y(B3>0)Y(B4>0);
SI((B3<20)Y(IGUAL(B2;"Hombre"));"Error edad min IAC H";
(SI((B3<40)Y(IGUAL(B2;"Hombre"))Y(B9<0,08);"Bajo de peso";
(SI((B3<40)Y(IGUAL(B2;"Hombre"))Y(B9<0,22);"Saludable";
(SI((B3<40)Y(IGUAL(B2;"Hombre"))Y(B9<0,27);"Sobrepeso";
(SI((B3<40)Y(IGUAL(B2;"Hombre"))Y(B9>=0,27);"Obesidad";
(SI((B3<60)Y(IGUAL(B2;"Hombre"))Y(B9<0,11);"Bajo de peso";
(SI((B3<60)Y(IGUAL(B2;"Hombre"))Y(B9<0,24);"Saludable";
(SI((B3<60)Y(IGUAL(B2;"Hombre"))Y(B9<0,29);"Sobrepeso";
(SI((B3<60)Y(IGUAL(B2;"Hombre"))Y(B9>=0,29);"Obesidad";
(SI((B3<80)Y(IGUAL(B2;"Hombre"))Y(B9<0,13);"Bajo de peso";
(SI((B3<80)Y(IGUAL(B2;"Hombre"))Y(B9<0,26);"Saludable";
(SI((B3<80)Y(IGUAL(B2;"Hombre"))Y(B9<0,31);"Sobrepeso";
(SI((B3<80)Y(IGUAL(B2;"Hombre"))Y(B9>=0,31);"Obesidad";
(SI((B3>=80)Y(IGUAL(B2;"Hombre"));"Error edad max IAC H";
(SI((B3<20)Y(IGUAL(B2;"Mujer"));"Error edad min IAC M";
(SI((B3<40)Y(IGUAL(B2;"Mujer"))Y(B9<0,21);"Bajo de peso";
(SI((B3<40)Y(IGUAL(B2;"Mujer"))Y(B9<0,34);"Saludable";
(SI((B3<40)Y (IGUAL(B2;"Mujer”))Y(B9<0,39);"Sobrepeso";99)))))))))))))))))))))))))))))))))))
Esta 2ª fórmula LibreOffice indica error 508, y me da dos opciones, corregirla o no, cuando la corrige sigue dando el Error 508.

Dado que indicas que faltan 75 paréntesis, y yo no veo que falte ninguno, serías tan amable de hacer funcionar la 2ª fórmula que te indico en este mensaje, porque sinceramente, si no es un error o limitación de LibreOffice, no se que estoy haciendo mal.

Gracias y un saludo Federico
Última edición por articulo47 el Mié Feb 22, 2017 10:06 am, editado 1 vez en total.
LibreOffice 7.5.8.2
macOS Catalina v10.15.7
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Ayuda: Límite caracteres fórmula celda, bug LO o Error 5

Mensaje por fornelasa »

Si, pero sugiero que antes de seguir con el tema de los paréntesis veas la formula que te envía FJCC-ES
Después como cultura, a mi me encantaría, seguimos con este tema de los paréntesis.

Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Avatar de Usuario
articulo47
Mensajes: 63
Registrado: Dom Jun 30, 2013 5:48 pm

Re: Ayuda: Límite caracteres fórmula celda, bug LO o Error 5

Mensaje por articulo47 »

FJCC-ES escribió:¿Hace la fórmula en la celda B12 del archivo adjunto lo que quiere?

Código: Seleccionar todo

=SI(B3 < 20;"Error edad min IAC H"; SI(B3 >=80;"Error edad max IAC H" ;INDICE(F13:I13;COINCIDIR(B9;DESREF(F6;COINCIDIR(B3;E7:E9;1);SI(IGUAL(B2;"Hombre");0;4);1;4);1))))
Hola FJCC-ES,

es la primera vez que veo una fórmula como la que has compartido, y parece que si que hace lo que debería hacer mi fórmula. Muchas gracias, analizaré con detenimiento tu fórmula, ya que me queda mucho por aprender.

Tu primero has creado una tabla con los parámetros y definiciones para luego usarla con la fórmula, mi pretensión era que todo estuviera en una única celda, pero LibreOffice me lanza el error 508, y creo que no es correcto ese error, tengo la impresión de que la fórmula que yo utilizo excede la capacidad que tiene la celda para operar fórmulas, cosa que le sucede a OpenOffice lanzandome Error 512 para la misma fórmula que LibreOffice lanza error 508.

Me gustaría saber respecto a mi fórmula que estoy haciendo mal, o si es LibreOffice que presenta un bug o limitación respecto a mi fórmula.
LibreOffice 7.5.8.2
macOS Catalina v10.15.7
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Ayuda: Límite caracteres fórmula celda, bug LO o Error 5

Mensaje por fornelasa »

El error en Calc OpenOffice es claro, 512 el número total de elementos internos, (esto es, operadores, variables, paréntesis) en la fórmula excede 512.
Dijimos que primero lo primero, por favor en LibreOffice:
Checa el archivo que subiste, en la segunda hoja es claro la diferencia de paréntesis (aprox 75)
Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Avatar de Usuario
articulo47
Mensajes: 63
Registrado: Dom Jun 30, 2013 5:48 pm

Re: Ayuda: Límite caracteres fórmula celda, bug LO o Error 5

Mensaje por articulo47 »

fornelasa escribió:El error en Calc OpenOffice es claro, 512 el número total de elementos internos, (esto es, operadores, variables, paréntesis) en la fórmula excede 512.
Dijimos que primero lo primero, por favor en LibreOffice:
Checa el archivo que subiste, en la segunda hoja es claro la diferencia de paréntesis (aprox 75)
Saludos, Federico.
Hola Federico,

he chequeado varias veces la 2ª hoja que me has indicado que faltan 75 paréntesis aprox., y no veo donde están, quizá sea error mio, pero no localizo el problema. AOO lo dice claramente, error 512, pero creo que el error 508 de LibreOffice no es correcto, porque incluso cuando el programa corrige mi fórmula persiste el error 508.

Según me indicas en esta fórmula faltan 75 paréntesis aprox., ¿donde deben ir?:

Código: Seleccionar todo

=SI((B2>0)Y(B3>0)Y(B4>0);
SI((B3<20)Y(IGUAL(B2;"Hombre"));"Error edad min IAC H";
(SI((B3<40)Y(IGUAL(B2;"Hombre"))Y(B9<0,08);"Bajo de peso";
(SI((B3<40)Y(IGUAL(B2;"Hombre"))Y(B9<0,22);"Saludable";
(SI((B3<40)Y(IGUAL(B2;"Hombre"))Y(B9<0,27);"Sobrepeso";
(SI((B3<40)Y(IGUAL(B2;"Hombre"))Y(B9>=0,27);"Obesidad";
(SI((B3<60)Y(IGUAL(B2;"Hombre"))Y(B9<0,11);"Bajo de peso";
(SI((B3<60)Y(IGUAL(B2;"Hombre"))Y(B9<0,24);"Saludable";
(SI((B3<60)Y(IGUAL(B2;"Hombre"))Y(B9<0,29);"Sobrepeso";
(SI((B3<60)Y(IGUAL(B2;"Hombre"))Y(B9>=0,29);"Obesidad";
(SI((B3<80)Y(IGUAL(B2;"Hombre"))Y(B9<0,13);"Bajo de peso";
(SI((B3<80)Y(IGUAL(B2;"Hombre"))Y(B9<0,26);"Saludable";
(SI((B3<80)Y(IGUAL(B2;"Hombre"))Y(B9<0,31);"Sobrepeso";
(SI((B3<80)Y(IGUAL(B2;"Hombre"))Y(B9>=0,31);"Obesidad";
(SI((B3>=80)Y(IGUAL(B2;"Hombre"));"Error edad max IAC H";
(SI((B3<20)Y(IGUAL(B2;"Mujer"));"Error edad min IAC M";
(SI((B3<40)Y(IGUAL(B2;"Mujer"))Y(B9<0,21);"Bajo de peso";
(SI((B3<40)Y(IGUAL(B2;"Mujer"))Y(B9<0,34);"Saludable";
(SI((B3<40)Y (IGUAL(B2;"Mujer”))Y(B9<0,39);"Sobrepeso";99)))))))))))))))))))))))))))))))))))

Esta fórmula funciona perfectamente, y solo tiene una operación menos (aquí se ve como una línea), y solo tiene 2 paréntesis menos, 1 de apertura y otro de cierre respecto a la fórmula que da error:

Código: Seleccionar todo

=SI((B2>0)Y(B3>0)Y(B4>0);
SI((B3<20)Y(IGUAL(B2;"Hombre"));"Error edad min IAC H";
(SI((B3<40)Y(IGUAL(B2;"Hombre"))Y(B9<0,08);"Bajo de peso";
(SI((B3<40)Y(IGUAL(B2;"Hombre"))Y(B9<0,22);"Saludable";
(SI((B3<40)Y(IGUAL(B2;"Hombre"))Y(B9<0,27);"Sobrepeso";
(SI((B3<40)Y(IGUAL(B2;"Hombre"))Y(B9>=0,27);"Obesidad";
(SI((B3<60)Y(IGUAL(B2;"Hombre"))Y(B9<0,11);"Bajo de peso";
(SI((B3<60)Y(IGUAL(B2;"Hombre"))Y(B9<0,24);"Saludable";
(SI((B3<60)Y(IGUAL(B2;"Hombre"))Y(B9<0,29);"Sobrepeso";
(SI((B3<60)Y(IGUAL(B2;"Hombre"))Y(B9>=0,29);"Obesidad";
(SI((B3<80)Y(IGUAL(B2;"Hombre"))Y(B9<0,13);"Bajo de peso";
(SI((B3<80)Y(IGUAL(B2;"Hombre"))Y(B9<0,26);"Saludable";
(SI((B3<80)Y(IGUAL(B2;"Hombre"))Y(B9<0,31);"Sobrepeso";
(SI((B3<80)Y(IGUAL(B2;"Hombre"))Y(B9>=0,31);"Obesidad";
(SI((B3>=80)Y(IGUAL(B2;"Hombre"));"Error edad max IAC H";
(SI((B3<20)Y(IGUAL(B2;"Mujer"));"Error edad min IAC M";
(SI((B3<40)Y(IGUAL(B2;"Mujer"))Y(B9<0,21);"Bajo de peso";
(SI((B3<40)Y(IGUAL(B2;"Mujer"))Y(B9<0,34);"Saludable";99))))))))))))))))))))))))))))))))))
Si fueras tan amable, podrías indicar donde deben ir los 75 paréntesis que faltan, yo he probado ha introducir 75 de cierre al final de la fórmula y sigue persistiendo el error 508.

Gracias de antemano
Última edición por articulo47 el Mié Feb 22, 2017 10:05 am, editado 1 vez en total.
LibreOffice 7.5.8.2
macOS Catalina v10.15.7
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Ayuda: Límite caracteres fórmula celda, bug LO o Error 5

Mensaje por fornelasa »

Bajo tu archivo comprimido, lo descomprimo y sin hacer nada me da esto:

Imagen

Si tu haces lo mismo y no te da lo que a mi, entonces a lo mejor hay una incompatibilidad entre mac y windows.
En la imagen es claro los 75 parentesis de más.

Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Avatar de Usuario
articulo47
Mensajes: 63
Registrado: Dom Jun 30, 2013 5:48 pm

Re: Ayuda: Límite caracteres fórmula celda, bug LO o Error 5

Mensaje por articulo47 »

fornelasa escribió:Bajo tu archivo comprimido, lo descomprimo y sin hacer nada me da esto:

Si tu haces lo mismo y no te da lo que a mi, entonces a lo mejor hay una incompatibilidad entre mac y windows.
En la imagen es claro los 75 parentesis de más.

Saludos, Federico.
Creo que he localizado parte del problema.

La cantidad de paréntesis de cierre que aparecen al final de la fórmula de la hoja 2 son 111, pero cuando yo introduzco la fórmula son 35, es decir, copio en la celda la fórmula con 35 paréntesis de cierre y al pulsar intro, me genera 76 mas de cierre, es algo que hace automáticamente LibreOffice, no está respetando mi fórmula.

¿Podrías copiar y pegar esta fórmula en la celda de la hoja 2 y darle al intro?:

Código: Seleccionar todo

=SI((B2>0)Y(B3>0)Y(B4>0);
SI((B3<20)Y(IGUAL(B2;"Hombre"));"Error edad min IAC H";
(SI((B3<40)Y(IGUAL(B2;"Hombre"))Y(B9<0,08);"Bajo de peso";
(SI((B3<40)Y(IGUAL(B2;"Hombre"))Y(B9<0,22);"Saludable";
(SI((B3<40)Y(IGUAL(B2;"Hombre"))Y(B9<0,27);"Sobrepeso";
(SI((B3<40)Y(IGUAL(B2;"Hombre"))Y(B9>=0,27);"Obesidad";
(SI((B3<60)Y(IGUAL(B2;"Hombre"))Y(B9<0,11);"Bajo de peso";
(SI((B3<60)Y(IGUAL(B2;"Hombre"))Y(B9<0,24);"Saludable";
(SI((B3<60)Y(IGUAL(B2;"Hombre"))Y(B9<0,29);"Sobrepeso";
(SI((B3<60)Y(IGUAL(B2;"Hombre"))Y(B9>=0,29);"Obesidad";
(SI((B3<80)Y(IGUAL(B2;"Hombre"))Y(B9<0,13);"Bajo de peso";
(SI((B3<80)Y(IGUAL(B2;"Hombre"))Y(B9<0,26);"Saludable";
(SI((B3<80)Y(IGUAL(B2;"Hombre"))Y(B9<0,31);"Sobrepeso";
(SI((B3<80)Y(IGUAL(B2;"Hombre"))Y(B9>=0,31);"Obesidad";
(SI((B3>=80)Y(IGUAL(B2;"Hombre"));"Error edad max IAC H";
(SI((B3<20)Y(IGUAL(B2;"Mujer"));"Error edad min IAC M";
(SI((B3<40)Y(IGUAL(B2;"Mujer"))Y(B9<0,21);"Bajo de peso";
(SI((B3<40)Y(IGUAL(B2;"Mujer"))Y(B9<0,34);"Saludable";
(SI((B3<40)Y (IGUAL(B2;"Mujer”))Y(B9<0,39);"Sobrepeso";99)))))))))))))))))))))))))))))))))))
La fórmula tiene 35 paréntesis al final de la misma, cuando pulses intro, si te pasa como a mi, te generará 76 mas.

Esto tiene que ser un bug, ¿no crees?.
LibreOffice 7.5.8.2
macOS Catalina v10.15.7
FJCC-ES
Mensajes: 873
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: Límite caracteres fórmula celda, bug LO o Error 508

Mensaje por FJCC-ES »

En una celda

Código: Seleccionar todo

=SI(B3 < 20;"Error edad min IAC H"; SI(B3 >=80;"Error edad max IAC H" ;
SI(Y(IGUAL(B2;"Hombre"); B3<40);ELEGIR(COINCIDIR(B9;{0;0,08;0,22;0,27};1);"Bajo de peso";"Saludable";"Sobrepeso";"Obesidad");
SI(Y(IGUAL(B2;"Hombre"); B3<60);ELEGIR(COINCIDIR(B9;{0;0,11;0,24;0,29};1);"Bajo de peso";"Saludable";"Sobrepeso";"Obesidad");
SI(IGUAL(B2;"Hombre");ELEGIR(COINCIDIR(B9;{0;0,13;0,26;0,31};1);"Bajo de peso";"Saludable";"Sobrepeso";"Obesidad");
SI(Y(IGUAL(B2;"Mujer"); B3<40);ELEGIR(COINCIDIR(B9;{0;0,21;0,34;0,39};1);"Bajo de peso";"Saludable";"Sobrepeso";"Obesidad");
SI(Y(IGUAL(B2;"Mujer"); B3<60);ELEGIR(COINCIDIR(B9;{0;0,23;0,36;0,41};1);"Bajo de peso";"Saludable";"Sobrepeso";"Obesidad");
SI(IGUAL(B2;"Mujer");ELEGIR(COINCIDIR(B9;{0;0,25;0,39;0,43};1);"Bajo de peso";"Saludable";"Sobrepeso";"Obesidad")))))))))
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Límite caracteres fórmula celda, bug LO o Error 508

Mensaje por fornelasa »

Prueba hecha en LibreOffice.
Parece que ya no da error (aunque no sé si la formula haga lo que deseas)
Saludos, Federico.
Adjuntos
IAC_error.ods
No error 508
(17.12 KiB) Descargado 128 veces
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Avatar de Usuario
articulo47
Mensajes: 63
Registrado: Dom Jun 30, 2013 5:48 pm

Re: Límite caracteres fórmula celda, bug LO o Error 508

Mensaje por articulo47 »

fornelasa escribió:Prueba hecha en LibreOffice.
Parece que ya no da error (aunque no sé si la formula haga lo que deseas)
Saludos, Federico.
Hola Federico,

el final de la fórmula te queda así:

Código: Seleccionar todo

(SI((B3<40)Y (IGUAL(B2;"Mujer”))Y(B9<0,39);")))))))))))))))))))))))))))))))))))
cuando debería estar así:

Código: Seleccionar todo

(SI((B3<40)Y (IGUAL(B2;"Mujer”))Y(B9<0,39);"Sobrepeso";99)))))))))))))))))))))))))))))))))))
(SI((B3<40)Y (IGUAL(B2;"Mujer”))Y(B9<0,39);"Sobrepeso";99)))))))))))))))))))))))))))))))))))

La parte subrayada ha sido eliminada, esto también me había sucedido a mi en algunas pruebas, y deja sin dar respueta a Mujeres menores de 40 con un % de grasa de entre 34-38%, por lo que no funciona para ese parámetro.

Sinceramente, creo que es un bug o limitación de LibreOffice por la longitud o características de la fórmula, ya que la misma sigue sin funcionar, y el hecho de que genere paréntesis "extra" por su cuenta LibreOffice no me parece normal.

Gracias por tu interés y ayuda.
LibreOffice 7.5.8.2
macOS Catalina v10.15.7
Avatar de Usuario
articulo47
Mensajes: 63
Registrado: Dom Jun 30, 2013 5:48 pm

Re: Límite caracteres fórmula celda, bug LO o Error 508

Mensaje por articulo47 »

FJCC-ES escribió:En una celda

Código: Seleccionar todo

=SI(B3 < 20;"Error edad min IAC H"; SI(B3 >=80;"Error edad max IAC H" ;
SI(Y(IGUAL(B2;"Hombre"); B3<40);ELEGIR(COINCIDIR(B9;{0;0,08;0,22;0,27};1);"Bajo de peso";"Saludable";"Sobrepeso";"Obesidad");
SI(Y(IGUAL(B2;"Hombre"); B3<60);ELEGIR(COINCIDIR(B9;{0;0,11;0,24;0,29};1);"Bajo de peso";"Saludable";"Sobrepeso";"Obesidad");
SI(IGUAL(B2;"Hombre");ELEGIR(COINCIDIR(B9;{0;0,13;0,26;0,31};1);"Bajo de peso";"Saludable";"Sobrepeso";"Obesidad");
SI(Y(IGUAL(B2;"Mujer"); B3<40);ELEGIR(COINCIDIR(B9;{0;0,21;0,34;0,39};1);"Bajo de peso";"Saludable";"Sobrepeso";"Obesidad");
SI(Y(IGUAL(B2;"Mujer"); B3<60);ELEGIR(COINCIDIR(B9;{0;0,23;0,36;0,41};1);"Bajo de peso";"Saludable";"Sobrepeso";"Obesidad");
SI(IGUAL(B2;"Mujer");ELEGIR(COINCIDIR(B9;{0;0,25;0,39;0,43};1);"Bajo de peso";"Saludable";"Sobrepeso";"Obesidad")))))))))
Hola FJCC,

tu fórmula para una celda es una maravilla, y además, la entiendo mejor que la vinculada a la tabla que me enviaste inicialmente.

La he adaptado para que los errores de edad mínimos y máximos sean diferentes para hombres y mujeres.

Código: Seleccionar todo

=SI(Y(IGUAL(B2;"Hombre"); B3<20);"Error edad min Hombre";SI(Y(IGUAL(B2;"Hombre"); B3>=80);"Error edad max Hombre";SI(Y(IGUAL(B2;"Hombre"); B3<40);ELEGIR(COINCIDIR(B9;{0;0,08;0,22;0,27};1);"Bajo de peso";"Saludable";"Sobrepeso";"Obesidad");SI(Y(IGUAL(B2;"Hombre"); B3<60);ELEGIR(COINCIDIR(B9;{0;0,11;0,24;0,29};1);"Bajo de peso";"Saludable";"Sobrepeso";"Obesidad");SI(IGUAL(B2;"Hombre");ELEGIR(COINCIDIR(B9;{0;0,13;0,26;0,31};1);"Bajo de peso";"Saludable";"Sobrepeso";"Obesidad");SI(Y(IGUAL(B2;"Mujer"); B3<20);"Error edad min Mujer";SI(Y(IGUAL(B2;"Mujer"); B3>=80);"Error edad max Mujer";SI(Y(IGUAL(B2;"Mujer"); B3<40);ELEGIR(COINCIDIR(B9;{0;0,21;0,34;0,39};1);"Bajo de peso";"Saludable";"Sobrepeso";"Obesidad");SI(Y(IGUAL(B2;"Mujer"); B3<60);ELEGIR(COINCIDIR(B9;{0;0,23;0,36;0,41};1);"Bajo de peso";"Saludable";"Sobrepeso";"Obesidad");SI(IGUAL(B2;"Mujer");ELEGIR(COINCIDIR(B9;{0;0,25;0,39;0,43};1);"Bajo de peso";"Saludable";"Sobrepeso";"Obesidad")))))))))))
Como no veo que pueda implementar mi fórmula en una sola celda (sigo pensando que es un bug de LibreOffice), voy a optar por la tuya con la variación indicada, ya que además es mucho mas sencilla de editar.

Gracias por tu ayuda.
LibreOffice 7.5.8.2
macOS Catalina v10.15.7
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Límite caracteres fórmula celda, bug LO o Error 508

Mensaje por fornelasa »

En LibreOffice:
Parece que el problema lo está ocasionando un "mugroso" carácter :lol: chequemos las comillas dobles que no son comillas dobles, sino que son todo lo contrario. :mrgreen:
En la segunda hoja, Veamos la "comilla doble" al final en Mujer
(SI((B3<40)Y (IGUAL(B2;"Mujer”))Y(B9<0,39);"Sobrepeso";99)
Baja tu archivo, corrige la disque comilla doble y ¡funciona!

Saludos, Federico.
Adjuntos
IAC_error.ods
Creo ...... sin error.
(15.03 KiB) Descargado 105 veces
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Avatar de Usuario
articulo47
Mensajes: 63
Registrado: Dom Jun 30, 2013 5:48 pm

Re: Límite caracteres fórmula celda, bug LO o Error 508

Mensaje por articulo47 »

fornelasa escribió:En LibreOffice:
Parece que el problema lo está ocasionando un "mugroso" carácter :lol: chequemos las comillas dobles que no son comillas dobles, sino que son todo lo contrario. :mrgreen:
En la segunda hoja, Veamos la "comilla doble" al final en Mujer
(SI((B3<40)Y (IGUAL(B2;"Mujer”))Y(B9<0,39);"Sobrepeso";99)
Baja tu archivo, corrige la disque comilla doble y ¡funciona!

Saludos, Federico.
Hola Federico,

efectivamente el error está en las comillas que indicas, pero que solo consigo verlas claramente en el modo código de los mensajes de este foro:

Con error:

Código: Seleccionar todo

 (SI((B3<40)Y(IGUAL(B2;"Mujer”))Y(B9<0,39);"Sobrepeso";99)
Sin error:

Código: Seleccionar todo

(SI((B3<40)Y(IGUAL(B2;"Mujer"))Y(B9<0,39);"Sobrepeso";99)

Creo que el error de comillas, se ha producido al ir redactando la fórmula en Writer y hacer un cambio de fuente de letra, cambiando las comillas válidas para Calc por otras que no lo son.

Sin embargo, LibreOffice ante este error de comillas, genera automáticamente paréntesis de cierre extras (en mi caso 76) al pulsar intro, por lo que tras ello indica Error 508, y esto nos confunde.

Finalmente, subsanado el error de las comillas que derivaba en Error 508, ya he podido introducir mi fórmula completa, pero me ha lanzado el Error 514, por lo que no la puedo utilizar.

https://help.libreoffice.org/Calc/Error ... in_Calc/es

Aquí la fórmula con Error 514:

Código: Seleccionar todo

=SI((B2>0)Y(B3>0)Y(B4>0); SI((B3<20)Y(IGUAL(B2;"Hombre"));"Error edad min IAC H"; (SI((B3<40)Y(IGUAL(B2;"Hombre"))Y(B9<0,08);"Bajo de peso"; (SI((B3<40)Y(IGUAL(B2;"Hombre"))Y(B9<0,22);"Saludable"; (SI((B3<40)Y(IGUAL(B2;"Hombre"))Y(B9<0,27);"Sobrepeso"; (SI((B3<40)Y(IGUAL(B2;"Hombre"))Y(B9>=0,27);"Obesidad"; (SI((B3<60)Y(IGUAL(B2;"Hombre"))Y(B9<0,11);"Bajo de peso"; (SI((B3<60)Y(IGUAL(B2;"Hombre"))Y(B9<0,24);"Saludable"; (SI((B3<60)Y(IGUAL(B2;"Hombre"))Y(B9<0,29);"Sobrepeso"; (SI((B3<60)Y(IGUAL(B2;"Hombre"))Y(B9>=0,29);"Obesidad"; (SI((B3<80)Y(IGUAL(B2;"Hombre"))Y(B9<0,13);"Bajo de peso"; (SI((B3<80)Y(IGUAL(B2;"Hombre"))Y(B9<0,26);"Saludable"; (SI((B3<80)Y(IGUAL(B2;"Hombre"))Y(B9<0,31);"Sobrepeso"; (SI((B3<80)Y(IGUAL(B2;"Hombre"))Y(B9>=0,31);"Obesidad"; (SI((B3>=80)Y(IGUAL(B2;"Hombre"));"Error edad max IAC H"; (SI((B3<20)Y(IGUAL(B2;"Mujer"));"Error edad min IAC M"; (SI((B3<40)Y(IGUAL(B2;"Mujer"))Y(B9<0,21);"Bajo de peso"; (SI((B3<40)Y(IGUAL(B2;"Mujer"))Y(B9<0,34);"Saludable"; (SI((B3<40)Y(IGUAL(B2;"Mujer"))Y(B9<0,39);"Sobrepeso"; (SI((B3<40)Y(IGUAL(B2;"Mujer"))Y(B9>=0,39);"Obesidad"; (SI((B3<60)Y(IGUAL(B2;"Mujer"))Y(B9<0,23);"Bajo de peso"; (SI((B3<60)Y(IGUAL(B2;"Mujer"))Y(B9<0,36);"Saludable"; (SI((B3<60)Y(IGUAL(B2;"Mujer"))Y(B9<0,41);"Sobrepeso"; (SI((B3<60)Y(IGUAL(B2;"Mujer"))Y(B9>=0,41);"Obesidad"; (SI((B3<80)Y(IGUAL(B2;"Mujer"))Y(B9<0,25);"Bajo de peso"; (SI((B3<80)Y(IGUAL(B2;"Mujer"))Y(B9<0,39);"Saludable"; (SI((B3<80)Y(IGUAL(B2;"Mujer"))Y(B9<0,43);"Sobrepeso"; (SI((B3<80)Y(IGUAL(B2;"Mujer"))Y(B9>=0,43);"Obesidad"; (SI((B3>=80)Y(IGUAL(B2;"Mujer"));"Error edad max IAC M"))))))))))))))))))))))))))))))))))))))))))))))))))))))))
Gracias por localizar el error de las comillas Federico, es algo que puede pasar desapercibido y genera un problema.

Gracias FJCC dado que mi fórmula presenta el Error 514, la tuya es la que utilizaré.
LibreOffice 7.5.8.2
macOS Catalina v10.15.7
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: [RESUELTO] Comillas inválidas en Calc, Error 508 y Error

Mensaje por fornelasa »

En este caso el error 514 viene de las anidaciones (38 o 39 o tal vez 40):
https://forum.openoffice.org/es/forum/v ... =21&t=4940
Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Responder