ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [아.. 엑셀좀 해놓을껄]엑셀에서 TEXTJOIN 함수로 텍스트 합치기
    엑셀/함수 2020. 8. 30. 23:24
    728x90

     

     

    간단하고 빠르게 해결하는 딘도르입니다.

     

    지난 편에 함수 없이 텍스트를 추출해서 합쳐보았습니다.

    텍스트 합치기 빠른 채우기 CONCATENATE 함수 CONCAT 함수    

     

     

    편하게 잘 사용하고 계신가요?

    지난 편을 쓰면서 언급된 함수들은 그럼 언제 사용하면 좋은 건가 싶어서

    한 번씩 써보면서 익혀보도록 하겠습니다.

    그래서 이번 편에서는 TEXTJOIN 함수를 이용해서 텍스트를 합쳐보겠습니다.

     

     


     

     

    에서 TEXTJOIN 함수로 텍스트 합치기

     

    OS : Windows 10 Home

    Program : Microsoft Office 365 Excel

    타 버전에서도 동작할 수 있는 기능입니다. :)

     

     

    스트를 합쳐야 하는 작업을 하다 보면 텍스트를 단순히 이어 붙이기만 하는 경우는 많지 않습니다. 항상 텍스트 사이에 공백 또는 특별한 문자로 구분을 해주는 경우가 많습니다. 아니면 중간중간 섞여있는 필요 없는 텍스트를 삭제해주는 작업이 선행돼야 합니다. 텍스트들이 규칙성이 있다면 빠른 채우기를 통해 작업할 수 있지만, 그렇지 않다고 하면 CONCAT 함수나 CONCATENATE 함수를 떠올릴 수 있습니다.

    언급된 함수들을 사용한다면 텍스트의 하나로 공백 또는 특별한 문자를 필요한 부분에 꼬박꼬박 넣어줘야 하는 불편함이 있습니다. 함수를 사용할 때 생각보다 타자를 쓰는 게 어려운데 중간중간 신경 쓰려고 한다면 실수가 나올 수밖에 없습니다. 그럼 또다시 함수를 보면서 어디가 틀렸는지 비교를 해야 하고,,, 생각만 해도 끔찍합니다. 이번 포스팅을 보신다면 이런 불상사와 수고로움을 미연에 방지하실 수 있습니다.

     

    이번 포스팅에서는 TEXTJOIN 함수를 활용한 텍스트 합치는 방법을 소개해드리겠습니다.

     


    TEXTJOIN 함수의 특징에 맞게 두 가지를 실습해보겠습니다.

     

     

    ▶ 분산된 텍스트를 합치기 ◀

     

     

    1) 원본 데이터 입력하기

    업에 사용할 데이터를 입력해보겠습니다.

     

    지난 편과의 비교를 위해 동일한 데이터를 사용하겠습니다.

    다만, 데이터를 조금 나눠서 배치해보도록 하겠습니다.

     

     

    엑셀이 패턴을 통해 빠른 채우기를 사용할 수 없는 상황을 만들었습니다.

     

     

     

    원하는 위치에서 {순번} {이름} {위치}를 나열하고 빠른 채우기를 해보았습니다.

    엑셀이 패턴을 찾을 수 없으니 데이터를 다시 정비해달라고 합니다.

     

     

    2) TEXTJOIN 함수 사용하기

    수를 사용해서 문제를 해결해보겠습니다.

     

    TEXTJOIN 함수가 어떤 일을 하는지 먼저 살펴보겠습니다.

    TEXTJOIN(delimiter, ignore_empty, text1,text2,... )
    TEXTJOIN(delimiter, ignore_empty, text1:text2 )
    구분 기호를 사용하여 텍스트 문자열의 목록 또는 범위를 연결합니다.
    delimiter 각 텍스트 항목 사이에 삽입할 문자 또는 문자열
    ignore_empty TRUE(기본값)인 경우 빈 셀을 무시
    text1, text2,... 텍스트를 목록으로 나열
    text1:text2 텍스트를 범위로 지정

     

     

    이제 TEXTJOIN 함수가 무슨 일을 하는지 알았으니, 바로 써보도록 하겠습니다.

    지난 편과 조금 다르게 중간에 구분자를 넣어서 아래 포맷으로 텍스트를 합쳐보겠습니다.

     

    TEXTJOIN 포맷: {순번}_@_{이름}_@_{주소}_@_{위치}

     

    함수를 사용하기 위해서는 항상 "="로 시작해야 합니다.

    원하는 곳에 =TEXTJOIN("_@_", TRUE, A2, B14, C10, E15)를 입력해보겠습니다.

     

    delimiter 에는 각 텍스트들 사이에 들어갈 값 _@_ 를 넣어줍니다.

    ignore_empty 에는 현재 합치려고 할 텍스트 목록 중에 빈 셀이 없기 때문에 TRUE를 넣어줍니다.

    text1, text2,... 에는 각 데이터들의 첫 번째 값을 넣어줍니다.

     

    어떤 데이터를 선택했는지 색으로 표시해주니 한 번씩 확인하시고 입력합니다.

     

     

     

    의도한 대로 {순번}_@_{이름}_@_{주소}_@_{위치} 첫 번째 텍스트가 만들어졌습니다.

    오른쪽 하단의 점을 누르고 필요한 곳까지 데이터를 채워 넣습니다.

     

     

    3) 짜라란!

    하는 기능이 동작하는지 확인합니다.

     

     

     


     

     

     범위를 지정하여 텍스트 합치기 

     

    1) 원본 데이터 입력하기

    업에 사용할 데이터를 입력해보겠습니다.

     

    앞에서 배운 대로 빠른 채우기를 통해서도 할 수 있는 수준입니다.

    하지만 합쳐야 할 텍스트가 100개가 넘고

    텍스트 사이에 들어갈 구분자가 단순히 공백이 아니라고 가정하면 어떨까요?

    이럴 땐 텍스트 입력보단 범위를 지정하는 게 훨씬 편합니다.

     

     

    데이터의 범위를 정할 수 있도록 구성해보았습니다.

    앞선 예제에서 사용하지 않았던 ignore_empty를 사용해보기 위해,

    텍스트 사이사이에 빈 셀도 넣어보았습니다.

     

     

    2) TEXTJOIN 함수 사용하기

    수를 사용해서 문제를 해결해보겠습니다.

     

    TEXTJOIN 함수가 어떤 일을 하는지 한번 더 살펴보겠습니다.

    TEXTJOIN(delimiter, ignore_empty, text1,text2,... )
    TEXTJOIN(delimiter, ignore_empty, text1:text2 )
    구분 기호를 사용하여 텍스트 문자열의 목록 또는 범위를 연결합니다.
    delimiter 각 텍스트 항목 사이에 삽입할 문자 또는 문자열
    ignore_empty TRUE(기본값)인 경우 빈 셀을 무시
    text1, text2,... 텍스트를 목록으로 나열
    text1:text2 텍스트를 범위로 지정

     

     

    이제 TEXTJOIN 함수가 무슨 일을 하는지 알았고, 문자열의 범위를 연결해 보도록 하겠습니다.

    위의 예제와 동일하게 아래 포맷으로 텍스트를 합쳐보겠습니다.

     

    TEXTJOIN 포맷: {순번}_@_{이름}_@_{주소}_@_{위치}

     

    함수를 사용하기 위해서는 항상 "="로 시작해야 합니다.

    원하는 곳에 =TEXTJOIN("_@_", TRUE, A2:G2)를 입력해보겠습니다.

     

     

    이번에는 text1:text2에 범위를 지정해주겠습니다.

    어떤 데이터를 선택했는지 색으로 표시해주니 한 번씩 확인하시고 입력합니다.

     

     

     

    의도한 대로 {순번}_@_{이름}_@_{주소}_@_{위치} 첫 번째 텍스트가 만들어졌습니다.

    오른쪽 하단의 점을 누르고 필요한 곳까지 데이터를 채워 넣습니다.

     

     

    그전에 잠깐!!

    만약 ignore_empty : FALSE를 입력하면 어떻게 될까요?

    원하는 곳에 =TEXTJOIN("_@_", FALSE, A2:G2)를 입력하여 확인해보겠습니다.

     

     

     

    저는 동일한 위치에 TRUE -> FALSE로 변경해보았습니다.

     

     

     

    무엇이 달라졌는지 보이시나요?

    빈 셀도 텍스트로 인식하여 _@_가 두 번씩 입력되었습니다.

    아래 결과를 통해 한 번 더 비교해보시고, 차이점을 확실히 알아두면 되겠습니다.

    ignore_empty : TRUE  => 1_@_쯔위_@_서울특별시 중구 덕수궁길 15(서소문동)_@_서울시청
    ignore_empty : FALSE => 1_@__@_쯔위_@__@_서울특별시 중구 덕수궁길 15(서소문동)_@__@_서울시청

     

    3) 짜라란!

    하는 기능이 동작하는지 확인합니다.

     

    다시 본론으로 돌아와서 ignore_empty : TRUE로 입력한 결과를 모두 적용해보겠습니다.

     

     

     

    1~9번까지 모두 텍스트가 정상적으로 만들어졌습니다.

     

    이제 TEXTJOIN 함수와 빠른 채우기를 어떤 상황에서 써야 할지 감이 오시나요?

    가볍게 정리하고 마무리하겠습니다.

    TEXTJOIN : 정렬되지 않은 상황에서 텍스트 합치기 or 대량 데이터 복잡한 delimeter로 연결
    빠른 채우기 : 정렬되어 있는 상황에서 텍스트 합치기 or 소량 데이터 단순한 delimeter로 연결 

     


     

    이제 TEXTJOIN 함수와 빠른 채우기 기능을 필요한 상황에 적재적소로 사용하실 수 있겠죠?

    물론, 편하신 기능을 위주로 사용하셔도 됩니다. :)

     

    알고 보면 어렵지 않지만 막상 방법이 떠오르지 않아 고생하셨던 분들에게 도움이 됐으면 합니다.

    댓글

Designed by Tistory.