Как я могу удалить четвертое слово в каждом столбце в электронной таблице Excel? Например, у меня есть "г-н и г-жа Smith". Я хочу сохранить г-на и г-жу, но удалить Smith. Разве там путь не состоит в том, чтобы найти и удалить 4-е слово? Большое спасибо за любую справку...
Это - своего рода обходное решение, но оно будет работать, если Вы будете просто иметь дело с обычным текстом (не формулы).
Скажем, Ваш лист с данными по нему называют "Sheet1". Создайте новый рабочий лист на своей электронной таблице (давайте предположим, что это называют "Sheet2"), и в A1, введите:
=IFERROR(LEFT(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))&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),""))
A1 ячейки копии и вставка это в ячейках на Sheet2, которые совпадают с ячейками на Sheet1 с данными, с которыми Вы хотите работать. (Таким образом, если Вы имеете данные по Sheet1 в ячейках A1 через D5, вставляете его на Sheet2 в ячейках A1 через D5.) Копируют все те ячейки, которые Вы вставили, переключатель к Sheet1 и значения вставки в пятнах соответствия. Можно теперь удалить Sheet2.
Вот более изящный/эффективный способ сделать это, если необходимо хорошо вставить в макросе Visual Basic:
Скажем, Ваш лист с данными по нему называют "Sheet1".
Вставьте следующее в окне, которое подходит в пространстве между "Sub DeleteFourthWord ()" и "Концом 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
Закройте окно Microsoft Visual Basic и нажмите Macros на вкладку Developer.
Примечание: Если Вы хотите удалить все после третьего слова, вставьте это вместо этого:
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
(Исходное Примечание: Я изменил инструкции относительно того, как получить вкладку Developer от Справочного файла Excel.)