Cómo Eliminar Texto Antes O Después De Un Carácter Específico En Excel

Cuando se trabaja con datos de texto en Excel, puede tener la necesidad de eliminar el texto antes o después de un carácter específico o cadena de texto.

Por ejemplo, si tiene los datos de nombre y designación de las personas, es posible que desee eliminar la designación después de la coma y sólo mantener el nombre (o viceversa, donde mantiene la designación y elimina el nombre).

Conjunto de datos donde se ha eliminado el texto después de la coma

A veces, se puede hacer con una simple fórmula o un rápido Buscar y Reemplazar, y a veces, se necesitan fórmulas más complejas o soluciones.

En este tutorial, le mostraré cómo eliminar el texto antes o después de un carácter específico en Excel (utilizando diferentes ejemplos).

Así que vamos a empezar con algunos ejemplos simples.

Este tutorial cubre:

Eliminar el texto después de un carácter usando Buscar y Reemplazar

Si quieres eliminar rápidamente todo el texto después de una cadena de texto específica (o antes de una cadena de texto), puedes hacerlo usando Buscar y Reemplazar y caracteres comodín.

Suponga que tiene un conjunto de datos como el que se muestra a continuación y quiere eliminar la designación después del carácter coma y mantener el texto antes de la coma.

Conjunto de datos del que necesita eliminar el texto después de un carácter específico

