Home > 엑셀 함수 > 텍스트 함수 > 엑셀에서 조건을 만족하는 텍스트 합치기(병합)

엑셀에서 조건을 만족하는 텍스트 합치기(병합)

엑셀에서 다음과 같이 고객명이 동일한 조건을 만족하는 주문상품명 텍스트를 합쳐야 할 때 TEXJOIN 함수와 배열 수식을 조합해서 많이 사용했는데 FILTER, UNIQUE 함수(동적 배열 함수)를 쓰면 아주 간단하게 해결할 수 있습니다.

기존의 어려운 배열 수식은 몰라도 되도록 엑셀이 점점 좋아지고 있습니다.

엑셀에서 조건을 만족하는 텍스트 합치기

 

실습용 엑셀파일 다운로드 : 엑셀-조건별-텍스트-합치기(병합).xlsx

※ 예제 이해에 필요한 내용은 다음 링크를 참고하세요.
[ TEXTJOIN 함수 – 기호로 구분하여 텍스트 합치기 ] Excel 2019 버전부터 사용가능
[ FILTER 함수 - 원하는 조건으로 데이터 조회(필터링)하기 ] Microsoft 365, Excel 2021 버전부터 사용가능
[ UNIQUE 함수 - 중복 제거하기 ] Microsoft 365, Excel 2021 버전부터 사용가능
[ 엑셀의 새로운 기능, 동적 배열 수식 ] Microsoft 365, Excel 2021 버전부터 사용가능

 

1. 조건을 만족하는 주문상품명 합치기

1) 고객명이 동일한 주문상품명 합치기

다음과 같이 TEXTJOIN, FILTER 함수를 사용하면 고객명이 동일한 조건을 만족하는 주문상품명 텍스트를 합칠 수 있습니다.

=TEXTJOIN(",",TRUE,FILTER($C$6:$C$14,$B$6:$B$14=B19))

고객명이 동일한 주문상품명 합치기

 

고객명이 동일한 주문상품명 텍스트가 하나의 셀에 합쳐짐

고객명이 동일한 주문상품명 합치기

 

수식 작동 순서 :

TEXTJOIN,FILTER 함수 작동순서

  • FILTER함수로 조건을 만족하는(고객명이 "정우혁") 테이터를 가져오고
  • TEXTJOIN함수로 주문상품명 텍스트를 합쳐줍니다.

 

2) 고객명이 동일한 주문상품명 중복제거하고 합치기

앞의 예제는 주문상품명이 동일하면 중복으로 표시되는 문제가 있습니다.
(딸기 주문이 2건이므로 '딸기'를 두번 표시함)

중복을 제거해야 할 경우에는 중복을 제거해 주는 UNIQUE 함수를 추가해 주면 됩니다.

=TEXTJOIN(",",TRUE,UNIQUE(FILTER($C$6:$C$14,$B$6:$B$14=B19)))

동일한 주문상품명 중복제거하고 합치기

주문상품명이 동일하면 중복이 제거되고 텍스트가 하나의 셀에 합쳐졌습니다.

 

수식 작동 순서 :

TEXTJOIN, UNIQUE, FILTER 함수 작동 순서

  • FILTER함수로 조건을 만족하는(고객명이 "정우혁") 테이터를 가져오고,
  • UNQUE 함수로 상품명 중복을 제거하고
  • TEXTJOIN함수로 주문상품명 텍스트를 합쳐줍니다.

 

2. 엑셀 2019이하 버전에서 배열수식 사용하여 병합

아쉽지만 엑셀 2019이하 버전에서는 앞에서 사용한 동적 배열 함수(UNIQUE, FILTER)를 사용할 수 없습니다.

대신 다음과 같이 배열 수식을 사용하여 해결할 수 있습니다. 배열 수식이므로 수식을 입력한 후 [Ctrl + Shift +Enter]를 눌러야 합니다.

단 상품명 중복은 제거할 수 없는 한계가 있습니다. 

=TEXTJOIN(",",TRUE,IF(($B$6:$B$14=B26),$C$6:$C$14,""))

TEXTJOIN, 배열 수식을 사용하여 텍스트 합치기

 

수식 작동 순서 :

TEXTJOIN, 배열 수식 작동순서

  • IF를 사용한 배열수식으로 조건을 만족하는(고객명이 "정우혁") 테이터를 가져오고,
  • TEXTJOIN함수로 주문상품명 텍스트를 합쳐줍니다.

 

[ 엑셀 텍스트 함수 ]

댓글 달기

이메일 주소는 공개되지 않습니다.

Scroll to Top
%d 블로거가 이것을 좋아합니다: