엑셀 셀 텍스트 합치는 방법(함수, 매크로)

2023. 4. 13. 15:41 / 서기랑

 엑셀의 기능을 보면 셀에 입력한 내용을 나누는 기능은 있지만 셀의 내용을 합치는 기능은 없다.

 대신 함수 중에는 텍스트를 합치는 함수가 있기 때문에 텍스트를 합치고자 한다면 이를 사용하면 되는데 엑셀의 버전에 따라 사용할 수 있는 함수가 다르며 최신 버전에서는 간단하게 합칠 수도 있다.

목차 (Contents)

     

    엑셀 셀 텍스트 합치는 방법(함수, 매크로)

    1. 기본 셀 텍스트 합치기.

     엑셀의 버전에 상관없이 사용가능한 방법으로는 CONCATENATE 함수를 사용하거나 수식에 &를 사용하는 것이다.

     합쳐야하는 텍스트나 셀의 수가 많아지면 번거로울 수 있으나 그렇지 않다면 무난하게 사용가능한 기본적인 방법이라고 보면 된다.

     기본적인 사용은 아래와 같다.

    =CONCATENATE(셀1, 셀2, ...)
    =셀1&셀2&...

     

     단순히 텍스트만 합치기보다 사이에 공백을 넣거나 , (콤마) 혹은 줄 바꿈을 하고자 한다면 합치는 텍스트 사이사이에 아래와 같은 값을 직접 넣어주면 된다.

     (줄바꿈의 경우에는 서식에서 줄 바꿈 설정까지 해야 적용된다.)

    =CONCATENATE(A2," ",A3)
    =A2&", "&A3)
    =CONCATENATE(A2,CHAR(10),A3)

    엑셀 텍스트 합치기 기본

    2. 엑셀 2016이상 셀 텍스트 합치기.

     합쳐야하는 셀의 수가 많아진다면 CONCATENATE 함수나 &를 사용해서 일일이 지정하는 것도 생각보다 큰일이 될 수 있다.

     이런 경우 사용하고 있는 엑셀이 2016 이상의 버전이라면 TEXTJOIN이라는 함수를 사용하여 범위를 선택해 한 번에 텍스트를 합치는 것도 가능하다.

     

     함수의 기본 사용 방법은 아래와 같다.

    =TEXTJOIN(구분자, 빈칸무시 옵션, 셀 범위 or TEXT)

     

    - 구분자 : TEXTJOIN 함수는 구분자를 직접 입력할 수 있게 되어 있으며 이 부분을 비워두면 구분자 없이 셀의 텍스트를 합치게 된다.

    - 빈칸무시 옵션 : 빈칸 무시 옵션은 합칠 셀 범위에 빈 셀이 있으면 무시할지 말지의 여부를 지정하는 옵션으로 빈 셀을 무시하고자 한다면 TRUE, 빈 셀도 포함하고자 한다면 FALSE 값을 넣으면 된다.

    - 셀 범위 : 말 그대로 합치고자하는 셀을 선택하거나 텍스트를 넣어주면 된다.

    CONCATENATE 함수와는 다르게 셀을 범위로 선택이 가능하며 단일 셀을 넣거나 텍스트를 넣어도 된다.

     

     아래와 같이 사용이 가능하며 구분자에 CHAR(10)을 넣으면 줄 바꿈도 가능하다.

    =TEXTJOIN(", ", TRUE, A2:A4)
    =TEXTJOIN(CHAR(10), FALSE, A2:A4)

    2016이상에서 합치기

    3. 텍스트 합치기 vba 매크로.

     엑셀이 2016버전이면 TEXTJOIN이라는 좋은 함수가 있기 때문에 굳이 매크로까지는 필요 없다.

     하지만 그 미만 버전이라면 셀 내용을 합치는 매크로를 만들어 사용해 보는 것도 좋다.

     

     엑셀에서 [ALT + F11]을 눌러 매크로를 실행한 뒤 [삽입 - 모듈]을 클릭하고 아래의 코드를 복사해서 붙여 넣자.

    Function MergeText(separator As String, ignoreEmpty As Boolean, textRange As Range) As String
        Dim cell As Range
        Dim result As String
        
        For Each cell In textRange
            If Not ignoreEmpty Or cell.Value <> "" Then
                result = result & cell.Value & separator
            End If
        Next cell
        
        MergeText = Left(result, Len(result) - Len(separator))
    End Function

    엑셀 매크로 함수 만들기

     코드를 붙여넣었다면 함수를 사용하면 된다.

     함수의 이름은 MergeText이며 사용 방법은 아래와 같은 형식으로 TEXTJOIN과 비슷하게 사용이 가능하다.

    =MergeText(" / ",FALSE,A2:A4)
    =MergeText(CHAR(10),TRUE,A2:A4)

    함수 실행 화면

     

    그 외 내용

     많은 양의 셀의 텍스트를 합쳐야 하지만 엑셀의 버전이 낮다면 매크로를 사용하는 것이 좋다.

     하지만 잠깐 사용할 것라면 구글 스프레드시트에서도 TEXTJOIN를 지원하니 구글 스프레드시에서 텍스트를 합친 뒤 엑셀로 복사하는 방법도 생각해 볼 수 있다.