A continuación se muestran los pasos para hacerlo:

  1. Copiar y pegar los datos de la columna A a la columna B (esto es para mantener los datos originales también)Copiar y pegar los datos de la columna A a la Col B
  2. Con las celdas de la columna B seleccionadas, haga clic en la pestaña InicioHaga clic en la pestaña Inicio
  3. En el grupo Edición, haga clic en la opción Buscar & Seleccionar
  4. En las opciones que aparecen en el desplegable, haga clic en la opción Reemplazar. Esto abrirá el cuadro de diálogo Buscar y reemplazarHaga clic en la opción Reemplazar
  5. En el campo ‘Buscar qué’, introduzca ,* (es decir, coma seguida de un signo de asterisco)Introduzca la coma y el asterisco en el campo buscar qué
  6. Deje el campo ‘Reemplazar con’ vacíoDeje en blanco Reemplazar con.
  7. Haga clic en el botón Reemplazar todoHaga clic en Reemplazar todo
  8. Los pasos anteriores encontrarían la coma en el conjunto de datos y eliminarían todo el texto después de la coma (incluida la coma).

    Conjunto de datos donde se ha eliminado el texto después de la coma

    Dado que esto reemplaza el texto de las celdas seleccionadas, es una buena idea copiar el texto en otra columna y luego realizar esta operación de búsqueda y reemplazo, o crear una copia de seguridad de sus datos para que tenga los datos originales intactos

    ¿Cómo funciona esto?

    * (signo de asterisco) es un carácter comodín que puede representar cualquier número de caracteres.

    Cuando lo uso después de la coma (en el campo ‘Buscar qué’) y luego hago clic en el botón Reemplazar todo, encuentra la primera coma de la celda y la considera una coincidencia.

    Esto se debe a que el signo asterisco (*) se considera una coincidencia con toda la cadena de texto que sigue a la coma.

    Así que cuando se pulsa el botón de reemplazar todo, se reemplaza la coma y todo el texto que le sigue.

    Nota: Este método funciona bien entonces sólo tienes una coma en cada celda (como en nuestro ejemplo). En caso de que tengas varias comas, este método siempre encontraría la primera coma y luego eliminaría todo lo que hay después de ella. Así que no puedes usar este método si quieres reemplazar todo el texto después de la segunda coma y mantener la primera como está.

    En caso de que quiera eliminar todos los caracteres antes de la coma, cambie la entrada del campo encontrar qué por el signo de asterisco antes de la coma (*, en lugar de ,*)

    Eliminar texto usando fórmulas

    Si necesita más control sobre cómo encontrar y reemplazar texto antes o después de un carácter específico, es mejor usar las fórmulas de texto incorporadas en Excel.

    Suponga que tiene el siguiente conjunto de datos Donde desea eliminar todo el texto después de la coma.

    Conjunto de datos del que necesita eliminar el texto después de un carácter específico

    A continuación se muestra la fórmula para hacer esto:

    =LEFT(A2,FIND(",",A2)-1)

    Fórmula para eliminar la coma después de la coma

    La fórmula anterior utiliza la función FIND para encontrar la posición de la coma en la celda.

    Este número de posición es luego utilizado por la función LEFT para extraer todos los caracteres antes de la coma. Como no quiero que la coma forme parte del resultado, he restado 1 al valor resultante de la fórmula Find.

    Este ha sido un escenario sencillo.

    Tomemos uno un poco complejo.

    Supongamos que tengo este conjunto de datos de abajo donde quiero eliminar todo el texto después de la segunda coma.

    Conjunto de datos con dos comas

    Aquí está la fórmula que hará esto:

    =LEFT(A2,FIND("!",SUBSTITUTE(A2,",","!",2))-1)

    Fórmula para eliminar el texto después de la segunda coma

    Como este conjunto de datos tiene varias comas, no puedo utilizar la función FIND para obtener la posición de la primera coma y extraer todo lo que está a la izquierda de ella.

    Necesito encontrar de alguna manera la posición de la segunda coma y luego extraer todo lo que está a la izquierda de la segunda coma.

    Para ello, he utilizado la función SUBSTITUTE para cambiar la segunda coma por un signo de exclamación. Ahora esto me da un carácter único en la celda. Ahora puedo utilizar la posición del signo de exclamación para extraer todo lo que está a la izquierda de la segunda coma.

    Esta posición del signo de exclamación se utiliza en la función IZQUIERDA para extraer todo lo que está antes de la segunda coma.

    ¡Hasta aquí todo bien!

    Pero qué pasa si hay un número inconsistente de comas en el conjunto de datos.

    Por ejemplo, en el siguiente conjunto de datos algunas celdas tienen dos comas y otras tienen tres comas, y necesito extraer todo el texto antes de la última coma.

    Conjunto de datos con múltiples comas

    En este caso, necesito averiguar de alguna manera la posición de la última ocurrencia de la coma y luego extraer todo a la izquierda de la misma.

    Abajo está la fórmula que hará eso

    =LEFT(A2,FIND("!",SUBSTITUTE(A2,",","!",LEN(A2)-LEN(SUBSTITUTE(A2,",",""))))-1)

    Fórmula para eliminar el texto después de la última ocurrencia de la coma

    La fórmula anterior utiliza la función LEN para encontrar la longitud total del texto en la celda, así como la longitud del texto sin la coma.

    Al restar estos dos valores, me da el número total de comas en la celda.

    Así, me daría 3 para la celda A2 y 2 para la celda A4.

    Este valor se utiliza entonces dentro de la fórmula SUSTITUIR para sustituir la última coma por un signo de exclamación. Y luego puede utilizar la función izquierda extraer todo lo que está a la izquierda del signo de exclamación (que es donde estaba la última coma)

    Como puede ver en los ejemplos, el uso de una combinación de fórmulas de texto le permite manejar muchas situaciones diferentes.

    Además, como el resultado está vinculado con los datos originales, cuando cambies los datos originales el resultado se actualizaría automáticamente.

    Eliminar texto usando Flash Fill

    Flash Fill es una herramienta que se introdujo en Excel 2013 y está disponible en todas las versiones posteriores.

    Funciona identificando patrones cuando introduces manualmente los datos y luego los extrapola para darte los datos de toda la columna.

    Así que si quieres eliminar el texto antes o después de un carácter específico, sólo tienes que mostrar a flash fairy cómo sería el resultado (introduciéndolo manualmente un par de veces ), y flash fill entendería automáticamente el patrón y te daría los resultados.

    Déjame mostrarte esto con un ejemplo.

    Abajo tengo el conjunto de datos donde quiero eliminar todo el texto después de la coma.

    Conjunto de datos del que necesito eliminar el texto después de un carácter específico

    Aquí están los pasos para hacer esto usando Flash Fill:

    1. En la celda B2, que es la columna adyacente de nuestros datos, introducir manualmente ‘Jeffery Haggins’ (que es el resultado esperado)Introducir el resultado esperado en la primera celda
    2. En la celda B3, introduzca ‘Tim Scott’ (que es el resultado esperado para la segunda celda)Introduzca el resultado esperado en la segunda celda
    3. Seleccione el rango B2:B10Seleccione todo el rango
    4. Haga clic en la pestaña Inicio
    5. En el grupo Edición, haga clic en la opción desplegable Relleno
    6. Haga clic en Relleno FlashHaga clic en Relleno Flash
    7. Los pasos anteriores le darían el resultado que se muestra a continuación:

      Resultado de Flash Fill

      También puede utilizar el atajo de teclado Flash Fill Control + E después de seleccionar las celdas en la columna de resultados (Columna B en nuestro ejemplo)

      Flash Fill es una herramienta maravillosa y en la mayoría de los casos, es capaz de reconocer el patrón y darle el resultado correcto. pero en algunos casos, puede no ser capaz de reconocer el patrón correctamente y puede darle los resultados incorrectos.

      Así que asegúrese de comprobar dos veces sus resultados de Flash Fill

      Y al igual que hemos eliminado todo el texto después de un carácter específico utilizando flash fill, puede utilizar los mismos pasos para eliminar el texto antes de un carácter específico.Sólo tiene que mostrar flash fill cómo el resultado debe ser como mi Internet manualmente en la columna adyacente, y haría el resto.

      Eliminar texto usando VBA (función personalizada)

      Todo el concepto de eliminar el texto antes o después de un carácter específico depende de encontrar la posición de ese carácter.

      Como si se viera arriba, encontrar la última ocurrencia de ese carácter bueno significa usar un brebaje de fórmulas.

      Si esto es algo que necesita hacer con bastante frecuencia, puede simplificar este proceso creando una función personalizada usando VBA (llamada Funciones Definidas por el Usuario).

      Una vez creada, puede reutilizar esta función una y otra vez. También es mucho más simple y fácil de usar (ya que la mayor parte del trabajo pesado lo realiza el código VBA en el back-end).

      A continuación, el código VBA que puede utilizar para crear la función personalizada en Excel:

      Function LastPosition(rCell As Range, rChar As String)'This function gives the last position of the specified character'This code has been developed by Sumit Bansal (https://trumpexcel.com)Dim rLen As IntegerrLen = Len(rCell)For i = rLen To 1 Step -1If Mid(rCell, i - 1, 1) = rChar ThenLastPosition = i - 1Exit FunctionEnd IfNext iEnd Function

      Debe colocar el código VBA en un módulo regular en el Editor VB, o en el Libro de trabajo de macros personales. Una vez que lo tengas ahí, puedes usarlo como cualquier otra función regular de la hoja de trabajo en el libro de trabajo.

      Esta función toma 2 argumentos:

      1. La referencia de la celda para la que quiere encontrar la última aparición de un carácter o cadena de texto específico
      2. El carácter o cadena de texto cuya posición necesita encontrar

      Suponga que ahora tiene el conjunto de datos de abajo y quiere eliminar todo el texto después de la última coma y tener sólo el texto antes de la última coma.

      Abajo está la fórmula que hará eso:

      =LEFT(A2,LastPosition(A2,",")-1)

      Función personalizada de VBA para eliminar el texto después de un carácter específico

      En la fórmula anterior, he especificado encontrar la posición de la última coma. En caso de que quiera encontrar la posición de algún otro carácter o cadena de texto, debe utilizarlo como segundo argumento en la función.

      Como puede ver, esto es mucho más corto y fácil de usar, en comparación con la fórmula de texto larga que utilizamos la sección anterior

      Si pone el código VBA en un módulo en un libro de trabajo, sólo podría utilizar esta función personalizada en ese libro de trabajo específico. Si desea utilizar esto en todos los libros de trabajo en su sistema, es necesario copiar y pegar este código en el libro de trabajo de macros personales.

      Así que estos son algunos de los correos que puede utilizar para eliminar rápidamente el texto antes o después de un carácter específico en Excel.

      Si se trata de una simple cosa de una sola vez, entonces usted puede hacer que el uso de buscar y reemplazar.Lo que si es un poco más complejo, entonces usted necesita para utilizar una combinación de fórmulas incorporadas de Excel, o incluso crear su propia fórmula personalizada utilizando VBA.

      Espero que hayas encontrado este tutorial útil.

      Otros tutoriales de Excel que te pueden gustar:

  • Cuento de caracteres en una celda (o rango de celdas) usando fórmulas en Excel
  • Cómo eliminar el primer carácter de una cadena en Excel
  • Cómo eliminar la coma en Excel (de texto y números)
  • Cómo extraer la primera palabra de una cadena de texto en Excel
  • Separar el nombre y el apellido en Excel (dividir nombres usando fórmulas)
    • .

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *