[259회 라이브 공지] 이번 주(3/14) 토요일 라이브는 휴강입니다. 즐거운 주말 연휴 보내세요! 오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴

엑셀 특정 조건 만족하는 텍스트 합치기 공식 사용법 및 동작원리

특정 조건을 만족하는 경우의 텍스트를 병합하는 공식의 사용법 및 동작원리를 알아봅니다.

작성자 :
오빠두엑셀
최종 수정일 : 2021. 09. 03. 10:56
URL 복사
메모 남기기 : (39)

특정 조건 만족하는 텍스트 합치기 공식

특정 조건 만족하는 텍스트 합치기 목차 바로가기
함수 공식
=TEXTJOIN(구분자,TRUE,IF(조건범위=조건,텍스트범위,""))
인수 설명
특정 조건을 만족하는 텍스트 합치기
특정 조건을 만족하는 텍스트 합치기 공식에 사용된 인수
인수 설명
구분자 텍스트를 병합할 구분자입니다. (예: "," 또는 공백 등..)
조건범위 텍스트를 합치기 위해 평가할 조건 범위입니다.
조건 평가할 조건입니다.
텍스트범위 조건을 만족할 경우에 병합 될 텍스트가 입력된 범위입니다.

예제파일 다운로드

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

  • [엑셀공식] 특정 조건을 만족하는 텍스트 합치기
    예제파일

호환성
운영체제 호환성
Windows 버전 엑셀 2019 이후 또는 Microsoft 365 버전에서 사용 가능합니다.
Mac 버전 Mac 용 엑셀 2019 이후 또는 Microsoft 365 버전에서 사용 가능합니다.
사용된 기초 함수

특정 조건 만족하는 텍스트 병합 공식 알아보기

공식 설명

특정 조건을 만족할 경우에 지정한 범위의 텍스트를 합치는 공식입니다. 본 공식은 TEXTJOIN 함수가 사용되므로 엑셀 2019 이후 버전 또는 Microsoft 365 사용자만 사용가능합니다. 엑셀 2016 이전 버전 사용자는 TEXTJOIN 추가기능을 설치하거나 사용자지정함수를 직접 지정하여 사용할 수 있습니다.

IF 함수의 논리식을 변경하여 여러개의 조건을 만족하는 텍스트를 합치는 공식으로도 손쉽게 응용할 수 있습니다.

공식의 동작원리
  1. IF 함수로 특정 조건을 만족하는 경우의 텍스트를 배열로 반환합니다.
    =IF({과일,야채,음료,과일,과일,야채,야채,음료}="과일",{사과,배추,물,포도,딸기,상추,피망,콜라},"")
    ={사과,,,포도,딸기,,,}
  2. TEXTJOIN 함수를 사용하여 배열 내 빈칸을 제외한 값을 구분자로 병합합니다.
    =TEXTJOIN("+",TRUE,{사과,,,포도,딸기,,,})
    ="사과+포도+딸기"   '구분자(+)로 구분하여 텍스트를 병합합니다.

자주묻는질문

자주묻는질문1. 여러개의 조건을 만족하는 경우는 어떻게 구하나요?

IF 함수의 논리식을 변경하면 다양한 조건을 만족하는 경우의 텍스트를 합칠 수도 있습니다. 조건의 곱셈은 AND 조건으로, 조건의 덧셈은 OR 조건으로 계산됩니다.

  1. 모든 조건을 만족하는 경우 (AND 조건)
    =TEXTJOIN(구분자,TRUE,IF((조건범위1=조건1)*(조건범위2=조건2),텍스트범위,""))
    '첫번째 조건과 두번째 조건을 모두 만족하는 경우의 텍스트를 합칩니다.
    예) =TEXTJOIN(구분자,TRUE,IF((항목범위="과일")*(제품범위="사과"),텍스트범위,""))
    '항목범위의 값이 '과일'이고, 제품범위의 값이 '사과'인 경우의 텍스트를 합칩니다.
  2. 둘 중에 하나라도 만족하는 경우 (OR 조건)
    =TEXTJOIN(구분자,TRUE,IF((조건범위1=조건1)+(조건범위2=조건2),텍스트범위,""))
    '첫번째 조건을 만족하거나 두번째 조건을 만족하는 경우의 텍스트를 합칩니다.
    예) =TEXTJOIN(구분자,TRUE,IF((항목범위="과일")+(항목범위="야채"),텍스트범위,""))
    '항목범위의 과일이거나 야채일경우의 텍스트를 모두 합칩니다.

