오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴

엑셀 TEXTJOIN 함수 (엑셀 2016 이전 버전 사용자용)

선택된 범위의 값을 구분자로 합친 문자열을 반환하는 TEXTJOIN 함수의 2016 이전 버전 사용자용 버전입니다.

작성자 :
오빠두엑셀
최종 수정일 : 2021. 11. 10. 02:40
URL 복사
메모 남기기 : (9)

엑셀 TEXTJOIN 함수 (2016 이전버전 사용자용)

함수 구문
= TEXTJOIN (구분자, 빈칸무시, 범위)
사용된 인수

TEXTJOIN 함수에는 3개의 인수가 사용됩니다.

  • 구분자 : 각 셀을 나눌 구분자입니다. (예: ", " 또는 " / ", 등)
  • 빈칸무시 : TRUE일 경우 빈칸인 셀은 무시하고 병합합니다.
  • 범위 : 텍스트를 병합할 범위입니다. 1개 또는 여러개 범위를 입력할 수 있습니다.

TEXTJOIN 함수 사용법 및 주의사항은 관련포스트에서 자세히 설명드렸습니다.

설명

TEXTJOIN 함수엑셀 2019 이상 버전에서만 제공되는 함수입니다. 따라서, 엑셀 2016 이전 버전을 사용중이고 TEXTJOIN 함수가 필요할경우, 아래 VBA 코드를 파일 모듈에 추가하거나 또는 추가기능을 설치하여 사용할 수 있습니다. (추가기능으로 제공되는 TEXTJOIN 함수는 엑셀 기존함수와 동일하게 동작합니다.)

함수 사용예제
TEXTJOIN 함수 2016 이전 버전 사용자용 사용예제 GIF
2016 이전 버전에서도 TEXTJOIN 함수를 사용할 수 있습니다
  • =TEXTJOIN(", ", TRUE, {"가", "", "다", "라"})
    '// "가, 다, 라" 를 반환합니다.
  • =TEXTJOIN(", ", FALSE, {"가", "", "다", "라"})
    '// "가, , 다, 라" 를 반환합니다.
  • =TEXTJOIN("+", TRUE, {1, 2, , 4} , {5, 6, , 8})
    '// "1+2+4+5+6+8"을 반환합니다.

예제파일 다운로드

오빠두엑셀의 강의 예제파일은 여러분을 위해 자유롭게 제공하고 있습니다.

  • [엑셀VBA함수] TEXTJOIN :: 텍스트 합치기 함수
    완성파일

TEXTJOIN 함수 VBA 전체 명령문
Public Function TEXTJOIN(ByVal delimiter As String, _
                            ByVal ignore_empty As Boolean, _
                            ParamArray vaRngs() As Variant)
 
'###############################################################
'오빠두엑셀 VBA 사용자 지정함수 (https://www.oppadu.com/VBA-TEXTJOIN-함수)
'■ TEXTJOIN 명령문
'■ TEXTJOIN 함수를 지원하지 않는 엑셀 2016 이전 버전 사용자를 위한 사용자지정함수입니다.
'■ 범위안의 각 셀을 구분자로 분리하여 긴 문자열로 병합합니다.
'■ 인수 설명
'_____________delimiter : 각 셀을 구분할 구분자입니다.
'_____________ignore_empty : 빈 셀이 있을경우 무시할지 여부입니다.
'_____________rng :병합할 범위입니다.
'■ 사용된 기타 사용자지정함수
'■ 그외 참고사항
'###############################################################
 
Dim vaRng As Variant
Dim Rng As Variant
Dim strResult As String
 
For Each vaRng In vaRngs
    For Each Rng In vaRng
        If ignore_empty = True Then
            If Rng <> "" Then strResult = strResult & Rng & delimiter
        Else
            strResult = strResult & Rng & delimiter
        End If
    Next
Next
 
strResult = Left(strResult, Len(strResult) - Len(delimiter))
TEXTJOIN = strResult
 
End Function

VBA 명령문 단계별 알아보기

  1. 명령문에 사용할 변수를 생성합니다.
    Dim vaRng As Variant
    Dim Rng As Variant
    Dim strResult As String
    변수명 데이터타입 설명
    vaRng Variant 인수로 받아온 vaRngs의 값을 For Each 문으로 하나씩 받아옵니다.
    Rng Range vaRng의 값을 For Each 문으로 하나씩 받아옵니다.
    strResult String 결과값으로 출력될 텍스트입니다.
  2. 범위로 받아온 값을 하나씩 돌아가며 strResult의 값으로 더해줍니다. "ignore_empty" 값이 TRUE일 경우, Rng 값이 빈칸이 아닐 경우에만 strResult에 값을 더해줍니다.
    For Each vaRng In vaRngs
        For Each Rng In vaRng
            If ignore_empty = True Then
                If Rng <> "" Then strResult = strResult & Rng & delimiter
            Else
                strResult = strResult & Rng & delimiter
            End If
        Next
    Next
  3. strResult 끝에 붙은 구분자를 제거한 뒤, TEXTJOIN 함수의 결과값을 출력합니다.
    strResult = Left(strResult, Len(strResult) - Len(delimiter))
    TEXTJOIN = strResult

링크: MS홈페이지 TEXTJOIN 함수 상세설명

댓글 9
4.8 (5개 평가)
신승창
신승창 2020.06.13 22:02
2016버전의 액셀인데 안돼요 ㅜㅜ
오빠두엑셀
오빠두엑셀 작성자 2020.06.14 01:22
추가기능 설치 방법은 아래 링크를 확인해보세요.
https://www.oppadu.com/%ec%97%91%ec%85%80-%ec%b6%94%ea%b0%80%ea%b8%b0%eb%8a%a5-%ec%84%a4%ec%b9%98%eb%b0%a9%eb%b2%95/
~~인데 안돼요 라고만 적어주시면 정확한 답변을 드릴 수가 없습니다 ^^;
호잇호
호잇호 2021.02.23 16:51
다운로드 버튼 클릭시에 로딩이 안되고아래와 같은 메시지가 떠요


사이트에 연결할 수 없음연결이 재설정되었습니다.다음 방법을 시도해 보세요.
ERR_CONNECTION_RESET
오빠두엑셀
오빠두엑셀 작성자 2021.02.23 22:50
안녕하세요.
혹시 사용중이신 인터넷 환경이 구글 접속이 제한되는 환경이신가요?
그럴 경우 모바일테더링이나 다른 인터넷 환경으로 바꾼 뒤 다시 시도해보시기 바랍니다.
빠샤
빠샤 2021.03.23 17:29
잘쓰겠습니다
강민준🤗
강민준🤗 2024.08.11 13:06
좋은 자료 감사합니다.🙇‍♂️
베일
베일 2024.08.23 13:42
안녕하세요 좋은 정보 감사합니다
위 모듈로 저장해서 사용했을때 공란인값은 0으로 표기가 되는데 왜그럴까요?
한셀에서는 공란무시가 값이 안나오는데 엑셀2016 에서는 값이 나오네요;;;
오빠두엑셀
오빠두엑셀 작성자 2024.08.25 03:17
안녕하세요. 오빠두엑셀입니다.
해당 게시글에서 소개해드린 TEXTJOIN 함수는 엑셀에서만 사용가능한 VBA 함수입니다. 한셀에서는 사용 불가하니 참고바랍니다.
감사합니다.
베일
베일 2024.08.26 13:13
엑셀에서 공란이 0으로 표기되는건 왜그런거죠?