목차
엑셀에서 셀 내의 중복 항목을 찾아 삭제하는 방법은 세 가지가 있습니다. 가장 적합한 것을 선택하기만 하면 됩니다.
중복 값이나 행을 제거해야 하는 경우 Microsoft Excel은 다양한 옵션을 제공합니다. 그러나 지정된 셀 내에서 동일한 텍스트를 제거하는 경우 Excel은 아무것도 제공하지 않습니다. 도구도, 기능도, 수식도, 아무것도 없습니다. 우리의 목표 달성을 방해할까요? 어떠한 경우에도. 엑셀에 우리가 원하는 기능이 없다면 직접 작성해 봅시다 :)
엑셀 셀에서 반복되는 단어를 제거하는 방법
문제 : 셀에 동일한 단어 또는 텍스트 문자열이 있고 두 번째 및 모든 후속 반복을 제거하고 싶습니다.
해결책 : 사용자 정의 사용자 정의 함수 또는 VBA 매크로.
셀 내의 중복을 제거하는 사용자 정의 함수
셀의 중복 텍스트를 제거하려면 다음 사용자 정의 함수(UDF)를 사용할 수 있습니다. , 명명된 RemoveDupeWords :
함수 RemoveDupeWords(문자열로 텍스트 , 선택적 구분 기호로 문자열 = " " ) 문자열로 Dim 사전으로 개체 Dim x로 부품 세트 사전 = CreateObject ( "Scripting.Dictionary" ) 사전 .CompareMode = vbTextCompare For Each x In Split(text, delimiter) part = Trim(x) If part "" And Not dictionary.Exists(part) Then dictionary.Add part, Nothing End If Next If dictionary.Count > 0 그런 다음 RemoveDupeWords = Join(dictionary.keys,delimiter) Else RemoveDupeWords = "" End If Set dictionary = Nothing End Function통합 문서에 함수의 코드를 삽입하는 방법
위 코드를 Excel에 추가하려면 다음을 수행해야 합니다.
- Alt + F11을 눌러 Visual Basic Editor를 엽니다.
- 왼쪽 창에서 ThisWorkbook 을 마우스 오른쪽 버튼으로 클릭하고 삽입 을 선택합니다. > Module .
- Code 창에 위의 코드를 붙여넣습니다.
자세한 내용은 VBA 삽입 방법을 참조하세요. Excel의 코드입니다.
RemoveDupeWords 함수 구문
셀에서 중복 텍스트를 제거하기 위해 새로 만든 함수의 구문은 다음과 같습니다.
RemoveDupeWords(text, [delimiter])Where :
- Text (필수) - 반복되는 텍스트를 삭제할 문자열 또는 셀.
- Delimiter (선택) - 반복되는 텍스트를 구분하는 구분 기호입니다. 생략하면 공백이 구분 기호로 사용됩니다.
이 기능은 대소문자를 구분하지 않습니다 . 즉, 소문자와 대문자가 같은 문자로 취급됩니다.
RemoveDupeWords 함수 사용 방법
함수의 코드가 통합 문서에 추가되면 Excel의 내장 함수를 사용하는 것과 같은 방식으로 수식에서 사용할 수 있습니다.
등호 뒤에 함수 이름을 입력하기 시작하면 intellisense 공식에 나타납니다. 기능을 두 번 클릭하면 사용할 수 있습니다.셀에 삽입되었습니다. 인수를 정의하고 닫는 괄호를 입력한 다음 Enter 키를 누르면 수식이 완성됩니다.
예를 들어 A2에서 쉼표와 공백으로 구분된 중복 단어를 삭제하려면 B2에 아래 수식을 입력한 다음 필요한 만큼 셀 아래로 드래그합니다.
=RemoveDupeWords(A2, ", ")
결과적으로 고유한 단어 또는 하위 문자열 목록이 <로 구분됩니다. 17>쉼표 및 공백 :
쉼표로 구분된 목록을 얻으려면 구분 기호에 쉼표만 사용하십시오. :
=RemoveDupeWords(A2, ",")
소스 데이터가 공백 으로 구분된 경우 두 번째 인수는 " "이거나 생략되어야 합니다.
=RemoveDupeWords(A2)
다른 Excel 기능과 마찬가지로 UDF는 소스 데이터가 변경되면 자동으로 다시 계산하므로 결과가 항상 최신 상태로 유지됩니다.
한 번에 여러 셀에서 중복 텍스트를 삭제하는 VBA 매크로
여러 셀에서 반복되는 텍스트를 한 번에 제거하려는 경우 여기에서 RemoveDupeWords 함수를 호출할 수 있습니다. m 매크로 내에서. 이 경우 구분 기호는 하드코딩되며 구분 기호가 변경될 때마다 매크로 코드를 업데이트해야 합니다. 또는 가장 일반적인 구분 기호(예: 공백, 쉼표 또는 쉼표와 공백)에 대한 몇 가지 코드 변형을 작성하고 매크로에 의미 있는 이름을 지정할 수 있습니다. RemoveDupesDelimSpace .
매크로의 코드는 다음과 같습니다.
Public Sub RemoveDupeWords2() Dim cell As Range For Each cell In Application.Selection cell.Value = RemoveDupeWords(cell.Value, ", " ) Next End Sub위 코드에서 구분 기호는 쉼표이고 공간 . 다른 구분 기호를 사용하려면 다음 코드 행에서 ", "를 다른 문자로 바꾸십시오.
cell.Value = RemoveDupeWords(cell.Value, ", ")
참고. 매크로가 작동하려면 해당 코드와 RemoveDupeWords 함수의 코드가 동일한 모듈에 배치되어야 합니다.
매크로 사용 방법
매크로의 코드를 자신의 통합 문서에 삽입하거나 코드가 포함된 샘플 통합 문서를 연 후 다음 단계를 수행하여 매크로를 실행합니다.
- 반복되는 텍스트를 제거할 셀 범위를 선택합니다.
- Alt + F8을 눌러 매크로 대화 상자를 엽니다.
- 매크로 목록에서 RemoveDupeWords2 를 선택합니다.
- 실행 을 클릭합니다.
자세한 내용은 방법을 참조하세요. Excel에서 매크로를 실행합니다.
참고. 매크로의 작업은 실행 취소 할 수 없으므로 매크로를 사용하기 직전에 통합 문서를 저장하는 것이 좋습니다. 이렇게 하면 문제가 발생하는 경우 통합 문서를 닫았다가 다시 열 수 있으며 정확히 원래 위치로 돌아갈 수 있습니다. 또는 매크로의 영향을 받을 수 있는 워크시트의 복사본을 만들 수 있습니다.
셀에서 중복 문자를 제거하는 방법
문제 : 한 셀에 같은 문자가 여러 번 나오는데 각각셀에는 지정된 문자가 한 번만 포함되어야 합니다.
해결책 : 사용자 정의 사용자 정의 함수 또는 VBA 매크로.
반복 문자를 삭제하는 사용자 정의 함수
첫 번째 항목만 유지하면서 셀 내에서 중복 문자를 제거하려면 RemoveDupeChars :
라는 사용자 정의 함수를 사용할 수 있습니다. Function RemoveDupeChars(text As String ) As String Dim dictionary As Object Dim char As String Dim result As String Set dictionary = CreateObject ( "Scripting.Dictionary" ) For i = 1 To Len(text) char = Mid(text, i, 1 ) If Not dictionary.Exists(char) Then dictionary.Add char, Nothing result = result & char End If Next RemoveDupeChars = result Set dictionary = Nothing End Function함수의 코드를 통합 문서에 삽입하는 단계는 이전 예제와 완전히 동일합니다.
RemoveDupeChars 함수 구문
이 사용자 지정 함수의 구문은 가능한 한 간단합니다. 하나의 인수만 필요합니다.
RemoveDupeChars(text)여기서 text 는 원하는 문자열 또는 셀입니다.
이 기능은 대소문자를 구분 하며 소문자와 대문자를 다른 문자로 취급합니다.
RemoveDupeChars 기능 사용 방법
RemoveDupeWords 사용에 대해 언급한 모든 내용은 RemoveDupeChars 에 적용됩니다. 그래서 가지 않고이론이 너무 많으니 바로 예를 들어 보겠습니다.
A2에서 시작하는 A열의 중복 문자를 삭제하려면 다음 수식을 B2에 입력하고 아래에 복사합니다.
=RemoveDupeChars(A2)
아래 이미지에서 볼 수 있듯이 이 함수는 문자, 숫자 및 특수 기호를 포함한 다양한 문자 유형을 성공적으로 처리합니다.
팁. 문자가 공백, 쉼표 또는 하이픈과 같은 일부 구분 기호 로 서로 구분되는 경우 이전 예에 표시된 대로 RemoveDupeWords 기능을 사용하십시오.
셀에서 동일한 문자를 제거하는 VBA 매크로
RemoveDupeWords 와 마찬가지로 RemoveDupeChars 기능도 매크로 내에서 호출할 수 있습니다.
공개 Sub RemoveDupeChars2() Dim cell As Range For Each cell In Application.Selection cell.Value = RemoveDupeChars(cell.Value) Next End Sub이 UDF는 구분 기호를 사용하지 않으므로 다음에서 조정할 필요가 없습니다. 코드.
참고. 매크로가 작동하려면 해당 코드와 RemoveDupeChars UDF 코드를 VBA 편집기의 동일한 모듈에 배치해야 합니다.
매크로 사용 방법
이미 통합 문서에 매크로 코드를 삽입했거나 코드가 포함된 샘플 통합 문서를 열었다고 가정하고 이 방법으로 매크로를 실행합니다.
- 반복되는 문자를 제거할 셀 범위를 선택합니다.
- Alt + F8을 눌러 매크로 대화 상자를 엽니다.상자.
- 매크로 목록에서 RemoveDupeChars2 를 선택합니다.
- 실행 을 클릭합니다.
Ultimate Suite로 중복 하위 문자열 제거
이 자습서의 시작 부분에서 Microsoft Excel에는 셀 내에서 중복을 제거하는 기능이 내장되어 있지 않다고 언급했습니다. 그러나 Ultimate Suite는 가능합니다!
Ablebits Data 탭의 Duplicate Remover 드롭다운 메뉴에서 Duplicate 그룹. 중복 하위 문자열 제거 옵션이 Excel에 표시되지 않으면 최신 버전의 Ultimate Suite가 설치되어 있는지 확인하십시오(여기에서 무료 평가판을 다운로드할 수 있음).
5초(단계당 1초) 안에 여러 셀에서 반복되는 단어나 텍스트를 제거하려면 다음을 수행해야 합니다.
- 소스 데이터를 선택하고 중복 하위 문자열 제거 도구.
- 구분 기호 를 지정합니다.
- 연속 구분 기호 를 하나로 처리할지 여부를 정의합니다(기본값).
- 대소문자 구분 또는 대소문자 구분 검색을 수행할지 여부를 선택합니다.
- 제거 를 클릭합니다.
완료! VBA나 수식을 만지작거리지 않고 빠르고 정확한 결과를 얻을 수 있습니다.
이 멋진 추가 기능에 대해 자세히 알아보려면 홈페이지를 방문하세요. 또는 아래에서 평가판을 다운로드하여 사용해 보십시오!
셀에서 중복 텍스트를 제거하는 방법입니다.읽어 주셔서 감사합니다. 다음 주 블로그에서 뵙기를 바랍니다!
사용 가능한 다운로드
셀(.xlsm 파일)에서 중복을 제거하는 예
Ultimate Suite 14 -day 전체 기능 버전(.exe 파일)