관련링크 : MS 홈페이지 TEXTJOIN 함수 사용법

댓글 39
4.9 (18개 평가)
정도영
정도영 2020.08.04 07:43
좋은 정보 감사합니다.
=IF({과일,야채,음료,과일,과일,야채,야채,음료}="과일","",{사과,배추,물,포도,딸기,상추,피망,콜라}) 에서 true 값이랑 false값이 바뀐거 같은데 확인 부탁드립니다 :)
오빠두엑셀
오빠두엑셀 작성자 2020.08.04 19:10
앗 잘못된 부분이 있었네요.
방금 수정하였습니다. :) 확인해주셔서 대단히 감사드립니다.
굴레악
굴레악 2020.09.21 21:41
=TEXTJOIN(구분자,TRUE,IF(조건범위=조건,텍스트범위,""))
사이트 설명에는 이렇게 나와 있는데요.
이렇게 하니 원하는 결과가 안 나와요.

그래서 예제파일을 자세히 들여다 보니 배열 수식으로 돼 있는데 {=TEXTJOIN(",",TRUE,IF(B8:B18=E8,C8:C18,""))}
원래 배열수식으로 지정해줘야는 게 맞는 건가요?
참고로 엑셀 2019버전 사용 중입니다.

배열수식 지정이 맞다면 아래에 알려주신 1, 2번의 경우도 그래야 겠죠?
iviolin****
iviolin**** 2020.09.24 08:22
네 배열함수로 만들어 주셔야합니다.
그렇지 않을경우 엑셀이 B8:B18=E8이 아니 B8=E8로 인식을 해서 원하는 값이 나오지 않습니다.
뜐뜐
뜐뜐 2020.11.21 09:36
저한테 정말많이 도움되는 글이였습니다 감사합니다
pammy
pammy 2021.07.27 13:19
cell의 내용을 합칠때. 범위가 아니라 각각 떨어져 있는 cell의 내용을 합칠때는 어떻게 표기해야 할까요?
오빠두엑셀
오빠두엑셀 작성자 2021.07.27 23:21
안녕하세요.
서로 떨어져 있는 셀의 내용을 합치시려면 각 셀을 하나씩 선택해서 함수를 입력해보세요.
=TEXTJOIN(",",TRUE,셀1,셀2,셀3,셀4..)
nes
nes 2021.08.23 18:08
항상 감사합니다
사진처럼 제품에 공백이 있을경우
0, 0,0, 들어가는데 없에고
사과,딸기 요렇게만 표현 할순 없을까요?
textjoin
오빠두엑셀
오빠두엑셀 작성자 2021.08.24 05:14
=TEXTJOIN(구분자,TRUE,IF((조건범위=조건)*(텍스트범위<>""),텍스트범위,""))
로 수식을 수정해서 사용해보세요.
Klm
Klm 2022.02.04 12:00
너무 좋은 수식 감사합니다!
월화수목금퇼
월화수목금퇼 2021.10.25 09:59
감사합니다!!
김희영
김희영 2022.03.20 14:44
textjoin 한 값이 10,10,10,10 이런식으로 출력 됐을 때, 이 중복된 텍스트를 하나의 텍스트로 출력하는 방법은 없을까요? (ex. 10)

