Mostrando entradas con la etiqueta ESPACIOS. Mostrar todas las entradas
Mostrando entradas con la etiqueta ESPACIOS. Mostrar todas las entradas

miércoles, 16 de noviembre de 2011

Evitar Espacios Innecesarios al Introducir Textos

"Quisiera saber si hay alguna manera de evitar que por descuido se puedan introducir espacios al principio y al final de una introducción de texto en una celda de Excel y de igual forma impedir que se introduzca más de un espacio entre dos palabras".

Vamos a resolver este problema de una manera bien sencilla con dos funciones (ESPACIOS y LARGO) y una herramienta (Validación de datos). Partimos del siguiente ejemplo:


Lo que queremos conseguir es que si al introducir texto en las celdas de entrada (en este ejemplo rango B3:B7) introducimos espacios en blanco, ya sea al principio, al final o en el medio excel nos devuelva un mensaje de error y no nos permita continuar hasta que corrijamos dicho problema. Como se puede ver en la siguiente imagen, si introducimos espacios innecesarios en la entrada de texto, excel nos devuelve el mensaje de error correspondiente:


Para conseguir esto tenemos que seguir los siguientes pasos:

1. Seleccionamos el rango B3:B7
2. Vamos al menú Datos/Validación de datos
3. En Criterio de validación/Permitir seleccionamos la opción de Longitud de texto.
4. En Criterio de validación/Datos seleccionamos Igual a.
5. En Criterio de validación/Longitud escribimos la siguiente fórmula:

=LARGO(ESPACIOS(B3))


6. En la pestaña de Mensaje de error seleccionamos el Estilo Límite o Grave (según la versión) y personalizamos el mensaje que queremos que aparezca si cometemos un error.


Espacios(B3) quita todos los espacios del texto excepto los espacios entre palabras. La función Largo cuenta el número de caracteres que hay en una celda. Al anidar la función Espacios dentro de la función Largo LARGO(ESPACIOS(B3)) lo que estamos haciendo es calcular el número de caracteres que tiene una entrada de texto una vez hecha la limpieza de espacios en blanco innecesarios. Si dicho número coincide con la longitud del texto que introducimos en B3 entonces significará que no hay espacios en blanco y que, por lo tanto, la entrada es correcta. Si por el contrario el número de caracteres que tiene la entrada de texto difiere del calculado por la fórmula explicada entonces sólo puede ser debido a que existan espacios en blanco que deben ser corregidos.

martes, 18 de mayo de 2010

Comparar Cadenas de Texto


"A menudo tengo que comparar más de 500 entradas de texto (listados de nombres y apellidos). Es importante que las columnas que comparo sean idénticas (mayúsculas, tildes, etc...) ¿Es inevitable utilizar condicionales? ¿Hay alguna fórmula sencilla que lo solucione?"

En respuesta a las dos preguntas: No es necesario utilizar condicionales; y sí hay una fórmula muy sencilla que solucione el problema descrito. Empecemos como siempre poniendo un ejemplo:


Para comparar los nombres existentes en la lista 1 y en la lista 2 vamos a utilizar dos métodos distintos. Con el primero vamos a comparar si el texto introducido en, por ejemplo, la celda B4 es el mismo que el introducido en la celda C4, independientemente de si se han escrito con mayúsculas o no. Para ello nos situamos en la celda E4 y escribimos la siguiente fórmula:

=B4=C4

Los resultados posibles ante este tipo de fórmulas son VERDADERO o FALSO. En nuestro caso la solución será VERDADERO ya que el texto de B4 es el mismo que el de C4. Pero si lo que nos interesa es comprobar que si además de contener el mismo texto está escrito exactamente de la misma manera entonces tendremos que utilizar la función IGUAL. Para ello nos situamos en la celda F4 y escribimos:

=IGUAL (B4;C4)

La función IGUAL compara dos cadenas de texto y devuelve VERDADERO si son exactamente iguales y FALSO si no lo son. Esta función diferencia mayúsculas y minúsculas, pero pasa por alto las diferencias de formato. En la siguiente tabla puede ver distintos ejemplos de cadenas de texto y el resultado de aplicar el primer y el segundo método:


Diferenciar entre mayúsculas y minúsculas es una tarea bastante sencilla (aunque, evidentemente, es mejor automatizarla, especialmente si el número de entradas es muy elevado) pero no lo es tanto diferenciar cadenas de texto aparentemente iguales pero que contienen espacios antes o después de dicha cadena (localizar espacios en el medio de una cadena de texto también resulta bastante sencillo, en principio). Para evitar este problema puede utilizar la función ESPACIOS. Esta función elimina los espacios del texto, excepto el espacio normal que se deja entre palabras. Fíjese que las celdas B6 y C6 son aparentemente idénticas. Pero B6 contiene un espacio después del nombre. Para "limpiar" dicho espacio aplique la fórmula ESPACIOS (B6).