Excel: eliminar caracteres, palabras, números de cadenas de texto
Si tiene una lista de cadenas de texto en Excel que contienen caracteres, números o símbolos no deseados, es posible que necesite eliminar ciertos elementos según su posición o tipo. Ya sea recortando caracteres desde la izquierda, derecha o el medio, o eliminando caracteres y números específicos, Excel ofrece varias formas de limpiar sus datos. Este tutorial proporciona métodos paso a paso utilizando fórmulas, Funciones Definidas por el Usuario (UDFs) y funciones integradas para eliminar con facilidad caracteres, palabras y números no deseados de sus cadenas de texto.
Índice de contenidos:
1. Eliminar caracteres desde la izquierda, derecha o el medio de las cadenas de texto
- 1.1 Eliminar los primeros n caracteres de las cadenas de texto
- 1.2 Eliminar los últimos n caracteres de las cadenas de texto
- 1.3 Eliminar los primeros, últimos n caracteres o caracteres en ciertas posiciones utilizando una función avanzada
- 1.4 Eliminar tanto los primeros n como los últimos n caracteres de las cadenas de texto con fórmula
2. Eliminar caracteres no deseados / especiales de la cadena de texto
- 2.1 Eliminar algunos caracteres especiales de las cadenas de texto
- 2.2 Eliminar todos los números de las cadenas de texto
- 2.3 Eliminar caracteres no numéricos de cadenas de texto
- Eliminar caracteres no numéricos de cadenas de texto con fórmula en Excel 2016 y versiones anteriores
- Eliminar caracteres no numéricos de cadenas de texto con la función TEXTJOIN en Excel 2019, 2021, 365
- Eliminar caracteres no numéricos de cadenas de texto con una Función Definida por el Usuario
- Eliminar caracteres no numéricos de cadenas de texto con una función sencilla
- 2.4 Separar texto y números de una celda en dos columnas
- 2.5 Eliminar caracteres de salto de línea de las cadenas de texto
- Eliminar caracteres de salto de línea de cadenas de texto con la función Buscar y Reemplazar
- Eliminar caracteres de salto de línea de cadenas de texto con la función SUSTITUIR
- Eliminar caracteres de salto de línea de cadenas de texto con código VBA
- Eliminar caracteres de salto de línea de cadenas de texto con una opción inteligente
- 2.6 Eliminar espacios (iniciales, finales, adicionales o todos los espacios) de las cadenas de texto
3. Eliminar caracteres / texto antes o después de un carácter específico
- 3.1 Eliminar texto antes o después del primer carácter específico
- 3.2 Eliminar texto antes o después de la N-ésima aparición de un carácter
- 3.3 Eliminar texto antes o después de la última aparición de un carácter
- 3.4 Eliminar texto entre paréntesis
Eliminar caracteres desde la izquierda, derecha o el medio de las cadenas de texto
Puede ser una tarea común para la mayoría de nosotros eliminar algunos caracteres desde la izquierda, derecha o el medio de las cadenas de texto en las hojas de cálculo de Excel. En esta sección, se presentarán algunos trucos rápidos y fáciles para resolver esta tarea.
1.1 Eliminar los primeros n caracteres de las cadenas de texto
Si necesita eliminar los primeros n caracteres de una lista de cadenas de texto, los siguientes métodos pueden serle de ayuda.
Usando fórmulas
Normalmente, para eliminar los caracteres desde el inicio de las cadenas de texto, puedes usar ya sea la función REEMPLAZAR o una combinación de las funciones DERECHA y LARGO.
Función REEMPLAZAR para eliminar los primeros N caracteres:
- "cadena": La cadena de texto de la que desea eliminar caracteres;
- "num_chars": El número de caracteres que desea eliminar.
Por ejemplo, para eliminar los primeros 2 caracteres de las celdas, utilice la siguiente fórmula y luego arrastre el controlador de relleno para copiar la fórmula a otras celdas, consulte la captura de pantalla:
=REPLACE(A4, 1, 2, "")
Funciones DERECHA y LARGO para eliminar los primeros N caracteres:
- "cadena": La cadena de texto de la que desea eliminar caracteres;
- "num_chars": El número de caracteres que desea eliminar.
Para eliminar los primeros 2 caracteres de las celdas, por favor aplique la siguiente fórmula:
=RIGHT(A4,LEN(A4)-2)
Usando una función definida por el usuario
Para eliminar los primeros n caracteres de las celdas, también puedes crear una Función Definida por el Usuario para resolver esta tarea. Por favor, sigue los siguientes pasos:
1. Mantenga presionadas las teclas "Alt + F11" para abrir la ventana "Microsoft Visual Basic for Applications".
2. Haz clic en "Insertar" > "Módulo" y pega el siguiente código en la Ventana de Módulo.
Código VBA: Eliminar los primeros n caracteres de cadenas de texto
Function removeFirstx(rng As String, cnt As Long)
'Updateby Extendoffice
removeFirstx = Right(rng, Len(rng) - cnt)
End Function
3. Luego, regresa a la hoja de cálculo y escribe esta fórmula: "=removefirstx(A4,2)" en una celda en blanco, y luego arrastra el controlador de relleno hacia abajo para obtener los resultados que necesitas, consulta la captura de pantalla:
Nota: En esta fórmula: "A4" es la celda de la que desea eliminar caracteres; El número "2" indica la cantidad de caracteres que desea eliminar desde el inicio de la cadena de texto.
1.2 Eliminar los últimos n caracteres de las cadenas de texto
Para eliminar un número específico de caracteres del lado derecho de las cadenas de texto, también puedes usar una fórmula o una Función Definida por el Usuario.
Usando fórmula
Para eliminar los últimos n caracteres de las cadenas de texto, puedes usar una fórmula basada en las funciones IZQUIERDA y LARGO.
Funciones IZQUIERDA y LARGO para eliminar los últimos N caracteres:
- "cadena": La cadena de texto de la que desea eliminar caracteres;
- "num_chars": El número de caracteres que desea eliminar.
Para eliminar 3 caracteres del final de las cadenas de texto, por favor use esta fórmula, y luego arrastre el controlador de relleno para copiar la fórmula a otras celdas, vea la captura de pantalla:
=LEFT(A4, LEN(A4) - 3)
Mediante el uso de una función definida por el usuario
Una Función Definida por el Usuario también puede ayudarte a eliminar los últimos n caracteres de una lista de celdas. Sigue estos pasos:
1. Mantenga presionadas las teclas "Alt + F11" para abrir la ventana "Microsoft Visual Basic for Applications".
2. Haz clic en "Insertar" > "Módulo" y pega el siguiente código en la Ventana de Módulo.
Código VBA: Eliminar los últimos n caracteres de las cadenas de texto
Function removeLastx(rng As String, cnt As Long)
'Updateby Extendoffice
removeLastx = Left(rng, Len(rng) - cnt)
End Function
3. Luego, regresa a la hoja de cálculo e introduce esta fórmula: "=removelastx(A4,3)" en una celda en blanco, y luego arrastra el controlador de relleno hacia abajo para obtener los resultados que necesitas, consulta la captura de pantalla:
Nota: En esta fórmula: "A4" es la celda de la que desea eliminar caracteres; El número "3" indica la cantidad de caracteres que desea eliminar del final de la cadena de texto.
1.3 Eliminar los primeros, últimos n caracteres o caracteres en ciertas posiciones utilizando una función avanzada
Puede ser complicado para ti recordar varias fórmulas para eliminar caracteres desde la izquierda, derecha o una posición específica de las cadenas de texto. "Kutools for Excel" ofrece una función potente: "Eliminar caracteres en una posición específica". Con esta pequeña herramienta, puedes realizar estas tareas con solo unos clics sin necesidad de recordar ninguna fórmula.
1. Seleccione las celdas de las que desea eliminar caracteres y luego haga clic en "Kutools" > "Texto" > "Eliminar caracteres en una posición específica", vea la captura de pantalla:
2. En el cuadro de diálogo "Eliminar por posición", realice las siguientes operaciones:
2.1 Eliminar los primeros n caracteres de las celdas:
- En el cuadro de texto "Números", escriba la cantidad de caracteres que desea eliminar de las cadenas. En este ejemplo, eliminaré los primeros 2 caracteres.
- Seleccione la opción "Desde la izquierda" en la sección "Posición".
- Luego, haga clic en el botón "Aceptar" o "Aplicar" para obtener el resultado como se muestra en la captura de pantalla a continuación.
2.2 Eliminar los últimos n caracteres de las celdas:
- En el cuadro de texto "Números", escriba la cantidad de caracteres que desea eliminar de las cadenas. En este ejemplo, eliminaré los últimos 3 caracteres.
- Seleccione la opción "Empezar desde la derecha" en la sección "Posición".
- Luego, haga clic en el botón "Aceptar" o "Aplicar" para obtener el resultado como se muestra en la captura de pantalla a continuación.
2.3 Eliminar n caracteres desde una posición específica de las celdas:
Si necesita eliminar un número específico de caracteres desde una posición determinada de las cadenas de texto, por ejemplo, eliminar 3 caracteres empezando desde el tercer carácter de las cadenas.
- En el cuadro de texto "Números", escriba la cantidad de caracteres que desea eliminar de las cadenas. En este ejemplo, eliminaré 3 caracteres desde una posición determinada.
- Seleccione la opción "Especificar" y escriba el número desde el cual desea eliminar caracteres en el cuadro de texto de la sección "Posición". Aquí, eliminaré caracteres a partir del tercer carácter.
- Luego, haga clic en el botón "Aceptar" o "Aplicar" para obtener el resultado como se muestra en la captura de pantalla a continuación.
Kutools para Excel - Potencia Excel con más de 300 herramientas esenciales. ¡Disfruta de funciones de IA gratis permanentemente! Consíguelo ahora
1.4 Eliminar tanto los primeros n como los últimos n caracteres de las cadenas de texto con fórmula
Cuando necesitas eliminar algunos caracteres en ambos lados de las cadenas de texto en Excel, puedes combinar las funciones MID y LEN para crear una fórmula que maneje esta tarea.
- "cadena": La cadena de texto de la que desea eliminar caracteres;
- "left_chars": El número de caracteres a eliminar desde la izquierda;
- "right_chars": El número de caracteres que se eliminarán desde la derecha.
Por ejemplo, si necesitas eliminar los primeros 7 caracteres y los últimos 5 caracteres de cadenas de texto al mismo tiempo, por favor, introduce la siguiente fórmula en una celda en blanco:
=MID(A4, 7+1, LEN(A4) - (7+5))
Nota: En esta fórmula: "A4" es la celda de la que desea eliminar caracteres; El número "7" es la cantidad de caracteres que desea eliminar desde el lado izquierdo; El número "5" es la cantidad de caracteres que desea eliminar desde el lado derecho.
Luego, arrastra el controlador de relleno hacia abajo hasta donde deseas aplicar esta fórmula, y obtendrás el resultado tal como se muestra en la captura de pantalla a continuación:
Eliminar caracteres no deseados / especiales de las cadenas de texto
Al importar datos de otro lugar a Excel, muchos caracteres especiales o no deseados pueden pegarse en su hoja de cálculo. Para eliminar estos caracteres no deseados, como #@$%^&, espacios, números, caracteres no numéricos, saltos de línea, etc., esta sección proporcionará algunos métodos útiles para ayudarle.
2.1 Eliminar algunos caracteres especiales de las cadenas de texto
Si hay algunos caracteres especiales como %^&*() dentro de las cadenas de texto, para eliminar este tipo de caracteres, puedes aplicar los siguientes tres trucos.
Eliminar varios caracteres especiales de cadenas de texto con la función SUBSTITUIR
Normalmente, en Excel, puedes anidar varias funciones SUSTITUIR para reemplazar cada carácter específico con nada; la sintaxis genérica es:
- "string_cell": La celda contiene la cadena de texto de la cual desea eliminar los caracteres especiales;
- "char1, char2, char3": Los caracteres no deseados que desea eliminar.
Ahora, por favor copie o introduzca la siguiente fórmula en una celda en blanco:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, "#", ""), "&", ""), "*", ""), "%", "")
Luego, arrastra el controlador de relleno hacia abajo hasta las celdas donde deseas aplicar esta fórmula, y todos los caracteres no deseados que especificaste se eliminarán de una vez, consulta la captura de pantalla:
Consejos: Si hay más caracteres que deseas eliminar, solo necesitas anidar más funciones SUSTITUIR dentro de la fórmula.
Eliminar varios caracteres especiales de cadenas de texto con una Función Definida por el Usuario
Las funciones anidadas SUSTITUIR mencionadas anteriormente funcionan bien si hay pocos caracteres especiales que eliminar. Sin embargo, si tienes decenas de caracteres para eliminar, la fórmula puede volverse demasiado larga y difícil de manejar. En este caso, la siguiente Función Definida por el Usuario puede ayudarte a completar esta tarea de manera rápida y sencilla.
1. Mantenga presionadas las teclas "Alt + F11" para abrir la ventana "Microsoft Visual Basic for Applications".
2. Haz clic en "Insertar" > "Módulo" y pega el siguiente código en la Ventana de Módulo.
Código VBA: Eliminar varios caracteres especiales de cadenas de texto
Function RemoveUnwantedChars(Str As String, xchars As String)
'Updateby Extendoffice
For Index = 1 To Len(xchars)
Str = Replace(Str, Mid(xchars, Index, 1), "")
Next
RemoveUnwantedChars = Str
End Function
3. Luego, cierra la ventana de código y regresa a la hoja de cálculo, introduce esta fórmula "=RemoveUnwantedChars(A2, $D$2)" en una celda en blanco donde deseas obtener el resultado, y luego arrastra el controlador de relleno hacia abajo para obtener los resultados según sea necesario, consulta la captura de pantalla:
Nota: En la fórmula anterior: "A2" es la celda de la que desea eliminar caracteres; "$D$2" contiene los caracteres especiales que desea eliminar (puede escribir cualquier otro carácter especial que necesite).
Elimina varios caracteres especiales de las cadenas de texto utilizando una característica asombrosa
Si ha instalado "Kutools para Excel", con su función "Eliminar caracteres", puede eliminar todo tipo de caracteres, como caracteres numéricos, caracteres alfabéticos, caracteres no imprimibles… de una lista de celdas según lo necesite.
1. Seleccione el rango de celdas del que desea eliminar los caracteres especiales, y luego haga clic en "Kutools" > "Texto" > "Eliminar caracteres", vea la captura de pantalla:
2. En el cuadro de diálogo "Eliminar caracteres":
- Marque la opción "Personalizado" en la sección "Eliminar caracteres".
- Y luego ingrese los caracteres especiales en el cuadro de texto que desea eliminar.
- Luego, haz clic en el botón "Aceptar" o "Aplicar" para eliminar los caracteres que especificaste de una vez. Ver captura de pantalla:
Kutools para Excel - Potencia Excel con más de 300 herramientas esenciales. ¡Disfruta de funciones de IA gratis permanentemente! Consíguelo ahora
2.2 Eliminar todos los números de las cadenas de texto
Si tienes una lista de cadenas de texto que mezclan números, letras y caracteres especiales, y ahora solo quieres eliminar todos los números y conservar los demás caracteres, esta sección te proporcionará algunos métodos prácticos para ayudarte.
Eliminar números de cadenas de texto con la función SUSTITUIR
En Excel, la función ANIDADA SUSTITUIR puede ayudarte a reemplazar todos los números por nada, por lo que puedes usar la siguiente fórmula para eliminar todos los números de las celdas:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,1,""),2,""),3,""),4,""),5,""),6,""),7,""),8,""),9,""),0,"")
Luego, arrastra el controlador de relleno hacia abajo hasta las celdas donde deseas aplicar esta fórmula, y todos los números se eliminarán de la lista de cadenas de texto, consulta la captura de pantalla:
Eliminar números de cadenas de texto con la función TEXTJOIN
Si tiene Excel 2019, 2021 o 365, la nueva función TEXTJOIN también puede ayudar a eliminar números de cadenas de texto.
Por favor, copie la siguiente fórmula en una celda en blanco y luego presione las teclas Ctrl + Shift + Enter juntas para obtener el primer resultado:
=TEXTJOIN("", TRUE, IF(ISERR(MID(A2, ROW(INDIRECT( "1:"&LEN(A2) )), 1) *1), MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1), ""))
Luego, copie la fórmula en las otras celdas debajo donde desea aplicar esta fórmula, vea la captura de pantalla:
Nota: Esta función TEXTJOIN solo está disponible en Excel 2019, 2021 y Office 365.
Eliminar números de cadenas de texto con una Función Definida por el Usuario
Además de las dos fórmulas anteriores, una Función Definida por el Usuario también puede ayudarte. Por favor, sigue los siguientes pasos:
1. Mantenga presionadas las teclas "Alt + F11" para abrir la ventana "Microsoft Visual Basic for Applications".
2. Haz clic en "Insertar" > "Módulo" y pega el siguiente código en la Ventana del Módulo.
Código VBA: Eliminar números de cadenas de texto
Function RemoveNumbers(Txt As String) As String
'Updateby Extendoffice
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "[0-9]"
RemoveNumbers = .Replace(Txt, "")
End With
End Function
3. Luego, cierra y sal de la ventana de código, regresa a la hoja de cálculo e introduce esta fórmula: =RemoveNumbers(A2) en una celda en blanco, después arrastra el controlador de relleno hacia abajo hasta las celdas donde deseas aplicar esta fórmula, consulta la captura de pantalla:
Eliminar números de cadenas de texto con una opción práctica
Si estás cansado de las fórmulas complicadas, déjame mostrarte una herramienta fácil: "Kutools para Excel" y su función "Eliminar caracteres". Con esta práctica característica, puedes realizar esta tarea con solo unos pocos clics.
1. Seleccione el rango de celdas donde desea eliminar los números, y luego haga clic en "Kutools" > "Texto" > "Eliminar caracteres".
2. En el cuadro de diálogo "Eliminar caracteres", realice las siguientes operaciones:
- Marque la opción "Numérico" en la sección "Eliminar caracteres".
- Luego, haga clic en el botón "Aceptar" o "Aplicar" para eliminar los números inmediatamente. Ver captura de pantalla:
Kutools para Excel - Potencia Excel con más de 300 herramientas esenciales. ¡Disfruta de funciones de IA gratis permanentemente! Consíguelo ahora
2.3 Eliminar caracteres no numéricos de cadenas de texto
Para eliminar todos los caracteres no numéricos y conservar solo los números de las cadenas de texto, esta sección tratará sobre algunas formas de resolver esta tarea en Excel.
Eliminar caracteres no numéricos de cadenas de texto con fórmula en Excel 2016 y versiones anteriores
Si está utilizando Excel 2016 o versiones anteriores, debe aplicar una fórmula compleja para realizar esta tarea; copie o introduzca la siguiente fórmula en una celda en blanco:
=SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1)) * ROW(INDIRECT("1:"&LEN(A2))), 0), ROW(INDIRECT("1:"&LEN(A2))))+1, 1) * 10^ROW(INDIRECT("1:"&LEN(A2)))/10)
Luego, copia la fórmula en las demás celdas debajo donde deseas aplicar esta fórmula, como se muestra en la captura de pantalla:
Nota: Si los números en una cadena de texto comienzan con 0, el 0 se perderá.
Eliminar caracteres no numéricos de cadenas de texto con la función TEXTJOIN en Excel 2019, 2021, 365
La fórmula anterior puede ser demasiado difícil de entender para la mayoría de nosotros. Si tienes Excel 2019, 2021 u Office 365, hay una fórmula práctica que puede ayudarte.
Por favor, copie o introduzca la siguiente fórmula en una celda en blanco y presione las teclas "Ctrl + Shift + Enter" juntas para obtener el primer resultado correcto:
=TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0,""))
Luego, arrastra el controlador de relleno hacia abajo hasta las celdas donde aplicarás esta fórmula, y obtendrás el resultado tal como se muestra en la captura de pantalla a continuación:
Nota: Con esta fórmula, puede ver que los ceros iniciales se conservarán ya que los números se devuelven como texto.
Eliminar caracteres no numéricos de cadenas de texto con una Función Definida por el Usuario
Por supuesto, también puedes crear tu propia Función Definida por el Usuario con una sintaxis más simple, hazlo de esta manera:
1. Mantenga presionadas las teclas "Alt + F11" para abrir la ventana "Microsoft Visual Basic for Applications".
2. Haz clic en "Insertar" > "Módulo" y pega el siguiente código en la Ventana de Módulo.
Código VBA: Eliminar caracteres no numéricos de cadenas de texto
Function Removenonnumeric(str As String) As String
'Updateby Extendoffice
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "[^0-9]"
Removenonnumeric = .Replace(str, "")
End With
End Function
3. Luego, cierra y sal de la ventana de código, regresa a la hoja de cálculo e introduce esta fórmula: =Removenonnumeric(A2) en una celda en blanco, luego arrastra el controlador de relleno hacia abajo hasta las celdas donde deseas aplicar esta fórmula; solo se extraerán los números, tal como se muestra en la siguiente captura de pantalla:
Eliminar caracteres no numéricos de cadenas de texto con una función sencilla
Para eliminar caracteres no numéricos en un rango de celdas directamente, la utilidad "Eliminar caracteres" de "Kutools para Excel" puede hacerlo con solo unos pocos clics.
1. Seleccione el rango de celdas del que desea eliminar los caracteres no numéricos, y luego haga clic en "Kutools" > "Texto" > "Eliminar caracteres".
2. En el cuadro de diálogo "Eliminar caracteres", configure las siguientes operaciones:
- Marque la opción "No numérico" en la sección "Eliminar caracteres".
- Luego, haga clic en el botón "Aceptar" o "Aplicar" para eliminar todos los caracteres no numéricos de inmediato. Vea la captura de pantalla:
Kutools para Excel - Potencia Excel con más de 300 herramientas esenciales. ¡Disfruta de funciones de IA gratis permanentemente! Consíguelo ahora
2.4 Separar texto y números de una celda en dos columnas
A veces, es posible que desee extraer el texto y los números de las cadenas de texto en dos columnas separadas. Con la ayuda de los siguientes métodos, puede completar esta tarea rápidamente y sin esfuerzo.
Separar texto y números de una celda en dos columnas con una Función Definida por el Usuario
Al utilizar la siguiente Función Definida por el Usuario, puede extraer el texto y los números a la vez. Siga los siguientes pasos:
1. Mantenga presionadas las teclas "Alt + F11" para abrir la ventana "Microsoft Visual Basic for Applications".
2. Haz clic en "Insertar" > "Módulo" y pega el siguiente código en la Ventana del Módulo.
Código VBA: Separar texto y números de cadenas de texto en dos columnas
Function SplitText(pWorkRng As Range, pIsNumber As Boolean) As String
'Updateby Extendoffice
Dim xLen As Long
Dim xStr As String
xLen = VBA.Len(pWorkRng.Value)
For i = 1 To xLen
xStr = VBA.Mid(pWorkRng.Value, i, 1)
If ((VBA.IsNumeric(xStr) And pIsNumber) Or (Not (VBA.IsNumeric(xStr)) And Not (pIsNumber))) Then
SplitText = SplitText + xStr
End If
Next
End Function
3. Luego, cierra y sal de la ventana de código, regresa a la hoja de cálculo e introduce esta fórmula: =SplitText(A2,FALSE) en una celda en blanco, y luego arrastra el controlador de relleno hacia abajo hasta las celdas donde deseas aplicar esta fórmula para obtener todo el texto, consulta la captura de pantalla:
4. Y luego, sigue escribiendo esta fórmula: =SplitText(A2,TRUE) en otra celda y arrastra el controlador de relleno hacia abajo hasta las celdas en las que deseas aplicar esta fórmula para obtener los números, consulta la captura de pantalla:
Separa texto y números de una celda en dos columnas con una función sencilla
Si tienes "Kutools para Excel", su utilidad "Dividir celdas" puede ayudarte a dividir celdas en múltiples columnas o filas basándose en cualquier separador, ancho especificado, o texto y número.
1. Seleccione el rango de celdas que desea dividir, y luego haga clic en "Kutools" > "Combinar y Dividir" > "Dividir celdas", vea la captura de pantalla:
2. En el cuadro de diálogo "Dividir celdas", seleccione la opción "Dividir en columnas" en la sección "Tipo" y luego marque "Texto y número" en la sección "Separador", vea la captura de pantalla:
3. Luego, haga clic en el botón "Aceptar" y aparecerá otro cuadro de diálogo "Dividir celdas". Seleccione una celda para mostrar el texto y los números separados, y luego haga clic en el botón "Aceptar". Ahora, puede ver que el texto y los números en las celdas seleccionadas se dividen en dos columnas de inmediato, como se muestra en la siguiente demostración:
Kutools para Excel - Potencia Excel con más de 300 herramientas esenciales. ¡Disfruta de funciones de IA gratis permanentemente! Consíguelo ahora
2.5 Eliminar caracteres de salto de línea de las cadenas de texto
Un salto de línea es algo que te permite tener varias líneas en la misma celda en Excel. A veces, cuando copias datos de un sitio web o separas manualmente el contenido de tus celdas con las teclas "Alt + Enter", obtendrás saltos de línea o retornos de carro. En algunos casos, es posible que desees eliminar los saltos de línea para que el contenido de la celda aparezca en una sola línea, como se muestra en la captura de pantalla a continuación. Aquí, te presentaré algunas formas de resolver esta tarea en Excel.
Eliminar caracteres de salto de línea de cadenas de texto con la función Buscar y Reemplazar
En Excel, puedes usar la función "Buscar y Reemplazar" para eliminar los saltos de línea, sigue estos pasos:
1. Seleccione el rango de datos del que desea eliminar los saltos de línea.
2. Luego, haz clic en "Inicio" > "Buscar y seleccionar" > "Reemplazar" (o presiona las teclas "Ctrl + H") para abrir el cuadro de diálogo "Buscar y reemplazar", como se muestra en la captura de pantalla:
3. En el cuadro de diálogo emergente "Buscar y Reemplazar", realice las siguientes operaciones:
- Coloque el cursor en el campo "Buscar lo siguiente" y presione "Ctrl + J" en el teclado, puede que no vea nada, pero el carácter de salto de línea ya ha sido insertado.
- En el campo "Reemplazar con", deja este campo vacío para simplemente eliminar los saltos de línea o presiona la "barra Espaciadora" una vez para reemplazar los saltos de línea con espacios en blanco.
4. Luego, haga clic en el botón "Reemplazar Todo", todos los saltos de línea en las celdas seleccionadas se eliminarán o reemplazarán con espacios en blanco de una vez. Vea la captura de pantalla:
Eliminar caracteres de salto de línea de cadenas de texto con la función SUSTITUIR
También puedes crear una fórmula basada en las funciones SUBSTITUTE y CHAR para eliminar los saltos de línea de las cadenas de texto.
Por favor, aplica la siguiente fórmula para obtener el resultado:
=SUBSTITUTE(A2,CHAR(10),"")
Consejos: La función SUBSTITUTE busca y reemplaza el carácter CHAR(10), que representa el carácter de salto de línea, con nada. Si deseas que el resultado esté separado por una coma y un espacio, puedes usar la siguiente fórmula:
=SUBSTITUTE(A2,CHAR(10),", ")
Eliminar caracteres de salto de línea de cadenas de texto con código VBA
Si te sientes cómodo usando código VBA, aquí también se proporciona un código para ti. Por favor, sigue los siguientes pasos:
1. Mantenga presionadas las teclas "Alt + F11" para abrir la ventana "Microsoft Visual Basic for Applications".
2. Haz clic en "Insertar" > "Módulo" y pega el siguiente código en la Ventana del Módulo.
Código VBA: Eliminar saltos de línea de las cadenas de texto
Sub RemoveCarriage()
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
Rng.Value = Replace(Rng.Value, Chr(10), "")
Next
End Sub
3. Luego, presione la tecla "F5" para ejecutar este código, y aparecerá un cuadro de diálogo. Seleccione el rango del cual desea eliminar los saltos de línea, tal como se muestra en la captura de pantalla a continuación:
4. Luego, haga clic en el botón "Aceptar", todos los saltos de línea se eliminarán del rango de datos seleccionado.
Eliminar caracteres de salto de línea de cadenas de texto con una opción inteligente
Aquí, la función "Eliminar caracteres" de "Kutools para Excel" también puede ayudarte a eliminar los saltos de línea con facilidad.
1. Seleccione el rango de celdas donde desea eliminar los saltos de línea, y luego haga clic en "Kutools" > "Texto" > "Eliminar caracteres".
2. En el cuadro de diálogo "Eliminar caracteres", configure las siguientes operaciones:
- Marque la opción "No imprimibles" en la sección "Eliminar caracteres".
- Luego, haga clic en el botón "Aceptar" o "Aplicar" para eliminar todos los saltos de línea del rango de datos seleccionado. Vea la captura de pantalla:
Kutools para Excel - Potencia Excel con más de 300 herramientas esenciales. ¡Disfruta de funciones de IA gratis permanentemente! Consíguelo ahora
2.6 Eliminar espacios (iniciales, finales, adicionales o todos los espacios) de las cadenas de texto
Copiar y pegar texto desde una fuente externa a una hoja de cálculo de Excel a menudo trae algunos espacios en blanco molestos; eliminar manualmente los espacios iniciales, finales u otros espacios adicionales puede ser tedioso. Afortunadamente, Excel proporciona algunos trucos sencillos para manejar esta tarea.
Eliminar espacios adicionales (iniciales, finales, excesivos) de las cadenas de texto con la función TRIM
En Excel, para eliminar los espacios iniciales, finales y adicionales de las cadenas de texto, la sencilla función TRIM puede ayudarte. Esta función elimina todos los espacios excepto los espacios simples entre palabras.
Por favor, introduce la siguiente fórmula en una celda en blanco:
=TRIM(A2)
Luego, arrastra el controlador de relleno hacia abajo para copiar la fórmula en otras celdas. Ahora, puedes ver que todos los espacios iniciales, finales y los espacios adicionales entre las palabras se han eliminado de una vez, tal como se muestra en la captura de pantalla:
Eliminar todos los espacios de las cadenas de texto
Si desea eliminar todos los espacios en blanco de las cadenas de texto, la siguiente función SUSTITUIR y la característica Buscar y reemplazar pueden hacerle el favor.
Al utilizar la función SUSTITUIR
Puede usar la función SUSTITUIR para reemplazar todos los espacios por nada; por favor, aplique la siguiente fórmula en una celda en blanco:
=SUBSTITUTE(A2," ","")
Luego, arrastra el controlador de relleno hacia abajo para copiar esta fórmula en otras celdas que necesites, y todos los espacios se eliminarán, como se muestra en la siguiente captura de pantalla:
Al utilizar la función Buscar y Reemplazar
De hecho, la función "Buscar y reemplazar" en Excel también puede ayudarte a eliminar todos los espacios de las celdas seleccionadas. Por favor, sigue los siguientes pasos:
1. Seleccione el rango de datos del que desea eliminar todos los espacios.
2. Luego, haz clic en "Inicio" > "Buscar y seleccionar" > "Reemplazar" (o presiona las teclas "Ctrl + H") para abrir el cuadro de diálogo "Buscar y reemplazar". En el cuadro de diálogo "Buscar y reemplazar" abierto, realiza las siguientes operaciones:
- Presione la "barra espaciadora" en el campo "Buscar lo siguiente";
- En el campo "Reemplazar con", deja este campo vacío.
3. Luego, haz clic en el botón "Reemplazar Todo", todos los espacios en blanco en las celdas seleccionadas se eliminarán de una vez. Ver captura de pantalla:
Elimina todo tipo de espacios de las cadenas de texto con una función poderosa
"Kutools para Excel" tiene una función poderosa: "Eliminar espacios", con esta utilidad, no solo puedes eliminar los espacios al principio, los espacios al final y los espacios excesivos, sino también todos los espacios de los rangos seleccionados en un solo cuadro de diálogo, lo que aumentará tu productividad laboral.
1. Seleccione el rango de datos del que desea eliminar los espacios y, a continuación, haga clic en "Kutools" > "Texto" > "Eliminar espacios". Vea la captura de pantalla:
2. En el cuadro de diálogo "Eliminar espacios", seleccione el tipo de espacio que desea eliminar en "Tipo de espacio":
- Para eliminar los espacios iniciales, seleccione la opción "Espacios al principio";
- Para eliminar los espacios al final, seleccione la opción "Espacios al final".
- Para eliminar los espacios iniciales y los espacios finales a la vez, seleccione la opción "Espacios iniciales y finales".
- Para eliminar todos los espacios adicionales, seleccione la opción "Todos los espacios excesivos";
- Para eliminar todos los espacios, seleccione la opción "Todos los espacios".
3. Luego, haga clic en el botón "Aceptar" o "Aplicar", y obtendrá el resultado que necesita.
Kutools para Excel - Potencia Excel con más de 300 herramientas esenciales. ¡Disfruta de funciones de IA gratis permanentemente! Consíguelo ahora
Eliminar caracteres / texto antes o después de un carácter específico
En esta sección, presentaré algunas operaciones para eliminar el texto o los caracteres antes o después de la primera, última o n-ésima aparición de un carácter específico.
3.1 Eliminar texto antes o después del primer carácter específico
Si desea eliminar el texto antes o después del primer carácter específico, como un espacio o una coma, de una lista de cadenas de texto tal como se muestra en la captura de pantalla a continuación, aquí le proporcionaré dos métodos.
Eliminar texto antes del primer carácter específico con una fórmula
Para eliminar texto o caracteres antes del primer carácter específico, puedes crear una fórmula basada en las funciones DERECHA, LARGO y ENCONTRAR; la sintaxis genérica es:
- "celda": La referencia de celda o cadena de texto de la que desea eliminar texto;
- "char": El separador específico en el que deseas eliminar texto.
Por ejemplo, para eliminar todo lo que esté antes de la primera coma en las cadenas de la lista, debe aplicar la siguiente fórmula en una celda en blanco y luego arrastrarla hacia abajo hasta las celdas que necesite, consulte la captura de pantalla:
=RIGHT(A2,LEN(A2)-FIND(",",A2))
Nota: En la fórmula anterior: "A2" es la celda de la que desea eliminar texto; "," es el carácter específico según el cual desea eliminar el texto, puede cambiarlo a cualquier otro carácter según sea necesario.
Eliminar texto después del primer carácter específico con una fórmula
Para eliminar todo después del primer carácter específico, puedes usar las funciones IZQUIERDA y ENCONTRAR para obtener el resultado; la sintaxis genérica es:
- "celda": La referencia de celda o cadena de texto de la que desea eliminar texto;
- "char": El separador específico en el que deseas eliminar el texto.
Ahora, por favor, introduzca la siguiente fórmula en una celda en blanco y luego arrastre el controlador de relleno hacia abajo hasta las otras celdas donde desea aplicar esta fórmula, y todos los caracteres después de la primera coma se eliminarán de inmediato, vea la captura de pantalla:
=LEFT(A2,FIND(",",A2)-1)
3.2 Eliminar texto antes o después de la N-ésima aparición de un carácter
A veces, las cadenas de texto contienen múltiples instancias de un delimitador específico; es posible que desee eliminar todos los caracteres antes o después de una instancia específica, como la segunda, tercera o cuarta según sea necesario. Para manejar este tipo de eliminación, puede usar los siguientes trucos:
Eliminar texto antes de la N-ésima aparición de un carácter con una fórmula
Para eliminar el texto antes de la N-ésima aparición de un carácter específico, la siguiente fórmula puede ayudarte, la sintaxis genérica es:
- "celda": La referencia de celda o cadena de texto de la que desea eliminar texto;
- "char": El separador específico en el que deseas eliminar el texto;
- "N": La aparición del carácter antes de la cual se eliminará el texto.
Por ejemplo, para eliminar todo antes de la segunda coma de las cadenas de texto, debe aplicar la siguiente fórmula:
=RIGHT(A2,LEN(A2)-FIND("#",SUBSTITUTE(A2,",","#",2)))
Nota: En la fórmula anterior: "A2" es la celda de la que desea eliminar texto; "," es el carácter específico según el cual desea eliminar el texto, puede cambiarlo a cualquier otro carácter según sea necesario; "2" indica la enésima coma antes de la cual desea eliminar el texto.
Luego, arrastra el controlador de relleno para copiar la fórmula en otras celdas, como se muestra en la captura de pantalla:
Eliminar texto después de la N-ésima aparición de un carácter con una fórmula
Para eliminar el texto después de la N-ésima aparición de un separador específico, las funciones IZQUIERDA, SUSTITUIR y ENCONTRAR pueden ayudarte. La sintaxis genérica es:
- "celda": La referencia de celda o cadena de texto de la que desea eliminar texto;
- "char": El separador específico en el que deseas eliminar el texto;
- "N": La aparición del carácter después de la cual se eliminará el texto.
Una vez que comprendas la sintaxis básica, copia o introduce la siguiente fórmula en una celda en blanco:
=LEFT(A2, FIND("#", SUBSTITUTE(A2, ",", "#", 2)) -1)
Nota: En la fórmula anterior: "A2" es la celda de la que desea eliminar texto; "," es el carácter específico según el cual desea eliminar el texto, puede cambiarlo a cualquier otro carácter según sea necesario; "2" indica la enésima coma después de la cual desea eliminar el texto.
Luego, arrastra el controlador de relleno para copiar la fórmula en otras celdas, y todos los caracteres después de la segunda coma se eliminarán de una vez, consulta la captura de pantalla:
Eliminar texto antes o después de la N-ésima aparición de un carácter con una función definida por el usuario
Como puedes ver, puedes resolver los casos de eliminar texto antes o después de la N-ésima aparición de un carácter utilizando las funciones nativas de Excel en diferentes combinaciones. El problema es que necesitas recordar estas fórmulas complicadas. En este caso, crearé una Función Definida por el Usuario para cubrir todos los escenarios, por favor, hazlo de esta manera:
1. Mantenga presionadas las teclas "Alt + F11" para abrir la ventana "Microsoft Visual Basic for Applications".
2. Haz clic en "Insertar" > "Módulo" y pega el siguiente código en la Ventana del Módulo.
Código VBA: Eliminar texto antes o después de la N-ésima aparición de un carácter
Function RemoveTextOccurrence(Str As String, Delimiter As String, Occurrence As Integer, IsAfter As Boolean)
Dim xStr As String
Dim xStrLen, xF, xIntStart As Integer
xStr = Str
xStrLen = Len(xStr)
xIntStart = 1
For xF = 1 To Occurrence
xIntStart = InStr(xIntStart + 1, xStr, Delimiter, vbTextCompare)
If (xIntStart = 0) Or (xIntStart < 0) Then
If IsAfter Then
RemoveTextOccurrence = xStr
Else
RemoveTextOccurrence = ""
End If
Exit Function
End If
Next
If IsAfter Then
RemoveTextOccurrence = Mid(Str, 1, xIntStart - 1)
Else
RemoveTextOccurrence = Mid(Str, xIntStart + 1)
End If
End Function
3. Luego, cierra y sal de la ventana de código, regresa a la hoja de cálculo y utiliza las siguientes fórmulas:
Eliminar texto antes de la segunda aparición de una coma:
=RemoveTextOccurrence(A2, ", ", 2, FALSE)
Eliminar texto después de la segunda aparición de una coma
=RemoveTextOccurrence(A2, ", ", 2, TRUE)
3.3 Eliminar texto antes o después de la última aparición de un carácter
Si necesita eliminar todo el texto antes o después del último carácter específico, dejando solo las subcadenas antes o después de él, esta sección proporciona fórmulas para resolver este problema.
Eliminar texto antes de la última aparición de un carácter con una fórmula
Para eliminar todos los caracteres antes de la última aparición de un carácter, la sintaxis genérica es:
- "celda": La referencia de celda o cadena de texto de la que desea eliminar texto;
- "char": El separador específico en el que deseas eliminar el texto;
Ahora, si necesita eliminar el texto antes de la última aparición de una coma, copie o ingrese la siguiente fórmula en una celda en blanco:
=RIGHT(A2,LEN(A2)-SEARCH("#",SUBSTITUTE(A2,",","#",LEN(A2)-LEN(SUBSTITUTE(A2,",","")))))
Nota: En la fórmula anterior: "A2" es la celda de la que desea eliminar texto; "," es el carácter específico según el cual desea eliminar el texto, puede cambiarlo a cualquier otro carácter según sea necesario.
Luego, arrastra el controlador de relleno para copiar la fórmula en otras celdas, y todos los caracteres antes de la última coma se eliminarán, como se muestra en la siguiente captura de pantalla:
Eliminar texto después de la última aparición de un carácter con fórmulas
Si los valores de las celdas están separados por una cantidad variable de delimitadores y deseas eliminar todo después de la última aparición de ese delimitador, la sintaxis genérica es:
- "celda": La referencia de celda o cadena de texto de la que desea eliminar texto;
- "char": El separador específico en el que deseas eliminar el texto;
Por favor, copie o ingrese la siguiente fórmula en una celda en blanco y luego arrastre el controlador de relleno hacia abajo para obtener los demás resultados que necesita, consulte la captura de pantalla:
=LEFT(A2,FIND("#",SUBSTITUTE(A2,",>","#",LEN(A2)-LEN(SUBSTITUTE(A2,",",""))))-1)
"Nota": En la fórmula anterior: "A2" es la celda de la que desea eliminar texto; "," es el carácter específico según el cual desea eliminar el texto, puede cambiarlo a cualquier otro carácter según sea necesario.
3.4 Eliminar texto entre paréntesis
Si tiene una lista de cadenas de texto con parte de los caracteres encerrados entre paréntesis, es posible que desee eliminar todos los caracteres dentro de los paréntesis, incluidos los propios paréntesis, como se muestra en la captura de pantalla a continuación. En esta sección, hablaremos sobre algunos trucos para resolver esta tarea en Excel.
Eliminar texto entre paréntesis con la función Buscar y Reemplazar
En Excel, la función integrada Buscar y Reemplazar puede ayudarte a encontrar todos los textos dentro de los paréntesis y luego reemplazarlos con nada. Por favor, procede de la siguiente manera:
1. Seleccione la lista de datos de la que desea eliminar los textos entre paréntesis.
2. Luego, haz clic en "Inicio" > "Buscar y seleccionar" > "Reemplazar" (o presiona las teclas "Ctrl + H") para abrir el cuadro de diálogo "Buscar y reemplazar". En el cuadro de diálogo "Buscar y reemplazar", realiza las siguientes operaciones:
- En el campo "Buscar lo siguiente", escriba "(*)" en el cuadro de texto;
- En el campo "Reemplazar con", deja este campo vacío.
3. Luego, haga clic en el botón "Reemplazar Todo", todos los caracteres dentro de los paréntesis (incluyendo los paréntesis) en las celdas seleccionadas se eliminarán de una vez. Vea la captura de pantalla:
Consejos: La función "Buscar y Reemplazar" también funciona para dos o más pares de paréntesis dentro de las cadenas de texto.
Eliminar texto entre paréntesis con fórmula
Además de la función Buscar y Reemplazar, también puedes usar una fórmula para resolver esta tarea en Excel; la sintaxis genérica es:
- "texto": La cadena de texto o la referencia de celda de la que desea eliminar caracteres.
Ahora, por favor, copie o introduzca la siguiente fórmula en una celda en blanco donde desee obtener el resultado:
=SUBSTITUTE(A2,MID(LEFT(A2,FIND(")",A2)),FIND("(",A2),LEN(A2)),"")
Luego, arrastra el controlador de relleno hacia abajo hasta las celdas donde deseas aplicar esta fórmula, y todos los textos dentro de los paréntesis, incluidos los paréntesis, se eliminarán de una vez, consulta la captura de pantalla:
Consejos: Si no hay paréntesis en el valor de la celda, se mostrará un error después de aplicar la fórmula anterior. Para ignorar el error, por favor, utiliza la siguiente fórmula:
=IFERROR(SUBSTITUTE(A2,MID(LEFT(A2,FIND(")",A2)),FIND("(",A2),LEN(A2)),""),A2)
Eliminar texto entre paréntesis con una Función Definida por el Usuario
La fórmula anterior funciona bien para eliminar texto de un par de paréntesis. Sin embargo, si necesitas eliminar texto de múltiples pares de paréntesis dentro de las cadenas de texto, la fórmula no funcionará correctamente. Aquí, crearé una Función Definida por el Usuario simple para resolver esta tarea.
1. Mantenga presionadas las teclas "Alt + F11" para abrir la ventana "Microsoft Visual Basic for Applications".
2. Haz clic en "Insertar" > "Módulo" y pega el siguiente código en la Ventana del Módulo.
Código VBA: Eliminar texto entre paréntesis
Function remtxt(ByVal str As String) As String
'Updateby Extendoffice
While InStr(str, "(") > 0 And InStr(str, ")") > InStr(str, "(")
str = Left(str, InStr(str, "(") - 1) & Mid(str, InStr(str, ")") + 1)
Wend
remtxt = Trim(str)
End Function
3. Regresa a la hoja de cálculo, introduce esta fórmula en una celda en blanco: "=remtxt(A2)", luego arrastra el controlador de relleno hacia abajo para aplicar la fórmula. Todo el texto dentro de los paréntesis, incluidos los propios paréntesis, se eliminará, como se muestra en la captura de pantalla:
Eliminar palabras de cadenas de texto
En ciertos casos, es posible que desees eliminar algunas palabras de una lista de celdas, como la primera o última palabra, o palabras duplicadas dentro de una celda. Para resolver este tipo de eliminaciones, esta sección te presentará algunos métodos.
4.1 Eliminar la primera o última palabra de la cadena de texto
Para eliminar la primera o última palabra de una lista de cadenas de texto, las siguientes fórmulas pueden ser de ayuda.
Eliminar la primera palabra de la cadena de texto con fórmula
Para eliminar las primeras palabras de una lista de cadenas de texto, puedes crear una fórmula sencilla basada en las funciones DERECHA, LARGO y ENCONTRAR; la sintaxis genérica es:
- "texto": La cadena de texto o la referencia de celda de la que desea eliminar la primera palabra.
Ahora, por favor ingrese o copie la siguiente fórmula en una celda en blanco:
=RIGHT(A2,LEN(A2)-FIND(" ",A2))
Luego, arrastra el controlador de relleno hacia abajo para aplicar la fórmula a otras celdas, consulta la captura de pantalla:
Consejos: Si necesita eliminar las primeras N palabras de las celdas, utilice la siguiente fórmula:
- "texto": La cadena de texto o la referencia de celda de la que desea eliminar las primeras n palabras;
- "N": Indica cuántas palabras desea eliminar desde el inicio de la cadena de texto.
Por ejemplo, para eliminar las primeras dos palabras de las celdas, copie o ingrese la siguiente fórmula en una celda en blanco para obtener el resultado que necesita, vea la captura de pantalla:
=MID(TRIM(A2),1+FIND("~",SUBSTITUTE(TRIM(A2)," ","~",2)),255)
Eliminar la última palabra de una cadena de texto con fórmula
Para eliminar la última palabra de las cadenas de texto, también puedes usar una fórmula para resolver esta tarea, la sintaxis genérica es:
- "texto": La cadena de texto o la referencia de celda de la que desea eliminar la última palabra;
Por favor, use la siguiente fórmula en una celda en blanco y luego arrastre el controlador de relleno hacia abajo para aplicar la fórmula a otras celdas, vea la captura de pantalla:
=LEFT(TRIM(A2),FIND("~",SUBSTITUTE(A2," ","~",LEN(TRIM(A2))-LEN(SUBSTITUTE(TRIM(A2)," ",""))))-1)
Consejos: Para eliminar las últimas N palabras de una lista de celdas, la sintaxis genérica es:
- "texto": La cadena de texto o la referencia de celda de la que desea eliminar las últimas n palabras;
- "N": Indica el número de palabras que desea eliminar del final de la cadena de texto.
Supongamos que deseas eliminar las últimas 3 palabras de una lista de celdas, por favor, utiliza la siguiente fórmula para obtener el resultado, consulta la captura de pantalla:
=LEFT(A2,FIND("~",SUBSTITUTE(A2," ","~",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))-(3-1))))
4.2 Eliminar caracteres o palabras duplicadas dentro de una celda
Cuando se eliminan valores o filas duplicados, Excel ofrece algunas opciones diferentes; sin embargo, cuando se trata de eliminar algunos caracteres o palabras duplicadas dentro de una celda determinada, puede que no haya ninguna buena función integrada para resolverlo. En este caso, esta sección ayudará a crear algunas Funciones Definidas por el Usuario para abordar este problema.
Eliminar caracteres duplicados dentro de una celda utilizando una función definida por el usuario
Si tienes múltiples ocurrencias del mismo carácter en una celda, para eliminar los caracteres duplicados dentro de la celda y mantener solo las primeras ocurrencias, como se muestra en la siguiente captura de pantalla, puedes usar la siguiente Función Definida por el Usuario.
1. Mantenga presionadas las teclas "Alt + F11" para abrir la ventana "Microsoft Visual Basic for Applications".
2. Haz clic en "Insertar" > "Módulo" y pega el siguiente código en la Ventana del Módulo.
Código VBA: Eliminar caracteres duplicados dentro de una celda
Function RemoveDupeschars(pWorkRng As Range) As String
'Updateby Extendoffice
Dim xValue As String
Dim xChar As String
Dim xOutValue As String
Set xDic = CreateObject("Scripting.Dictionary")
xValue = pWorkRng.Value
For i = 1 To VBA.Len(xValue)
xChar = VBA.Mid(xValue, i, 1)
If xDic.Exists(xChar) Then
Else
xDic(xChar) = ""
xOutValue = xOutValue & xChar
End If
Next
RemoveDupeschars = xOutValue
End Function
3. Luego, cierra la ventana de código, regresa a la hoja de cálculo e introduce esta fórmula =RemoveDupeschars(A2) en una celda en blanco junto a tus datos, y luego arrastra el controlador de relleno sobre las celdas donde deseas aplicar esta fórmula, consulta la captura de pantalla:
Nota: "A2" es la celda de datos de la cual desea eliminar los caracteres duplicados.
Consejo: La función distingue entre mayúsculas y minúsculas, por lo que trata las letras en minúscula y mayúscula como caracteres diferentes.
Eliminar palabras duplicadas dentro de una celda utilizando una Función Definida por el Usuario
Supongamos que tienes las mismas palabras o cadenas de texto en una celda y deseas eliminar todas las palabras iguales de la celda, tal como se muestra en la captura de pantalla a continuación. Puedes usar la siguiente Función Definida por el Usuario para resolver esta tarea en Excel.
1. Mantenga presionadas las teclas "Alt + F11" para abrir la ventana "Microsoft Visual Basic for Applications".
2. Haz clic en "Insertar" > "Módulo" y pega el siguiente código en la Ventana del Módulo.
Código VBA: Eliminar palabras duplicadas dentro de una celda
Function RemoveDupeswords(txt As String, Optional delim As String = " ") As String
'Updateby Extendoffice
Dim x
With CreateObject("Scripting.Dictionary")
.CompareMode = vbTextCompare
For Each x In Split(txt, delim)
If Trim(x) <> "" And Not .exists(Trim(x)) Then .Add Trim(x), Nothing
Next
If .Count > 0 Then RemoveDupeswords = Join(.keys, delim)
End With
End Function
3. Luego, cierra la ventana de código, regresa a la hoja de cálculo e introduce esta fórmula =RemoveDupeswords(A2,", ") en una celda en blanco junto a tus datos, y luego arrastra el controlador de relleno sobre las celdas donde deseas aplicar esta fórmula, consulta la captura de pantalla:
Nota: "A2" es la celda de la que desea eliminar las palabras duplicadas, y la coma y el espacio (", " ) son los delimitadores para separar las cadenas de texto; puede cambiarlos a otros delimitadores según sus necesidades.
Consejo: Esta función no distingue entre mayúsculas y minúsculas, las letras en minúscula y mayúscula se tratan como los mismos caracteres.
4.3 Recortar cadena de texto a N palabras
Si tiene una cadena de texto larga en una celda, a veces, es posible que desee recortar la cadena de texto a un número determinado de palabras, lo que significa mantener solo las primeras n palabras y cortar el resto. En esta sección, hablaremos sobre algunos trucos para ayudarle a realizar esta tarea en Excel.
Recortar cadena de texto a N palabras con fórmula
Para recortar una cadena de texto a N palabras, puedes crear una fórmula basada en las funciones IZQUIERDA, ENCONTRAR y SUSTITUIR; la sintaxis genérica es:
- "texto": La cadena de texto o la referencia de celda que desea recortar;
- "N": El número de palabras que desea conservar desde el lado izquierdo de la cadena de texto dada.
Para manejar esta tarea, por favor copie o introduzca la siguiente fórmula en una celda en blanco:
=LEFT(A2,FIND("~",SUBSTITUTE(A2," ","~",B2))-1)
Luego, arrastra el controlador de relleno hacia abajo para aplicar esta fórmula a otras celdas, consulta la captura de pantalla:
Recortar cadena de texto a N palabras con Función Definida por el Usuario
Además de la fórmula anterior, también puedes crear una Función Definida por el Usuario para resolver esta tarea, sigue estos pasos:
1. Mantenga presionadas las teclas "Alt + F11" para abrir la ventana "Microsoft Visual Basic for Applications".
2. Haz clic en "Insertar" > "Módulo" y pega el siguiente código en la Ventana del Módulo.
Código VBA: Recortar cadena de texto a N palabras
Function GetNWords(StrWords As String, Num_of_Words As Integer) As String
'Updateby Extendoffice
Dim xArr
Dim xRes As String
Dim xF As Integer
xStr = StrWords
If (Num_of_Words < 1) Then
GetNWords = ""
Exit Function
End If
xArr = Split(xStr, " ")
xRes = ""
On Error Resume Next
For xF = 0 To UBound(xArr)
If Trim(xArr(xF)) <> "" Then
Num_of_Words = Num_of_Words - 1
If xRes = "" Then
xRes = Trim(xArr(xF))
Else
xRes = xRes & " " & Trim(xArr(xF))
End If
End If
If Num_of_Words = 0 Then Exit For
Next
If Num_of_Words = 0 Then
GetNWords = xRes & "..."
Else
GetNWords = xRes & "..."
End If
End Function
3. Luego, cierra y sal de la ventana de código, regresa a la hoja de cálculo e introduce esta fórmula: =GetNWords(A2,B2) en una celda en blanco, y luego arrastra el controlador de relleno hacia abajo para aplicar esta fórmula a otras celdas; solo se conservarán las primeras palabras específicas tal como se muestra en la siguiente captura de pantalla:
Las mejores herramientas de productividad para Office
Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!