마우스 드래그하다 손목 나갈 뻔한 썰… 순번 1만 개, 1초 만에 채우는 방법
안녕하세요. 여러분의 퇴근 시간을 획기적으로 단축해 드리는 엑셀 자동화 마스터, 직장인 엑셀 꿀팁 저장소입니다. 오늘은 엑셀을 다루는 직장인이라면 누구나 한 번쯤 겪어봤을 ‘단순 반복 작업’의 고통에서 여러분을 해방시켜 드릴 마법 같은 함수, SEQUENCE 함수에 대해 아주 깊이 있게 파헤쳐 보려 합니다.
지난 시간에는 엉망진창으로 섞여 있는 텍스트 데이터에서 브랜드와 상품명만 칼같이 발라내는 TEXTBEFORE, TEXTAFTER 함수에 대해 알아봤습니다. 기억하시나요? 마케팅팀 최 사원이 5,000개의 제품명을 단 1분 만에 깔끔하게 정리하고, 의기양양하게 팀장님께 보고하러 갔었던 그 에피소드 말입니다.
그런데 말입니다. 산 넘어 산이라고 했던가요? 데이터 정리는 완벽하게 끝냈는데, 팀장님이 최 사원이 가져온 보고서를 쓱 훑어보더니 미간을 찌푸리며 무심하게 한마디 던집니다.
“최 사원, 고생했는데… 이거 앞에 ‘연번(No.)’이 왜 없어? 데이터가 5,000개면 1번부터 5,000번까지 번호를 매겨놔야 내가 이게 몇 개인지 한눈에 알 거 아냐. 다시 해와.”
최 사원은 속으로 ‘아차’ 싶었습니다. 서둘러 자리로 돌아와 익숙한 손놀림으로 A열 첫 번째 칸에 ‘1’을, 두 번째 칸에 ‘2’를 입력합니다. 그리고 두 셀을 범위로 잡고 마우스 커서를 셀 오른쪽 아래 모서리로 가져갑니다. 검은색 십자가 모양(➕)이 뜨자마자 더블 클릭을 따닥! …하려고 했는데, 중간에 빈 행이 하나 섞여 있었는지 채우기가 뚝 끊겨버립니다.
결국 최 사원은 한숨을 쉬며 마우스 왼쪽 버튼을 꾹 누르고 아래로 하염없이 드래그를 시작합니다. 데이터는 5,000행… 100행, 500행, 1,000행을 지나갑니다. 스크롤 속도가 점점 빨라집니다. 그러다 순식간에 목표 지점인 5,000행을 지나쳐 30,000행까지 내려가 버립니다. “으악!” 비명을 지르며 다시 마우스를 위로 올리는데, 이번엔 또 너무 위로 올라가 버립니다. 손가락 검지에는 쥐가 날 것 같고, 엑셀 화면은 위아래로 널뛰기를 하며 렉이 걸려 깜빡거립니다. 옆자리 대리님이 “최 사원, 엑셀로 디제잉 해?”라며 핀잔을 줍니다.
여러분도 이런 경험, 실무 하시다 보면 분명 한 번쯤 있으실 겁니다. 단순한 숫자 채우기 때문에 손목터널증후군이 올 것 같은 이 ‘드래그 노가다’, 오늘부로 완전히 끊어드리겠습니다. 마우스는 거들 뿐, 수식 하나로 100만 행까지 1초 만에 번호를 채우는 엑셀 SEQUENCE 함수의 신세계를 소개합니다.

