구글 시트에 있는 다이나믹 어레이 기능을 엑셀이 도입하면서 엑셀의 함수들이 많이 편리해졌는데요.
다이나믹어레이 지원 함수는 점점 많아지고 있고, 심지어 LET 같이 배열을 변수에 저장할 수 있는 함수까지 생겼는데,
정작 구글시트에 있는 다수의 범위를 합치는 기능이 엑셀엔 없다는 점이 최근 엑셀의 가장 불편한 점이였습니다.
범위를 컨트롤 하는 기능이 없다보니, CHOOSE로 이리저리 꼼수를 써서 발악을 해보기도 하지만, 여전히 엑셀에선 한계가 명확했는데요.
2022년 365버전 엑셀에 드디어 범위를 합치는 기능이 들어왔습니다.

구글 시트의 ={A1:B2, D1:E2} 수식을
엑셀에서는 이제 =HSTACK(A1:B2, D1:E2) 이렇게 하면 되구요.

구글 시트의 ={A1:B2; D1:E2} 수식을 엑셀에선 =VSTACK(A1:B2, D1:E2) 이렇게 하면 됩니다. ㅎㅎ
아래는 2022년 엑셀에 추가된 함수들 목록이예요.
범위 합치는 함수 외에도, 1차원<->2차원 변환이나 범위 잘라내는 다양한 함수들이 추가되었기 때문에
이제 당분간 엑셀에서 범위 컨트롤 때문에 아쉬울 일은 없을 듯 해요.
다만 문자열 함수도 몇가지 추가되었는데, 정규표현식을 사용하는 기능은 아직도 없는 게 많이 아쉽네요.
🔹VSTACK, HSTACK: 여러 배열을 하나의 배열로 합치는 기능
🔹 CHOOSECOLS, CHOOSEROWS: 범위에서 한 열/줄 추출 (음수는 역방향)
🔹 DROP: 범위에서 지정한 부분을 버리는 함수 (음수 범위는 역방향)
🔹 TAKE: drop과 반대 함수, 범위를 지정해서 지정한 쪽을 취함 (음수 범위는 역방향)
🔹 EXPAND: 범위를 더 크게 확장, 빈 공간은 지정된 문자열로 채움
🔹 TOCOL, TOROW: 범위를 한 열/줄의 일차원 배열로 변환
🔹 WRAPCOLS, WRAPROWS: 일차원 배열을 2차원 배열로 변환
🔹 TEXTAFTER: n번째로(기본값 1, 음수는 역방향) 만나는 특정 기호(여러 기호를 배열로 입력 가능) 뒷부분 문자를 추출
🔹 TEXTBEFORE: n번째로 만나는 특정 기호 앞부분 문자를 추출
🔹 TEXTSPLIT: 특정 기호를 기준으로 문자열을 나누는 기능 (단, 문자열 입력을 배열로 줄 경우, 출력 문제로 인해 textbefore처럼 작동)
함수 공식 문서 링크 모음
VSTACK https://support.microsoft.com/ko-kr/office/vstack-%ED%95%A8%EC%88%98-a4b86897-be0f-48fc-adca-fcc10d795a9c
HSTACK https://support.microsoft.com/ko-kr/office/hstack-%ED%95%A8%EC%88%98-98c4ab76-10fe-4b4f-8d5f-af1c125fe8c2
CHOOSECOLS https://support.microsoft.com/ko-kr/office/choosecols-%ED%95%A8%EC%88%98-bf117976-2722-4466-9b9a-1c01ed9aebff
CHOOSEROWS https://support.microsoft.com/ko-kr/office/chooserows-%ED%95%A8%EC%88%98-51ace882-9bab-4a44-9625-7274ef7507a3
DROP https://support.microsoft.com/ko-kr/office/drop-%ED%95%A8%EC%88%98-1cb4e151-9e17-4838-abe5-9ba48d8c6a34
TAKE https://support.microsoft.com/ko-kr/office/take-%ED%95%A8%EC%88%98-25382ff1-5da1-4f78-ab43-f33bd2e4e003
EXPAND https://support.microsoft.com/ko-kr/office/expand-%ED%95%A8%EC%88%98-7433fba5-4ad1-41da-a904-d5d95808bc38
TOCOL https://support.microsoft.com/ko-kr/office/tocol-%ED%95%A8%EC%88%98-22839d9b-0b55-4fc1-b4e6-2761f8f122ed
TOROW https://support.microsoft.com/ko-kr/office/torow-%ED%95%A8%EC%88%98-b90d0964-a7d9-44b7-816b-ffa5c2fe2289
WRAPCOLS https://support.microsoft.com/ko-kr/office/wrapcols-%ED%95%A8%EC%88%98-d038b05a-57b7-4ee0-be94-ded0792511e2
WRAPROWS https://support.microsoft.com/ko-kr/office/wraprows-%ED%95%A8%EC%88%98-796825f3-975a-4cee-9c84-1bbddf60ade0
TEXTAFTER https://support.microsoft.com/ko-kr/office/textafter-%ED%95%A8%EC%88%98-c8db2546-5b51-416a-9690-c7e6722e90b4
TEXTBEFORE https://support.microsoft.com/ko-kr/office/textbefore-%ED%95%A8%EC%88%98-d099c28a-dba8-448e-ac6c-f086d0fa1b29
TEXTSPLIT https://support.microsoft.com/ko-kr/office/textsplit-%ED%95%A8%EC%88%98-b1ca414e-4c21-4ca0-b1b7-bdecace8a6e7
모르는 함수가 대부분이네요 ㅎㅎ
TEXTAFTER, TEXTBEFORE. 정말 유용할 것 같습니다.
그 동안 SUBSTITUTE를 지저분하게 조합해서 썼는데…
혹시 이 함수로 처음으로 만나는… 을 두번째로 만나는, 세번째로 만나는 등
특정 기호간의 단어만 추출하는 것도 가능할까요?
아래와 같은 : 으로 구분된 내용을 카톡으로 대량으로 주고 받는데
그 내용을 요약하려면 함수로는 힘들더라고요…
이름: 홍길동
주소: ㅇㅇ시 ㅇㅇ구 ㅇㅇ동
전화번호: 010-1234-2335
이메일 주소: aaaa@bbbb.com
TEXTSPLIT으로 나눈 글자를 선택하는 몇가지 예를 만들어보면...
🔹n번째의 텍스트 조각을 취하기
=CHOOSECOLS(TEXTSPLIT(A1, " "), 3) <- 3번째 단어 선택
만약 마지막 단어를 가져오고 싶다면,
=CHOOSECOLS(TEXTSPLIT(A1, " "), -1)
이렇게 마이너스 방향으로 접근하면 됩니다.
🔹2번째 단어까지 잘라내고 3번째부터 취하기
=DROP(TEXTSPLIT(A1, " "),0,2)
만약 한 셀에 모아서 출력하고 싶다면, =TEXTAFTER(A1, " ", 2)
🔹마지막 2 단어만 취하기
=TAKE(TEXTSPLIT(A1, " "),1,-2)
만약 한 셀에 모아서 출력하고 싶다면, =TEXTAFTER(A1, " ", -2)
등 다양한 응용이 가능하죠.
-------------------
이름: 홍길동
주소: ㅇㅇ시 ㅇㅇ구 ㅇㅇ동
전화번호: 010-1234-2335
이메일 주소: aaaa@bbbb.com
만약 위와 같은 텍스트를 한번에 쪼개서 여러 줄로 라벨과 값을 분리하고 싶다면,
=TRIM(TEXTSPLIT(A1,":","
"))
이렇게 하면 됩니다.
/Vollago