Excel: elimine la cuarta palabra en cada columna

Excel: elimine la cuarta palabra en cada columna

¿Cómo puedo eliminar la cuarta palabra de cada columna de una hoja de cálculo de Excel? Por ejemplo, tengo "Sr. y Sra. Smith". Quiero conservar al Sr. y a la Sra. pero eliminar a Smith. ¿No hay alguna manera de buscar y eliminar la cuarta palabra? Muchas gracias por cualquier ayuda...

Respuesta1

Esta es una especie de solución alternativa, pero funcionará si solo se trata de texto normal (no de fórmulas).

Digamos que su hoja con datos se llama "Hoja1". Cree una nueva hoja de trabajo en su hoja de cálculo (supongamos que se llama "Hoja2") y en A1, escriba:

=IFERROR(LEFT(Sheet1!A1,FIND(" ",Sheet1!A1,FIND(" ",Sheet1!A1,FIND(" ",Sheet1!A1)+1)+1)-1),"")

Si quieres eliminarsolola cuarta palabra, escriba:

=IFERROR(LEFT(Sheet1!A1,FIND(" ",Sheet1!A1,FIND(" ",Sheet1!A1,FIND(" ",Sheet1!A1)+1)+1))&RIGHT(Sheet1!A1,LEN(Sheet1!A1)-FIND(" ",Sheet1!A1,FIND(" ",Sheet1!A1,FIND(" ",Sheet1!A1,FIND(" ",Sheet1!A1)+1)+1)+1)),IFERROR(LEFT(Sheet1!A1,FIND(" ",Sheet1!A1,FIND(" ",Sheet1!A1,FIND(" ",Sheet1!A1)+1)+1)-1),""))

Copie la celda A1 y péguela en las celdas de la Hoja2 que coincidan con las celdas de la Hoja1 con los datos con los que desea trabajar. (Entonces, si tiene datos en la Hoja1 en las celdas A1 a D5, péguelos en la Hoja2 en las celdas A1 a D5). Copie todas las celdas que pegó, cambie a la Hoja1 ypegar valoresen los lugares coincidentes. Ahora puede eliminar la Hoja2.

Respuesta2

Esta podría ser una idea descabellada, pero intente convertir el archivo en un archivo delimitado por espacios y luego ábralo con Excel. Ahora elimine la cuarta columna.Esto suena bien sobre el papel...Aparte de esto, no lo sé.

Respuesta3

Aquí hay una forma más elegante/eficiente de hacerlo, si puede pegar una macro de Visual Basic:

Digamos que su hoja con datos se llama "Hoja1".

  1. Sobre elDesarrolladorpestaña, haga clicmacros. (Si no hayDesarrolladorpestaña, haga clic en la ronda grandeBotón de Microsoft Officeen la parte superior izquierda de la ventana, haga clic enOpciones de Excel, luego haga clicPopulary luego haga clic enMostrar la pestaña Desarrollador en la cintacasilla de verificación).
  2. Aparecerá un cuadro de diálogo. En elNombre de la macro:cuadro de texto, nombre su macro; algo comoEliminar cuarta palabratrabajará.
  3. Haga clic en elCrearbotón. (Si elCrearEl botón aún está deshabilitado, elimine los espacios y la puntuación del nombre de su macro).
  4. Pegue lo siguiente en la ventana que aparece, en el espacio entre "Sub DeleteFourthWord()" y "End Sub":

     For Each c In ActiveCell.CurrentRegion.Cells
            If c.HasFormula = False Then
                Original_Cell_Text = c.Value
                Text_To_Parse = Original_Cell_Text
                Word1 = Left(Text_To_Parse, InStr(1, Text_To_Parse, " ", vbTextCompare))
                If Len(Word1) = 0 Then
                    Word1 = Text_To_Parse
                    Text_To_Parse = ""
                Else
                    Text_To_Parse = Right(Text_To_Parse, Len(Text_To_Parse) - Len(Word1))
                End If
                Word2 = Left(Text_To_Parse, InStr(1, Text_To_Parse, " ", vbTextCompare))
                If Len(Word2) = 0 Then
                    Word2 = Text_To_Parse
                    Text_To_Parse = ""
                Else
                    Text_To_Parse = Right(Text_To_Parse, Len(Text_To_Parse) - Len(Word2))
                End If
                Word3 = Left(Text_To_Parse, InStr(1, Text_To_Parse, " ", vbTextCompare))
                If Len(Word3) = 0 Then
                    Word3 = Text_To_Parse
                    Text_To_Parse = ""
                Else
                    Text_To_Parse = Right(Text_To_Parse, Len(Text_To_Parse) - Len(Word3))
                End If
                Word4 = Left(Text_To_Parse, InStr(1, Text_To_Parse, " ", vbTextCompare))
                If Len(Word4) = 0 Then
                    Word4 = Text_To_Parse
                    Text_To_Parse = ""
                Else
                    Text_To_Parse = Right(Text_To_Parse, Len(Text_To_Parse) - Len(Word4))
                End If
                Remaining_Text = Text_To_Parse
                If (Len(Word1) > 0 And Len(Word2) > 0 And Len(Word3) > 0 And Len(Word4) > 0) Then
                    If Len(Remaining_Text) > 0 Then
                        c.Value = Word1 + Word2 + Word3 + Remaining_Text
                    Else
                        c.Value = Word1 + Word2 + Word3
                    End If
                End If
            End If
        Next
    
  5. Cierra elMicrosoftVisual Basicventana y haga clicmacrossobre elDesarrolladorpestaña.

  6. Seleccione la macro que acaba de crear y haga clic enOpciones...botón.
  7. BajoTecla de acceso directo, elija una tecla de método abreviado para usar en esta función (usaré la tecla "t" en este ejemplo) y escríbala allí.
  8. Empuja elDE ACUERDOy luego cierre elMacrocaja de diálogo.
  9. Seleccione las celdas de las que desea eliminar la cuarta palabra y presione la tecla de método abreviado (como Ctrl+t). Puedes repetir este paso tantas veces como quieras.

Nota:Si desea eliminar todo después de la tercera palabra, pegue esto en su lugar:

For Each c In ActiveCell.CurrentRegion.Cells
    If c.HasFormula = False Then
        Original_Cell_Text = c.Value
        Text_To_Parse = Original_Cell_Text
        Word1 = Left(Text_To_Parse, InStr(1, Text_To_Parse, " ", vbTextCompare))
        If Len(Word1) = 0 Then
            Word1 = Text_To_Parse
            Text_To_Parse = ""
        Else
            Text_To_Parse = Right(Text_To_Parse, Len(Text_To_Parse) - Len(Word1))
        End If
        Word2 = Left(Text_To_Parse, InStr(1, Text_To_Parse, " ", vbTextCompare))
        If Len(Word2) = 0 Then
            Word2 = Text_To_Parse
            Text_To_Parse = ""
        Else
            Text_To_Parse = Right(Text_To_Parse, Len(Text_To_Parse) - Len(Word2))
        End If
        Word3 = Left(Text_To_Parse, InStr(1, Text_To_Parse, " ", vbTextCompare))
        If Len(Word3) = 0 Then
            Word3 = Text_To_Parse
            Text_To_Parse = ""
        Else
            Text_To_Parse = Right(Text_To_Parse, Len(Text_To_Parse) - Len(Word3))
        End If
        Remaining_Text = Text_To_Parse
        If (Len(Word1) > 0 And Len(Word2) > 0 And Len(Word3) > 0) Then
            c.Value = Word1 + Word2 + Word3
        End If
    End If
Next

(Nota de la fuente: modifiqué las instrucciones sobre cómo obtener la pestaña Desarrollador del archivo de Ayuda de Excel).

información relacionada