도대체 SEQUENCE 함수가 뭔가요? (동적 배열의 이해)
엑셀 2019 버전 및 오피스 365(Microsoft 365) 버전에 혜성처럼 등장한 SEQUENCE 함수는 말 그대로 ‘연속된 숫자(Sequence)’를 배열(Array) 형태로 반환해 주는 함수입니다.
과거의 엑셀(Legacy Excel)에서는 하나의 셀에 하나의 값만 들어가는 것이 원칙이었습니다. 하지만 최신 엑셀에서는 수식 하나를 입력하면 그 결과가 여러 셀로 촤라락 쏟아져 나오는 ‘동적 배열(Dynamic Array)’ 기능이 도입되었습니다. SEQUENCE 함수는 이 동적 배열 기술의 가장 기초적이면서도 강력한 예시입니다. 이제 우리는 숫자를 채우기 위해 엑셀에 직접 물리적인 행동(입력, 드래그, 채우기 핸들)을 할 필요가 없습니다. 엑셀에게 “명령”만 내리면 됩니다.
기존 방식(채우기 핸들, ROW 함수)이 ‘최악’인 이유
우리가 흔히 쓰는 ‘채우기 핸들(드래그)’ 방식이나 =ROW()-1 같은 수식은 치명적인 단점 세 가지가 있습니다.
- 데이터가 삭제되면 번호가 꼬인다: 중간에 3번 데이터를 삭제하면, 번호가 1, 2, 4, 5… 가 되어버립니다. 3번이 비게 되죠. 결국 다시 드래그해서 번호를 고쳐야 합니다.
- 데이터가 추가되면 수동으로 채워야 한다: 데이터가 늘어나면 또 마우스를 잡고 드래그를 해야 합니다. 깜빡하고 안 하면 그 부분은 빈칸으로 남아 보고서의 신뢰도를 떨어뜨립니다.
- 물리적인 고통과 비효율: 데이터가 10만 건이 넘어가면 드래그하다가 진짜로 손목 나갑니다. 그리고 파일 용량도 미세하게 늘어납니다.
SEQUENCE 함수는 이 모든 문제를 완벽하게 해결합니다. 원본 데이터가 바뀌면 순번도 살아서 움직이니까요.
핵심 원리: SEQUENCE 함수 문법 완벽 해부
문법은 정말 간단합니다. 복잡하게 생각할 필요 없이 엑셀에게 “몇 줄 만들래?” 이것만 알려주면 됩니다.
=SEQUENCE(rows, [columns], [start], [step])
=SEQUENCE(행 개수, [열 개수], [시작 번호], [증가 단위])
- rows (행 개수): 숫자를 세로로 몇 개(몇 줄) 만들지 정합니다. (필수 입력)
- columns (열 개수): 가로(옆)로 몇 칸 채울지 정합니다. (생략 시 기본값 1개)
- start (시작 번호): 몇 번부터 시작할지 정합니다. (생략 시 1부터 시작)
- step (증가 단위): 숫자를 몇씩 키울지 정합니다. (생략 시 1씩 증가)
기초 실습: 1부터 10까지 순번 매기기
가장 기본적인 사용법입니다. A1 셀에 딱 한 번만 입력해 보세요.
=SEQUENCE(10)
엔터를 치는 순간, A1 셀 하나에만 수식을 넣었음에도 불구하고 A1부터 A10까지 파란색 테두리가 쳐지며 숫자가 Spill(쏟아짐) 됩니다. 이것이 바로 동적 배열의 힘입니다. 이제 드래그할 필요가 없습니다. 만약 100만 개를 만들고 싶다면? 괄호 안에 1000000만 넣으면 1초 만에 끝납니다.

실무 활용 1: 데이터 개수만큼 ‘알아서’ 번호 매기기 (핵심 꿀팁)
다시 최 사원의 5,000개 데이터 상황으로 돌아가 봅시다. 최 사원이 진짜로 써야 했던, 야근을 막아줄 수식은 과연 무엇이었을까요?
실무에서는 데이터가 매일 추가되거나 삭제됩니다. 이때마다 순번을 다시 매기는 건 하수나 하는 일입니다. 데이터가 있는 B열의 개수를 세서, 딱 그만큼만 번호를 만들어주는 COUNTA 함수와 결합하면 ‘자동화’가 완성됩니다.
=SEQUENCE(COUNTA(B:B)-1)
이 수식의 원리는 다음과 같습니다.
- COUNTA(B:B): B열 전체에 들어있는 데이터(제목 포함)가 몇 개인지 셉니다. (예를 들어 제목 포함 5,001개라고 칩시다.)
- -1: 맨 윗줄에 있는 제목(Header)인 ‘상품명’은 번호를 매기면 안 되니까 전체 개수에서 1을 뺍니다. (5,000개가 남습니다.)
- SEQUENCE(…): 방금 구해진 5,000이라는 숫자만큼 1부터 5,000까지 순번을 생성하여 뿌려줍니다.
이제 B열에 데이터를 100개 더 붙여넣기만 하면, A열의 순번은 건드리지 않아도 5,100번까지 알아서 늘어납니다. 반대로 데이터를 지우면 번호도 자동으로 줄어듭니다. 이것이 진정한 ‘엑셀 자동화’입니다.
실무 활용 2: 1년 치 날짜 자동으로 채우기 (근태관리표)
인사팀이나 총무팀에서 근태관리표나 스케줄러를 만들 때, 1월 1일부터 12월 31일까지 날짜를 드래그하느라 고생하신 적 있으시죠? 월별로 28일인지 30일인지 확인하는 것도 일입니다.
SEQUENCE 함수는 숫자뿐만 아니라 날짜도 만들 수 있습니다. 엑셀에서 날짜는 본래 ‘하루에 1씩 증가하는 숫자(일련번호)’로 인식되기 때문입니다.
Q. 2024년 1월 1일부터 365일 치 날짜를 만들고 싶다면?
=SEQUENCE(365, 1, "2024-01-01", 1)
- 365: 365줄(1년)을 만듭니다.
- 1: 1열(한 줄)만 씁니다.
- “2024-01-01”: 시작 값을 날짜 텍스트로 넣어줍니다. (엑셀이 알아서 숫자로 변환합니다.)
- 1: 하루씩 증가시킵니다.
이렇게 입력하고 셀 서식을 ‘날짜’로만 바꿔주면, 1년 치 달력이 0.1초 만에 완성됩니다. 만약 ‘일주일 간격’으로 주간 업무 보고서 날짜를 뽑고 싶다면? 마지막 인수인 ‘증가 단위’를 7로 바꾸기만 하면 됩니다. 정말 편리하지 않나요?
실무 활용 3: 역순으로 채우기 (D-Day 카운트다운)
행사를 앞두고 있거나 프로젝트 마감일까지 D-Day를 표시해야 할 때, 숫자를 거꾸로 세야 하는 경우도 종종 발생합니다. 100, 99, 98… 이렇게 말이죠. 드래그로 하려면 100 쓰고, 99 쓰고, 두 개를 잡아서 조심스럽게 내려야 하는 번거로움이 있습니다.
SEQUENCE 함수는 음수(-, 마이너스)도 자유자재로 다룰 수 있습니다.
=SEQUENCE(100, 1, 100, -1)
- 100: 100개의 숫자를 만듭니다.
- 1: 1열만 씁니다.
- 100: 시작 번호를 100으로 설정합니다.
- -1: 1씩 감소(빼기)합니다.
심화: 2차원 배열로 달력이나 좌석 배치도 만들기
SEQUENCE 함수의 두 번째 인수인 [columns]를 활용하면, 한 줄이 아니라 바둑판 모양의 2차원 데이터도 만들 수 있습니다. 예를 들어 영화관 좌석 배치도나, 월간 달력처럼 가로 7칸, 세로 5칸짜리 박스에 1부터 35까지 숫자를 채우고 싶다면 어떻게 할까요?
=SEQUENCE(5, 7)
이렇게 입력하면 5행 7열의 표 모양으로 숫자가 1부터 35까지 예쁘게 채워집니다. 과거에는 각 셀마다 수식을 걸거나 복사해서 붙여넣어야 했던 작업이 함수 하나로 끝나는 것입니다.

