
¿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".
- 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).
- Aparecerá un cuadro de diálogo. En elNombre de la macro:cuadro de texto, nombre su macro; algo comoEliminar cuarta palabratrabajará.
- 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).
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
Cierra elMicrosoftVisual Basicventana y haga clicmacrossobre elDesarrolladorpestaña.
- Seleccione la macro que acaba de crear y haga clic enOpciones...botón.
- 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í.
- Empuja elDE ACUERDOy luego cierre elMacrocaja de diálogo.
- 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).