¿Te has encontrado alguna vez lidiando con hojas de cálculo de Excel desordenadas, llenas de espacios en blanco y líneas vacías que dificultan tu trabajo? ¡No te preocupes más! En este artículo te mostraremos cómo utilizar expresiones regulares (Regex) para limpiar tus datos de forma rápida y efectiva. Con unos sencillos pasos, podrás optimizar tus hojas de cálculo, mejorar la legibilidad de tus informes y aumentar tu productividad. Prepárate para descubrir el poder de Regex y transforma tus archivos de Excel en documentos impecables. ¡Comencemos!
¿Alguna vez has trabajado con hojas de cálculo en Excel y te has encontrado con espacios en blanco y líneas vacías que arruinan tus datos? ¡No te preocupes más! En este artículo, te enseñaremos una herramienta poderosa para eliminar esos molestos espacios y líneas vacías de manera rápida y eficiente: las expresiones regulares, conocidas como Regex. Aprenderás cómo utilizar esta funcionalidad dentro de Excel para mejorar la calidad y limpieza de tus datos. ¡No te lo pierdas!
¿Desea gestionar los espacios en blanco de la forma más eficaz? Utilice expresiones regulares para eliminar todos los espacios de una celda, reemplazar varios espacios con un solo carácter, recortar espacios solo entre números y más.
Independientemente de los datos de entrada que utilice, difícilmente encontrará un conjunto de datos sin espacios. En la mayoría de los casos, los espacios en blanco son buenos: se utilizan para separar visualmente diferentes piezas de información para que sea más fácil de percibir. En algunas situaciones, sin embargo, puede volverse malo: los espacios adicionales pueden estropear tus fórmulas y hacer que tus hojas de trabajo sean casi inmanejables.
Cómo habilitar expresiones regulares en Excel
Es un hecho bien conocido que Excel listo para usar no admite expresiones regulares. Para habilitarlos, necesita crear una función VBA personalizada. Por suerte ya tenemos uno, llamado RegExpReemplazar. Espera, ¿por qué «reemplazar» mientras hablamos de eliminar? En el lenguaje Excel, «eliminar» es simplemente otra palabra para «reemplazar con una cadena vacía» 🙂
Para agregar la función a su Excel, simplemente copie su código de esta página, péguelo en el editor VBA y guarde su archivo como libro de trabajo habilitado para macros (.xlsm).
Aquí está la sintaxis de la función para su referencia:
RegExpReplace(texto, patrón, reemplazo, [instance_num], [match_case])
Los primeros tres argumentos son obligatorios, los dos últimos son opcionales.
Dónde:
- Texto – la cadena original para buscar.
- Patrón – la expresión regular a buscar.
- Reemplazo – el texto a reemplazar. A eliminar espacios en blancoestablecerías este argumento en:
- cuerda vacía («») para recortar absolutamente todos los espacios
- espacio personaje (» «) para reemplazar múltiples espacios con un solo carácter de espacio
- núm_instancia (opcional): el número de instancia. En la mayoría de los casos, lo omitirá para reemplazar todas las instancias (predeterminado).
- caso_partido (opcional): un valor booleano que indica si se debe hacer coincidir (VERDADERO) o ignorar (FALSO) el texto entre mayúsculas y minúsculas. Para los espacios en blanco, es irrelevante y, por lo tanto, se omite.
Para obtener más información, consulte la función RegExpReplace.
Cómo eliminar espacios en blanco con expresiones regulares – ejemplos
Con la función RegExpReplace agregada a su libro de trabajo, abordemos diferentes escenarios uno a la vez.
Eliminar todos los espacios en blanco usando expresiones regulares
Para eliminar todos los espacios en una cadena, simplemente busque cualquier carácter de espacio en blanco, incluido un espacio, una tabulación, un retorno de carro y un salto de línea, y reemplácelos con una cadena vacía («»).
Patrón:s+
Reemplazo: «»
Suponiendo que la cadena de origen está en A5, la fórmula en B5 es:
=RegExpReplace(A5, «s+», «»)
Para que sea más fácil administrar sus patrones, puede ingresar la expresión regular en una celda predefinida y proporcionarla a la fórmula usando una referencia absoluta como $A$2, de modo que la dirección de la celda permanecerá sin cambios al copiar la fórmula en la columna.
=RegExpReplace(A5, $A$2, «»)
>Eliminar más de un espacio en blanco
Para eliminar espacios en blanco adicionales (es decir, más de un espacio consecutivo), use la misma expresión regular s+ pero reemplace las coincidencias encontradas con un solo carácter de espacio.
Patrón:s+
Reemplazo: » «
=RegExpReplace(A5, «s+», » «)
>Preste atención a que esta fórmula mantiene un carácter de espacio no solo entre palabras sino también al principio y al final de una cadena, lo cual no es bueno. Para deshacerse de los espacios en blanco iniciales y finales, anide la fórmula anterior en otra función RegExpReplace que quita espacios desde el principio y el final:
=RegExpReplace(RegExpReplace(A5, «s+», » «), «^[s]+|[s]+$», «»)
>Regex para eliminar espacios en blanco iniciales y finales
Para buscar espacios en blanco al principio o al final de una línea, utilice los anclajes start ^ y end $.
Principal espacio en blanco:
Patrón: ^[s]+
Seguimiento espacio en blanco:
Patrón: [s]+$
Principal y siguiendo espacio en blanco:
Patrón: ^[s]+|[s]+$
Cualquiera que sea la expresión regular que elija, reemplace las coincidencias con nada.
Reemplazo: «»
Por ejemplo, para eliminar todos los espacios al principio y al final de una cadena en A5, la fórmula es:
=RegExpReplace(A5, «^[s]+|[s]+$», «»)
Como se muestra en la captura de pantalla siguiente, esto solo elimina los espacios en blanco iniciales y finales. Los espacios entre las palabras permanecen intactos creando una vista visualmente agradable para el ojo del lector.
>Elimine los espacios en blanco adicionales pero mantenga los saltos de línea
Cuando trabaje con cadenas de varias líneas, es posible que desee deshacerse de los espacios adicionales pero conservar los saltos de línea. Para hacer esto, en lugar del carácter de espacio en blanco s, busque espacios [ ] o espacios y tabulaciones [t ]. El último patrón resulta útil cuando los datos de origen se importan desde otra fuente, por ejemplo, un editor de texto.
En el siguiente conjunto de datos, suponga que desea recortar todos los espacios iniciales/finales y todos los espacios intermedios menos uno, manteniendo intactas varias líneas. Para realizar la tarea, necesitará dos funciones RegExpReplace diferentes.
La primera función reemplaza múltiples espacios con un solo carácter de espacio.
=RegExpReplace(A5, » +», » «)
El otro elimina los espacios del principio y del final de una línea:
=RegExpReplace(A5, «^ +| +$», «»)
Simplemente anide las dos funciones una dentro de la otra:
=RegExpReplace(RegExpReplace(A5, » +», » «), «^ +| +$», «»)
Y obtendrás un resultado perfecto:
>Regex para reemplazar múltiples espacios con un carácter
En caso de que quieras eliminar todos los espacios de una cadena y reemplazar cada grupo de espacios consecutivos con un carácter específico, esto es lo que debes hacer:
Primer uso esta expresión regular para recortar los espacios en blanco iniciales y finales:
=RegExpReplace(A8, «^[s]+|[s]+$», «»)
Luego, cumpla la función anterior al texto argumento de otro RegExpReplace que reemplaza uno o más espacios en blanco consecutivos con el carácter que especifique, por ejemplo, un guión:
Patrón:s+
Reemplazo: –
Suponiendo que la cadena fuente está en A8, la fórmula toma esta forma:
=RegExpReplace(RegExpReplace(A8, «^[s]+|[s]+$», «»), «s+», «-«)
O puede ingresar los patrones y reemplazos en celdas separadas como se muestra en la captura de pantalla:
>Regex para eliminar líneas vacías
Aquí hay una pregunta que los usuarios que tienen varias líneas en una celda hacen con frecuencia: «Hay muchas líneas en blanco en mis celdas. ¿Hay alguna forma de deshacerse de ellas además de revisar cada celda y eliminar cada línea manualmente?» La respuesta: ¡Eso es fácil!
Para hacer coincidir líneas vacías que no tienen un solo carácter desde el inicio ^ de la línea actual hasta la siguiente línea n, la expresión regular es:
Patrón: ^n
Si sus líneas visualmente en blanco contienen espacios o tabulaciones, utilice esta expresión regular:
Patrón: ^[t ]*norte
Simplemente reemplace la expresión regular con una cadena vacía usando esta fórmula, ¡y todas las líneas en blanco desaparecerán de inmediato!
=RegExpReplace(A5, $A$2, «»)
>
Los ejemplos anteriores han demostrado sólo una pequeña parte de las maravillosas posibilidades que ofrecen las expresiones regulares. Desafortunadamente, no todas las funciones de las expresiones regulares clásicas están disponibles en VBA.
Afortunadamente, las herramientas RegEx incluidas con nuestro Ultimate Suite están libres de estas limitaciones ya que son procesadas por el motor .NET RegEx de Microsoft. Esto le permite construir patrones más sofisticados que no son compatibles con VBA RegExp. A continuación encontrará un ejemplo de dicha expresión regular.
Regex para eliminar el espacio entre números
En una cadena alfanumérica, supongamos que desea eliminar espacios en blanco sólo entre números, por lo que una cadena como «A 1 2 B» se convierte en «A 12 B».
Para hacer coincidir un espacio en blanco entre dos dígitos cualesquiera, puede utilizar las siguientes alternativas:
Patrón: (?<=d)s+(?=d)
Para crear una fórmula basada en las expresiones regulares anteriores, aquí hay dos pasos sencillos de realizar:
> Para obtener los resultados como fórmulas, no como valores, recuerde marcar la casilla Insertar como fórmula casilla de verificación.
>
En un momento verás el AblebitsRegexEliminar función insertada en una nueva columna a la derecha de los datos originales.
Alternativamente, puede ingresar la expresión regular en alguna celda, digamos A5, e insertar la fórmula directamente en una celda usando el Función de inserción cuadro de diálogo, donde AblebitsRegexEliminar se clasifica en AblebitsUDF.
Como esta función está especialmente diseñada para eliminar cadenas, solo requiere dos argumentos: la cadena de entrada y la expresión regular:
=AblebitsRegexRemove(A5, $A$2)
>
Así es como se eliminan espacios en Excel usando expresiones regulares. ¡Te agradezco por leer y espero verte en nuestro blog la próxima semana!
Elimine espacios en blanco y líneas vacías en Excel usando Regex
En Excel, los espacios en blanco y las líneas vacías pueden ser un dolor de cabeza cuando se trabaja con grandes conjuntos de datos. Afortunadamente, hay una solución para esto utilizando expresiones regulares (Regex). En este artículo, aprenderás cómo eliminar eficientemente estos espacios y líneas vacías en Excel usando Regex.
¿Qué es Regex?
Regex es un conjunto de patrones de búsqueda utilizados para realizar búsquedas y manipulaciones de texto. Puedes utilizar Regex en varios programas y lenguajes de programación para buscar y reemplazar texto basado en patrones predefinidos.
En Excel, puedes utilizar Regex para buscar y eliminar espacios en blanco y líneas vacías. Esto es especialmente útil cuando tienes datos importados de otras fuentes que contienen espacios innecesarios.
Eliminar espacios en blanco usando Regex
Para eliminar los espacios en blanco de tus datos en Excel usando Regex, sigue estos pasos:
Con estos simples pasos, todos los espacios en blanco en tus datos serán eliminados y tendrás una hoja de cálculo más limpia y fácil de trabajar.
Eliminar líneas vacías usando Regex
Si también deseas eliminar líneas vacías en Excel, puedes seguir estos pasos adicionales:
Con estos pasos adicionales, todas las líneas vacías en tus datos serán eliminadas y tendrás una hoja de cálculo más compacta sin líneas innecesarias.
Recuerda que siempre es importante guardar una copia de seguridad de tus datos antes de realizar cualquier modificación, incluso cuando utilices Regex. Esto te protegerá en caso de cualquier error o pérdida de información.
¡Esperamos que este artículo te haya ayudado a utilizar Regex para eliminar espacios en blanco y líneas vacías en Excel! Si deseas aprender más sobre Regex, te recomendamos consultar el siguiente enlace de referencia externa: https://www.regex101.com/.
Mantén tus datos organizados y libres de espacios innecesarios para facilitar el análisis y manipulación de datos en Excel.
[automatic_youtube_gallery type=»search» search=»Elimine espacios en blanco y líneas vacías en Excel usando Regex» limit=»1″]
Para limpiar tus datos en Excel usando expresiones regulares (Regex), es esencial tener una función VBA que permita su uso, ya que Excel no ofrece soporte nativo para esta característica. Vamos a detallar los pasos para habilitar y utilizar Regex para eliminar espacios en blanco y líneas vacías.
Paso 1: Habilitar Regex en Excel
- Abre Excel y accede al Editor VBA:
– Presiona ALT + F11 para abrir el editor de Visual Basic para Aplicaciones.
- Inserta un nuevo módulo:
– Haz clic derecho en cualquier parte del panel de «Proyecto de VBA», selecciona Insertar y luego Módulo.
- Copia el código de la función RegExpReplace:
vba
Function RegExpReplace(text As String, pattern As String, replacement As String,
Optional instancenum As Variant, Optional matchcase As Variant) As String
Dim regex As Object
Set regex = CreateObject("VBScript.RegExp")
With regex
.Pattern = pattern
.Global = True
If Not IsMissing(matchcase) Then
.IgnoreCase = Not matchcase
End If
End With
If IsMissing(instancenum) Then
RegExpReplace = regex.Replace(text, replacement)
Else
Dim temp As String
temp = text
Dim i As Long
For i = 1 To instance_num
temp = regex.Replace(temp, replacement)
Next i
RegExpReplace = temp
End If
End Function
- Guarda tu archivo de Excel:
– Asegúrate de guardar el archivo como libro de trabajo habilitado para macros (.xlsm).
Paso 2: Usar la función RegExpReplace en Excel
Ahora que tienes la función habilitada, puedes usarla directamente en tus celdas para limpiar tus datos.
1. Eliminar todos los espacios en blanco:
– Patrón: s+
– Ejemplo de fórmula (suponiendo que tu dato está en A1):
excel
=RegExpReplace(A1, "s+", "")
– Esta fórmula eliminará todos los espacios en blanco de la cadena.
2. Eliminar espacios múltiples pero mantener uno solo:
– Patrón: s+
– Ejemplo de fórmula:
excel
=RegExpReplace(A1, "s+", " ")
– Esto convertirá múltiples espacios en un solo espacio.
3. Eliminar espacios en blanco al inicio y al final:
– Patrón: ^[s]+|[s]+$
– Ejemplo de fórmula:
excel
=RegExpReplace(A1, "^[s]+|[s]+$", "")
– Esto eliminará los espacios en blanco al principio y al final de la cadena.
4. Eliminar líneas vacías:
– Patrón: ^n
– Ejemplo de fórmula:
excel
=RegExpReplace(A1, "^n", "")
– Esto eliminará líneas vacías en el texto. Si las líneas contienen espacios o tabulaciones, utiliza:
excel
=RegExpReplace(A1, "^s$", "")
5. Eliminar espacios entre números:
– Patrón: (?<=d)s+(?=d)
- Ejemplo de fórmula:
excel
=RegExpReplace(A1, "(?<=d)s+(?=d)", "")
- Esto eliminará espacios entre dos dígitos.
Conclusión
Con estos pasos y ejemplos, puedes utilizar expresiones regulares en Excel para limpiar eficientemente tus hojas de cálculo. Esto no solo ahorra tiempo, sino que también mejora la calidad de tus datos. No dudes en experimentar con diferentes patrones según tus necesidades para maximizar tu productividad. ¡Buena suerte!
3 comentarios en «Elimine espacios en blanco y líneas vacías en Excel usando Regex»
Deja un comentario
Lo siento, debes estar conectado para publicar un comentario.

Fatnessuj: ¡Totalmente de acuerdo, desgordimtb! Yo también solía perderme tratando de limpiar hojas de cálculo llenas de esos espacios molestos. Recuerdo una vez que me dejaron un archivo gigante y terminé frustrado. Gracias a este artículo, ahora puedo darle un respiro a mi compu y a mi paciencia. ¡A aplicar Regex se ha dicho!
Desgordimtb: ¡Buena onda el artículo! Nunca pensé que los Regex pudieran hacer mi vida en Excel tan fácil, ya que siempre pasaba horas limpiando esos espacios y líneas vacías a mano. La última vez me volví loco quitando esas cosas en una hoja enorme, así que definitivamente probaré lo que recomiendas.
Javier valentin: ¡Qué gran artículo! A mí también me ha salvado la vida, porque cada vez que tenía que limpiar esas hojas, era un caos total. Una vez pasé horas en un archivo que parecía no tener fin y casi me vuelvo loco. Ahora gracias a Regex, puedo hacer esto en un abrir y cerrar de ojos. ¡A probarlo ya!