자주 묻는 질문: #SPILL! 에러가 뭐죠?
SEQUENCE 함수를 처음 써보시는 분들이 가장 당황하는 것이 바로 #SPILL! 에러입니다. 한국어 버전에서는 #분산! 이라고 뜨기도 합니다.
- 원인: SEQUENCE 함수는 결과를 아래로 쫙 쏟아내야(Spill) 하는데, 그 자리에 이미 다른 글자나 데이터가 가로막고 있는 경우입니다. 물을 쏟아야 하는데 바닥에 돌멩이가 있는 셈이죠.
- 해결: 아주 간단합니다. 수식이 입력된 셀 아래쪽(숫자가 채워질 공간)을 깨끗하게 비워주세요. 엑셀이 “비켜! 나 숫자 뿌려야 돼!”라고 외치는 신호라고 보시면 됩니다. 장애물만 치워주면 에러는 즉시 사라지고 숫자가 나타납니다.
| 비교 항목 | 채우기 핸들 (드래그) | SEQUENCE 함수 |
|---|---|---|
| 방식 | 수동 (물리적 노동) | 자동 (수식 입력) |
| 속도 | 데이터 양에 따라 느려짐 | 100만 행도 1초 컷 |
| 유지보수 | 중간 행 삭제 시 번호 깨짐 | 행 삭제/추가 시 자동 갱신 |
| 건강 | 손목 통증 및 피로 유발 | 키보드만으로 해결 (건강 보호) |
| 난이도 | 하 | 하 (문법이 매우 쉬움) |
💡 더 깊이 알아보고 싶다면? (공식 가이드)
SEQUENCE 함수는 Microsoft 365 및 Excel 2021 이상 버전에서 지원됩니다. 이 함수의 더 다양한 배열 활용법이 궁금하시다면 마이크로소프트 공식 지원 문서(SEQUENCE)를 참고해 보시는 것을 추천합니다.
마치며
지금까지 엑셀 순번 채우기의 패러다임을 바꿀 SEQUENCE 함수에 대해 알아보았습니다.
아직도 “에이, 그냥 드래그하면 되지 뭘 함수까지 써?”라고 생각하시나요? 데이터가 100개일 땐 드래그가 빠를 수 있습니다. 하지만 여러분이 다루는 데이터가 1,000개가 넘어가고, 매일매일 데이터가 추가되거나 삭제되는 ‘살아있는 파일’이라면 SEQUENCE 함수는 선택이 아닌 필수입니다. 엑셀 고수와 하수의 차이는 타자 속도가 아니라, 이런 ‘구조적인 자동화’를 할 줄 아느냐 모르느냐에서 갈립니다.
오늘 당장 여러분의 업무 파일에서 A열을 확인해 보세요. 그리고 하드코딩된 숫자들을 지워버리고, 우아하게 =SEQUENCE 수식을 넣어보시길 바랍니다. 최 사원처럼 팀장님께 칭찬받는 것은 물론, 여러분의 소중한 손목 건강까지 지킬 수 있을 테니까요.
다음 시간에는 ‘이 함수’ 두 개만 알면 복사 붙여넣기 노가다는 영원히 안녕입니다. 한 줄로 엉망진창 나열된 비정형 데이터를 단 1초 만에 깔끔한 표로 변신시켜 주는 WRAPROWS와 WRAPCOLS 함수의 모든 것에 대해 다뤄보겠습니다. 지저분한 데이터를 마주하고 멘탈이 나갔던 분들이라면 절대 놓치지 마세요! 지금까지 여러분의 칼퇴 메이트, 직장인 엑셀 꿀팁 저장소였습니다!
