3. 배열 이용하기
가. 문자열 일정한 간격으로 공백 넣기
아래와 같이 주소가 공백 없이 붙어 있을 경우 세 글자마다 공백을 넣어보겠습니다.
(1) Concat과 Mid 함수를 이용한 방법
문자열의 일부분을 추출할 때는 Mid 함수를 사용할 수 있습니다.
물론 왼쪽 3글자를 추출할 때 Left 함수를, 오른쪽 3글자를 추출할 때는 Right 함수를 사용할 수도 있지만
모두 Mid 함수를 이용해 수식을 작성할 수도 있습니다.
Mid 함수의 구문은
MID(text,start_num,num_chars)
로서 text는 문자열로 문자열을 직접 입력할 수도 있지만, 보통 셀 주소로 입력하며,
start_num은 시작 위치로 숫자로 입력하고,
num_chars는 가져올 문자의 개수를 의미입니다.
(가) Left와 Right 함수를 이용한 경우
=CONCAT(LEFT(A1,3)," ",MID(A1,4,3)," ",MID(A1,7,3)," ",MID(A1,10,3)," ",RIGHT(A1,3))
처음과 맨 오른쪽만 Left와 Right함수를 사용하고, 가운데는 Mid 함수를 사용하고, 공백 한 칸을 중간에 넣기 위해 " "를 넣었습니다.
위 수식에서 MID(A1,4,3)는 A1셀의 문자열에서 4번째부터 글자 3개를 가져오는 것으로 '성남시'가 반환됩니다.
(나) Mid 함수만 이용한 경우
=CONCAT(MID(A1,1,3)," ",MID(A1,4,3)," ",MID(A1,7,3)," ",MID(A1,10,3)," ",MID(A1,13,3))
Left(A1,3)은 A1셀에서 왼쪽 3개의 문자를 가져오는 것이므로
Mid 함수를 이용하면 MID(A1,1,3)이 되고,
RIGHT(A1,3)는 A1셀에서 오른쪽 3개의 문자를 가져오는 것이므로 Right함수를 사용하는 것이 편리하지만
위의 경우 Mid 함수를 이용하면 13번째부터 숫자 3개를 가져오는 것이므로 MID(A1,13,3)로 표시할 수 있습니다.
(2) TextJoin과 Mid 함수를 이용한 방법
(가) Mid함수와 배열을 이용해서 문자열 분리하기
문자열을 첫 번째부터 3개, 네 번째부터 3개, 일곱 번째부터 3 개를 가져오는 것이므로
문자열을 3개씩 가져오는 것을
=mid(a1,{1,4,7,10,13},3)이라고 입력할 수 있습니다.
3 글자씩 오른쪽으로 배열됐습니다.
(나) TextJoin 함수로 배열 결합하기
TextJoin함수의 구문은
TEXTJOIN(delimiter, ignore_empty, text1, [text2], …)
로서
첫 번째 인수는 구분자, 여기서는 " "(공백 한 칸)을 사용할 것이며,
두 번째 인수는 ignore_empty로서 빈 셀을 무시할 것인가입니다.
세 번째부터는 문자열1, 문자열2의 연속인데,
일정한 범위로 지정할 수 있습니다.
=textjoin(" ",까지 입력하면 ignore_empty에 대한 옵션 값이 True와 False로 표시됩니다.
빈 셀을 무시하는 True를 선택하는데 Tab키를 누르거나 마우스로 더블 클릭합니다.
그리고, 쉼표(,)를 입력한 다음 B3셀에서 F3셀까지 마우스로 끌어서 범위를 선택하는데 Microsoft 365 이전 버전이라면 B3:F3으로 표시될 텐데 B3#으로 입력됩니다.
이제 (괄호를 닫고) 엔터키를 눌러 수식을 입력합니다.
그러면 세 글자마다 공백이 추가되어 표시됩니다.
(3) {1,4,7,10,13}을 Sequence 함수로 입력하기
Sequence 함수의 구문은
=SEQUENCE(rows,[columns],[start],[step])
로서 행수와 열수로 숫자가 입력될 크기를 지정하고, start와 step으로 시작값과 간격을 입력합니다.
위의 경우 1부터 시작하고 간격이 3이며,
옆으로 되어 있으므로 rows는 1이지만 비워도 되고, columns는 위에 분리된 문자열의 개수를 보니 총 5개이므로 5를 입력합니다. 빈 셀 무시로 줄 것이므로 10이라고 크게 줘도 됩니다.
따라서,
=MID(A1,SEQUENCE(,10,1,3),3)
까지 수식을 입력하면
경기도, 성남시, 분당구, 정자동, 178이 표시된 다음 그 이후는 빈칸으로 표시됩니다.
이제 TextJoin과 연결하면 수식은
=TEXTJOIN(" ",,MID(A1,SEQUENCE(,10,1,3),3))
이 됩니다.
ignore_empty도 기본값이 True이므로 생략했습니다.
'Excel' 카테고리의 다른 글
중괄호 안에 값을 넣어 배열 만들기 (4) (1) | 2024.07.25 |
---|---|
중괄호 안에 값을 넣어 배열 만들기 (3) (4) | 2024.07.24 |
중괄호 안에 값을 넣어 배열 만들기 (1) (0) | 2024.07.22 |
필터와 필터 함수 (3) (0) | 2024.07.19 |
필터와 필터 함수 (2) (0) | 2024.07.18 |