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

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

2019
지원 버전 자세히 보기
엑셀 2019엑셀 2021엑셀 2024M365웹 엑셀

조건에 맞는 텍스트를 구분자로 합치는 공식입니다.

특정 조건 만족하는 텍스트 합치기 예제 미리보기
예제 미리보기 크게 보기

인수 설명

01단일 조건

=TEXTJOIN ( 구분자, TRUE, IF ( 조건범위=조건, 텍스트범위, "" ) )
인수 설명 자세히 보기(인수를 클릭하면 해당 영역만 강조됩니다. 여러 개를 함께 켜고 끌 수 있습니다.)
인수구분설명
구분자필수합칠 텍스트 사이에 넣을 문자 또는 문자열입니다. 빈 문자열을 사용하면 값을 이어 붙입니다.
조건범위필수조건과 비교할 값이 입력된 범위입니다. 텍스트범위와 행 개수가 같아야 합니다.
조건필수조건범위에서 찾을 값입니다.
텍스트범위필수조건을 만족하는 행에서 가져와 합칠 텍스트가 입력된 범위입니다.
H2=TEXTJOIN(F2,TRUE,IF(A2:A8=F3,C2:C8,""))
A
B
C
D
E
F
G
H
I
1
분류
지역
제품
설정
결과
출력
2
과일
서울
사과
구분자
+
단일 결과
사과+포도+딸기
3
야채
부산
배추
조건1
과일
AND 결과
사과+딸기
4
음료
서울
AND 조건2
서울
OR 결과
사과+배추+포도+딸기+콜라
5
과일
부산
포도
OR 조건2
부산
6
과일
서울
딸기
7
야채
서울
상추
8
음료
부산
콜라
9
분류가 과일인 사과·포도·딸기를 +로 연결해 H2 셀은 사과+포도+딸기를 반환합니다. Excel 2019에서는 Ctrl+Shift+Enter로 입력해야 합니다.

동작 원리

IF 함수는 조건에 맞는 텍스트와 빈 문자열로 배열을 만들고 TEXTJOIN 함수는 빈 문자열을 제외한 값만 연결합니다.

단일 조건 공식의 예제 시트에서 H2 셀이 사과+포도+딸기를 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.

1

IF 함수가 조건에 맞는 텍스트를 남깁니다

A2:A8에서 과일인 행은 사과·포도·딸기를 반환하고 나머지 행은 빈 문자열을 반환합니다. Excel 2019에서는 이 배열 계산을 Ctrl+Shift+Enter로 확정해야 합니다.

=IF ( A2:A8=F3, C2:C8, "" )
= {"사과";"";"";"포도";"딸기";"";""} A2:A8의 각 행에 대응하는 텍스트 배열입니다.
2

TEXTJOIN 함수가 남은 텍스트를 연결합니다

두 번째 인수 TRUE가 빈 문자열을 제외하고 F2 셀의 +를 각 텍스트 사이에 넣습니다.

=TEXTJOIN ( F2, TRUE, IF ( A2:A8=F3, C2:C8, "" ) )
= "사과+포도+딸기" 조건을 만족하는 세 제품을 연결한 결과입니다.

02다중 AND 조건

=TEXTJOIN ( 구분자, TRUE, IF ( ( 조건범위1=조건1 )*( 조건범위2=조건2 ), 텍스트범위, "" ) )
인수 설명 자세히 보기
인수구분설명
구분자필수합칠 텍스트 사이에 넣을 문자 또는 문자열입니다. 빈 문자열을 사용하면 값을 이어 붙입니다.
조건범위1필수조건1과 비교할 값이 입력된 범위입니다. 텍스트범위와 행 개수가 같아야 합니다.
조건1필수조건범위1에서 찾을 값입니다.
조건범위2필수조건2와 비교할 값이 입력된 범위입니다. 텍스트범위와 행 개수가 같아야 합니다.
조건2필수조건범위2에서 찾을 값입니다.
텍스트범위필수두 조건을 모두 만족하는 행에서 가져와 합칠 텍스트가 입력된 범위입니다.
H3=TEXTJOIN(F2,TRUE,IF((A2:A8=F3)*(B2:B8=F4),C2:C8,""))
A
B
C
D
E
F
G
H
I
1
분류
지역
제품
설정
결과
출력
2
과일
서울
사과
구분자
+
단일 결과
사과+포도+딸기
3
야채
부산
배추
조건1
과일
AND 결과
사과+딸기
4
음료
서울
AND 조건2
서울
OR 결과
사과+배추+포도+딸기+콜라
5
과일
부산
포도
OR 조건2
부산
6
과일
서울
딸기
7
야채
서울
상추
8
음료
부산
콜라
9
분류가 과일이면서 지역이 서울인 사과·딸기를 +로 연결해 H3 셀은 사과+딸기를 반환합니다. Excel 2019에서는 Ctrl+Shift+Enter로 입력해야 합니다.

동작 원리

두 조건 비교 결과를 곱해 모두 참인 행만 1로 만들고 IF 함수와 TEXTJOIN 함수가 해당 텍스트를 연결합니다.

