Excel 스프레드 시트의 모든 열에서 네 번째 단어를 어떻게 삭제합니까? 예를 들어 “미스터 스미스 부인”이 있습니다. Mr.와 Mrs.를 유지하고 싶지만 Smith는 삭제합니다. 네 번째 단어를 찾아서 삭제하는 방법이 없습니까? 도움을 주셔서 대단히 감사합니다 …
답변
이것은 일종의 해결 방법이지만 공식이 아닌 일반 텍스트를 처리하는 경우 작동합니다.
데이터가있는 시트를 “Sheet1″이라고합니다. 스프레드 시트에 새 워크 시트를 작성하고 ( “시트 2″라고 가정) 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를 삭제할 수 있습니다.
답변
이것은 벽에서 벗어난 아이디어 일 수 있지만 파일을 공백으로 구분 된 파일로 만든 다음 Excel로 열어보십시오. 이제 네 번째 열을 삭제하십시오. 이것은 종이에 잘 들립니다 … 이 외에는 모르겠습니다.
답변
Visual Basic 매크로에 붙여 넣어도 더 우아하고 효율적인 방법은 다음과 같습니다.
데이터가있는 시트를 “Sheet1″이라고합니다.
- 온 개발자 탭을 클릭 매크로 . ( 개발자 탭 이없는 경우 창의 왼쪽 상단에 있는 큰 둥근 Microsoft Office 단추 를 클릭하고 Excel 옵션 을 클릭 한 다음 인기 를 클릭 한 다음 리본에서 개발자 탭 표시 확인란 을 클릭하십시오 ).
- 대화 상자가 나타납니다. 매크로 이름 : 텍스트 상자 에서 매크로 이름을 지정하십시오. DeleteFourthWord 와 같은 것이 작동합니다.
- 만들기 버튼을 클릭하십시오 . ( 만들기 단추가 여전히 비활성화되어 있으면 매크로 이름에서 공백과 문장 부호를 제거하십시오.)
-
“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
-
Microsoft Visual Basic 창을 닫고 개발자 탭 에서 매크로 를 클릭 하십시오.
- 방금 만든 매크로를 선택하고 옵션 … 버튼을 클릭하십시오 .
- 아래 바로 가기 키 ,이 기능을 사용 (I이 예에서 “t”키를 사용합니다) 거기를 입력 할 수있는 바로 가기 키를 선택하십시오.
- 푸시 OK 버튼을 누른 다음 닫습니다 매크로 대화 상자를.
- 네 번째 단어를 제거 할 셀을 선택하고 바로 가기 키 (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 도움말 파일에서 개발자 탭을 얻는 방법에 대한 지침을 수정했습니다.)