
Excel 스프레드시트의 모든 열에서 네 번째 단어를 어떻게 삭제합니까? 예를 들어 '스미스 씨와 부인'이 있습니다. Mr.와 Mrs.는 유지하고 Smith는 삭제하고 싶습니다. 4번째 단어 찾아서 삭제하는 방법은 없나요? 어떤 도움을 주셔서 정말 감사합니다...
답변1
이는 일종의 해결 방법이지만 일반 텍스트(수식이 아닌)만 다루는 경우에는 작동합니다.
데이터가 포함된 시트를 "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 셀을 복사하여 작업하려는 데이터가 있는 Sheet1의 셀과 일치하는 Sheet2의 셀에 붙여넣습니다. (따라서 A1~D5 셀의 Sheet1에 데이터가 있는 경우 A1~D5 셀의 Sheet2에 데이터를 붙여넣습니다.) 붙여넣은 셀을 모두 복사하고 Sheet1로 전환한 다음값 붙여넣기일치하는 지점에서. 이제 Sheet2를 삭제할 수 있습니다.
답변2
엉뚱한 아이디어일 수도 있지만 파일을 공백으로 구분된 파일로 만든 다음 Excel로 열어보세요. 이제 4번째 열을 삭제하세요.서류상으로는 좋은 것 같은데...이 외에는 모르겠습니다.
답변3
Visual Basic 매크로를 붙여넣어도 괜찮다면 다음은 보다 우아하고 효율적인 방법입니다.
데이터가 포함된 시트를 "Sheet1"이라고 가정해 보겠습니다.
- 에개발자탭, 클릭매크로. (없으면개발자탭에서 큰 원형을 클릭하세요.마이크로소프트 오피스 버튼창 왼쪽 상단에서엑셀 옵션을 클릭한 다음인기 있는을 클릭한 다음리본에 개발자 탭 표시확인란).
- 대화 상자가 나타납니다. 에서매크로 이름:텍스트 상자에서 매크로 이름을 지정하세요. 같은 것삭제넷째단어작동합니다.
- 다음을 클릭하세요.만들다단추. (만약만들다버튼이 여전히 비활성화되어 있으면 매크로 이름에서 공백과 구두점을 제거하세요.)
나타나는 창의 "Sub DeleteFourthWord()"와 "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
닫기마이크로소프트 비주얼 베이직창을 클릭하고매크로에개발자탭.
- 방금 만든 매크로를 선택하고옵션...단추.
- 아래에단축 키, 이 기능에 사용할 바로가기 키를 선택하고(이 예에서는 "t" 키를 사용하겠습니다) 여기에 입력합니다.
- 푸시좋아요버튼을 누른 다음 닫으세요.매크로대화 상자.
- 네 번째 단어를 제거하려는 셀을 선택하고 단축키(예: Ctrl+t)를 누릅니다. 이 단계를 원하는 만큼 반복할 수 있습니다.
메모:세 번째 단어 뒤의 모든 내용을 삭제하려면 다음을 붙여넣으세요.
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
(출처 참고: Excel 도움말 파일에서 개발자 탭을 가져오는 방법에 대한 지침을 수정했습니다.)