구글 서칭을 하니 VB를 사용해서 해결하는 방법은 있던데, 함수를 사용하여 한 셀 안에 중복텍스트 처리하는 것은 불가능한지 궁금합니다.
오빠두엑셀
오빠두엑셀 작성자 2022.03.21 21:10
안녕하세요.
M365 또는 2021 버전을 사용중이시라면 UNIQUE 함수를 사용해보세요
https://www.oppadu.com/%ec%97%91%ec%85%80-unique-%ed%95%a8%ec%88%98/
만약 이전 버전을 사용 중이시라면 아래 공식을 활용해보세요.
https://www.oppadu.com/%ec%97%91%ec%85%80-%ec%a4%91%eb%b3%b5%ea%b0%92-%ec%a0%9c%ea%b1%b0-%ed%95%a8%ec%88%98-%ea%b3%b5%ec%8b%9d/
Hailey0612
Hailey0612 2022.04.12 15:34
  • 출석율 : 95.5%
  • 등급 : A
"출석율이 100%이므로, 근태 A등급입니다."
위 처럼 텍스트를 합치고 싶은데, 자꾸 출석율이 95.55665 숫자로 나옵니다. 방법 없을까요?
오빠두엑셀
오빠두엑셀 작성자 2022.04.12 17:18
안녕하세요.
아래 함수를 사용해보세요
"출석율이 " & Text(셀,"0.0%") & "이므로, 근태 A등급입니다."
Hailey0612
Hailey0612 2022.04.12 19:42
감사합니다!! 해결되었습니다~
너무 복잡하게 생각했나봅니다. 역시 "오빠두엑셀!"
김진오(Jino Kim)
김진오(Jino Kim) 2022.10.17 22:24
예제파일 수식란을 편집활성(F2키 누름)했다가 수정은 하지 않고 엔터만 쳤는데 특정조건 따른 결괏값이 아니라 범위 내 모든 값이 출력됩니다. 이유가 무엇인지요? 엑셀 초보라 잘 모르겠습니다.
AF3E740C-99C7-47AA-9844-0767C76F372A
오빠두엑셀
오빠두엑셀 작성자 2022.11.06 18:30
안녕하세요.
Ctrl + Shift + Enter로 입력해보시겠어요?
감사합니다.
rider
rider 2022.11.06 12:30
2016 버전이라 추가기능 사용하고있습니다
표 2번 값을 원하는데.. 추가기능 사용하면 1번 값이 나옵니다
해결방법 부탁드립니다.

참고. 2019 버전은 동일한 수식 적용시 2번 값이 나옵니다
캡처
오빠두엑셀
오빠두엑셀 작성자 2022.11.06 18:34
안녕하세요.
버전마다 다르게 동작하는 것은
사용하고 계신 VBA 코드를 디버깅해봐야 알 수 있을 듯 합니다.
rider
rider 2022.11.08 08:46
오빠두 홈페이지에서 다운받은 추가기능을 2016버전에서 사용 중 입니다.. 해결방법은 없는건가요?
오빠두엑셀
오빠두엑셀 작성자 2022.11.09 17:21
안녕하세요.
https://www.oppadu.com/vba-textjoin-%ED%95%A8%EC%88%98/
위 링크를 클릭하시면 추가기능에 사용된 VBA 코드 전문을 확인하실 수 있습니다. 코드를 참고하여 어느 부분에서 문제가 발생하는지 확인 후 한번 수정해보시겠어요? :)
감사합니다.
시튼
시튼 2022.12.23 11:48
안녕하세요 2013년도 버전 엑셀에 TEX함수추가하여 사용해보려고 하는데
조건에 맞는 셀만 합산 되는것이아니라 모든셀(조건을 만족하지않는 셀)의 텍스트가 더해집니다.ㅠㅠ
예)과일 조건을 만족하는 데이터만 합산하고 싶은데
야채 데이터까지 같이 합산됩니다..
오빠두엑셀
오빠두엑셀 작성자 2022.12.27 16:57
안녕하세요.
VBA로 TEXTJOIN 함수를 작성해서 사용할 경우, 함수가 잘 작성되었는지 직접 디버깅 후 사용해보시면 좋을 것 같습니다^^
아래 링크에 적어드린 TEXTJOIN 함수를 추가 후 사용해보세요.
https://www.oppadu.com/vba-textjoin-%ED%95%A8%EC%88%98/