다중 AND 조건 공식의 예제 시트에서 H3 셀이 사과+딸기를 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.

1

두 조건 배열을 곱합니다

분류가 과일인 결과와 지역이 서울인 결과를 곱하면 두 조건을 모두 만족하는 첫째·다섯째 행만 1이 됩니다.

=( A2:A8=F3 )*( B2:B8=F4 )
= {1;0;0;0;1;0;0} 두 조건을 모두 만족하는 행만 1인 배열입니다.
2

IF 함수가 두 제품만 남깁니다

조건 배열이 1인 행에서는 제품명을 반환하고 나머지 행에서는 빈 문자열을 반환합니다. Excel 2019에서는 이 배열 계산을 Ctrl+Shift+Enter로 확정해야 합니다.

=IF ( ( A2:A8=F3 )*( B2:B8=F4 ), C2:C8, "" )
= {"사과";"";"";"";"딸기";"";""} AND 조건을 만족하는 제품 배열입니다.
3

TEXTJOIN 함수가 제품명을 연결합니다

빈 문자열을 제외하고 사과와 딸기 사이에 +를 넣어 하나의 텍스트로 반환합니다.

=TEXTJOIN ( F2, TRUE, IF ( ( A2:A8=F3 )*( B2:B8=F4 ), C2:C8, "" ) )
= "사과+딸기" 두 조건을 모두 만족하는 제품을 연결한 결과입니다.

03다중 OR 조건

=TEXTJOIN ( 구분자, TRUE, IF ( ( 조건범위1=조건1 )+( 조건범위2=조건2 ), 텍스트범위, "" ) )
인수 설명 자세히 보기
인수구분설명
구분자필수합칠 텍스트 사이에 넣을 문자 또는 문자열입니다. 빈 문자열을 사용하면 값을 이어 붙입니다.
조건범위1필수조건1과 비교할 값이 입력된 범위입니다. 텍스트범위와 행 개수가 같아야 합니다.
조건1필수조건범위1에서 찾을 값입니다.
조건범위2필수조건2와 비교할 값이 입력된 범위입니다. 텍스트범위와 행 개수가 같아야 합니다.
조건2필수조건범위2에서 찾을 값입니다.
텍스트범위필수두 조건 중 하나 이상을 만족하는 행에서 가져와 합칠 텍스트가 입력된 범위입니다.
H4=TEXTJOIN(F2,TRUE,IF((A2:A8=F3)+(B2:B8=F5),C2:C8,""))
A
B
C
D
E
F
G
H
I
1
분류
지역
제품
설정
결과
출력
2
과일
서울
사과
구분자
+
단일 결과
사과+포도+딸기
3
야채
부산
배추
조건1
과일
AND 결과
사과+딸기
4
음료
서울
AND 조건2
서울
OR 결과
사과+배추+포도+딸기+콜라
5
과일
부산
포도
OR 조건2
부산
6
과일
서울
딸기
7
야채
서울
상추
8
음료
부산
콜라
9
분류가 과일이거나 지역이 부산인 다섯 제품을 +로 연결해 H4 셀은 사과+배추+포도+딸기+콜라를 반환합니다. Excel 2019에서는 Ctrl+Shift+Enter로 입력해야 합니다.

동작 원리

두 조건 비교 결과를 더해 하나 이상 참인 행을 찾고 IF 함수와 TEXTJOIN 함수가 해당 텍스트를 연결합니다.

다중 OR 조건 공식의 예제 시트에서 H4 셀이 사과+배추+포도+딸기+콜라를 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.

1

두 조건 배열을 더합니다

분류가 과일인 결과와 지역이 부산인 결과를 더합니다. 두 조건을 모두 만족하는 포도 행은 2가 되며 1과 2는 모두 참으로 처리됩니다.

=( A2:A8=F3 )+( B2:B8=F5 )
= {1;1;0;2;1;0;1} 두 조건 중 하나 이상을 만족하는 행이 1 이상인 배열입니다.
2

IF 함수가 다섯 제품을 남깁니다

조건 배열이 1 이상인 행에서는 제품명을 반환하고 나머지 행에서는 빈 문자열을 반환합니다. Excel 2019에서는 이 배열 계산을 Ctrl+Shift+Enter로 확정해야 합니다.

=IF ( ( A2:A8=F3 )+( B2:B8=F5 ), C2:C8, "" )
= {"사과";"배추";"";"포도";"딸기";"";"콜라"} OR 조건을 만족하는 제품 배열입니다.
3

TEXTJOIN 함수가 제품명을 연결합니다

빈 문자열을 제외하고 다섯 제품 사이에 +를 넣어 하나의 텍스트로 반환합니다.

=TEXTJOIN ( F2, TRUE, IF ( ( A2:A8=F3 )+( B2:B8=F5 ), C2:C8, "" ) )
= "사과+배추+포도+딸기+콜라" 두 조건 중 하나 이상을 만족하는 제품을 연결한 결과입니다.
이 공식이 사용하는 함수

댓글 39

댓글 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/
스크랩 완료