Monday, May 9, 2011

Porque lo "VERDADERO" no es VERDADERO

En Excel, hay dos palabras que aunque las escribamos directamente no se interpetan como texto... verdadero y falso (Excel en español). A pesar de que, a menudo, no seamos consciente de ello, al escribir estas dos palabras, se convierten a mayúsculas y quedan centradas en la celda. Son valores lógicos.

De hecho podemos escribir verdadero como texto, por ejemplo escribiendo ="VERDADERO" o 'VERDADERO. Pero entonces será un valor distinto. Y puede que no funcione como lo esperemos. La confusión entre el "VERDADERO" (texto) y el VERDADERO (lógico) genera dificultades y alguna que otra sorpresa. Por ello, este comentario...

En una celda, el valor lógico se escribe directamente (VERDADERO FALSO) o mediante la función correspondiente: =VERDADERO() o =FALSO(). El texto, con un apóstrofe delante o entre comillas, ="VERDADERO". En una fórmula, el texto se escribe entre comillas "VERDADERO" y el valor lógico sin ellas, VERDADERO.

Antes de ver algunos ejemplos y curiosidades, citar el efecto que estas diferencias tienen en entornos internacionales. El valor lógico se traduce de forma automática al idioma de la versión de Excel en uso. El texto, no; con lo cual el valor lógico permite construir interfaces más usables.


En las filas 2 y 14, se han introducido los valores lógicos (columna A) y de texto (columna B) y, en las siguientes filas, se han hecho los cálculos que se indican en la columna C, observándose que:
  • Los valores lógicos y de texto no son comparables. Son distintos.
  • La función CONTAR.SI solo cuenta los valores lógicos aunque usemos construcciones que parecerían referirse a la entrada como texto. ¡La entrada como texto no se cuenta ni cuando contamos valores iguales a sí mismo!
  • Los valores lógicos se cuentan igual que los de texto; se incluyen en un CONTARA y no en un CONTAR.
  • Las funciones lógicas Y y O ignoran los valores introducidos como texto.
Pero esto es en Excel, os añado la misma hoja abierta en OpenOffice Calc...


En Calc, el CONTAR.SI cuenta los valores de texto y el valor lógico se cuenta con CONTAR (de hecho internamente es un número). ¡Cuidado al crear hojas de cálculo compatibles con ambos sistemas!

Si ya lo dicen los filósofos que el concepto de verdad es problemático...