엑셀 TAKE 함수는 배열, 범위에서 행과 열로 지정된 범위를 가져옵니다. TAKE 함수는 단순히 범위를 가져오기 때문에 단독으로 사용되는 경우는 드물고 VSTACK 함수, HSTACK 함수, SORT 함수 등 데이터를 처리하는 함수와 결합하여 많이 사용됩니다.
※ 이 함수는 2023년 11월 현재 Microsoft 365 이상 버전에서만 쓸 수 있습니다.
** TAKE 함수와 DROP 함수: TAKE 함수는 지정된 범위를 가져오지만 DROP 함수는 지정된 범위를 제외하고 나머지 범위를 가져옵니다.
구문(Syntax)
=TAKE(array, rows, [columns])
=TAKE(배열, 행수, [열수])
배열 또는 범위에서 행과 열로 지정된 범위를 가져온다.
인수
- array: 가져올 범위가 포함된 배열 또는 범위
- rows: 가져올 행의 갯수, 음수로 입력하면 아래부터 가져옴
- columns: 가져올 열의 갯수, 음수로 입력하면 오른쪽부터 가져옴
사용 예
행 범위 가져오기
다음과 같이 '월별 판매실적' 범위에서 원하는 행 범위을 지정하여 가져올 수 있습니다.
=TAKE(B5:E17,5)
행의 갯수를 지정하는 인수가 5이므로 [B5:E17] 범위에서 1,2,3,4,5 행을 가져옵니다.
가져온 범위는 동적 배열이므로 가장자리에 파란색 테두리 선이 표시됩니다. 가져온 범위는 원본([B5:E17] 범위)을 참조하고 있으므로 원본의 값을 변경하면 가져온 범위의 값도 변경됩니다.
열 범위 가져오기
다음과 같이 '월별 판매실적' 범위에서 원하는 열 범위을 지정하여 가져올 수 있습니다.
=TAKE(B5:E17,,2)
열 범위를 가져와야 하므로 행의 갯수를 지정하는 두 번째 인수는 생략하고 가져올 열의 갯수인 세 번째 인수를 2로 입력하면 [B5:E17] 범위에서 2개열(1,2 열)을 가져옵니다.
지정된 행과 열 범위 가져오기
다음과 같이 '월별 판매실적' 범위에서 행과 열의 갯수를 지정하여 범위를 가져올 수 있습니다.
=TAKE(B5:E17,5,3)
행의 갯수는 5, 열의 갯수는 3으로 입력하면 다음과 같이 [B5:E17] 범위에서 5행, 3열에 해당하는 범위를 가져옵니다.
범위의 아래부터 가져오기
다음과 같이 행의 갯수를 음수로 지정하면 아래부터 범위를 가져올 수 있습니다.
=TAKE(B5:E17,-1)
두 번째 인수 행의 갯수에 -1을 입력하면 범위에서 가장 아래 행을 가져옵니다.
=TAKE(B5:E17,-2)
두 번째 인수 행의 갯수에 -2를 입력하면 범위에서 아래부터 2개 행을 가져옵니다.
범위의 오른쪽부터 가져오기
열 범위를 가져와야 하므로 행의 갯수를 지정하는 두 번째 인수는 생략하고 세 번째 인수에 열의 갯수를 음수로 지정하면 오른쪽부터 범위를 가져올 수 있습니다.
=TAKE(B5:E17,,-1)
세 번째 인수 열의 갯수에 -1을 입력하면 범위에서 가장 오른쪽 열을 가져옵니다.
=TAKE(B5:E17,,-2)
세 번째 인수 열의 갯수에 -2를 입력하면 범위에서 오른쪽부터 2개 열을 가져옵니다.
서울지역 판매실적 상위 3개 가져오기
범위를 정렬해주는 SORT 함수와 범위를 가져오는 TAKE 함수를 결합하면 판매실적과 같은 자료에서 상위 N개의 자료를 손쉽게 가져올 수 있습니다.
=TAKE(SORT(B6:E17,2,-1),3,2)
수식 풀이:
SORT(B6:E17,2,-1)
SORT 함수는 정렬범위 [B6:E17]에서 2번째 열(서울 지역)을 내림 차순(SORT 함수의 세 번째 인수를 -1로 입력)으로 정렬하면 판매실적이 가장 큰 것이 위로 표시됨
=TAKE(SORT(B6:E17,2,-1),3,2)
TAKE 함수는 SORT 함수의 결과를 받아서 행의 갯수 3개(판매실적 상위 3개에 해당), 열의 갯수 2개(판월과 서울지역을 포함하는 열의 갯수)를 가져오면 서울 지역 판매실적 상위 3개가 됨
관련 글