엑셀 ROW 함수 완벽 가이드
순번 자동 생성부터 INDEX/MATCH 조합까지

데이터가 추가되거나 행을 삭제해도 순번이 자동으로 바뀌길 원하시나요? ROW 함수를 사용하면 일일이 번호를 수정하지 않아도 됩니다. 이 글에서는 ROW 함수의 기본 개념부터 실무에서 바로 쓸 수 있는 활용법까지 초보자도 따라할 수 있게 단계별로 설명합니다.

ROW 함수란?

ROW 함수는 특정 셀이 몇 번째 행에 있는지 행 번호를 반환하는 함수입니다. 예를 들어 A5 셀에서 =ROW()를 입력하면 5가 반환됩니다.

얼핏 보면 단순해 보이지만, 이 성질을 이용하면 데이터가 변해도 자동으로 갱신되는 순번, 동적인 참조 범위, INDEX/MATCH와의 조합 등 다양한 자동화가 가능합니다.

기본 문법

=ROW([reference])
인수설명필수 여부
reference행 번호를 알고 싶은 셀 또는 범위. 생략하면 수식이 입력된 셀의 행 번호를 반환선택
핵심 포인트: 인수 없이 =ROW()만 입력하면 수식이 있는 셀의 행 번호를 반환합니다. A2에 입력하면 2, A10에 입력하면 10이 나옵니다.

STEP 1 — 기본 사용법 (행 번호 확인)

1셀 선택 후 수식 입력

A2 셀을 선택하고 수식 입력창에 아래와 같이 입력합니다.

=ROW()

Enter를 누르면 2가 표시됩니다. A2는 2번째 행이기 때문입니다.

2다른 셀 참조하기

특정 셀의 행 번호가 궁금하다면 인수에 직접 넣을 수 있습니다.

=ROW(A10)

이 수식은 어느 셀에 입력하든 항상 10을 반환합니다. A10이 10번째 행에 있기 때문입니다.

STEP 2 — 순번 자동 생성하기

가장 많이 쓰이는 활용입니다. 데이터를 추가하거나 행을 삭제해도 번호가 자동으로 바뀝니다.

1예제 데이터 준비

아래와 같이 데이터를 입력합니다. 1행은 헤더, 2행부터 데이터입니다.

A열 (순번)B열 (이름)
← 여기에 수식 입력김철수
이영희
박민준
2A2 셀에 수식 입력

A2 셀을 선택하고 다음 수식을 입력합니다.

=ROW()-1

ROW()는 2를 반환하는데, 여기서 1을 빼면 1이 됩니다. 헤더가 1행을 차지하므로 -1을 해서 순번을 1부터 맞추는 것입니다.

3자동 채우기

A2 셀을 선택한 상태에서, 셀 우측 하단의 작은 사각형(채우기 핸들)을 아래로 드래그합니다. 또는 A2 셀을 복사(Ctrl+C)한 후 나머지 셀에 붙여넣기(Ctrl+V)해도 됩니다.

A열 (순번)B열 (이름)
1 (=ROW()-1)김철수
2 (=ROW()-1)이영희
3 (=ROW()-1)박민준
행을 삭제해도 자동 갱신됩니다! 이영희 행을 삭제하면 기존의 3번이 2번으로 자동 변경됩니다. 이것이 ROW 함수를 쓰는 가장 큰 이유입니다.

STEP 3 — 헤더가 여러 행일 때 조정

헤더가 2행이라면 데이터는 3행부터 시작합니다. 이 경우 수식을 다음과 같이 조정합니다.

=ROW()-2

즉, 데이터 시작 행 번호 − 1을 빼면 됩니다. 데이터가 4행에서 시작하면 =ROW()-3입니다.

STEP 4 — 고급 활용: INDEX/MATCH와 조합

ROW 함수는 INDEX/MATCH와 함께 사용하면 매우 강력해집니다. 예를 들어 특정 조건에 맞는 여러 건의 데이터를 순서대로 추출할 때 사용합니다.

예시: 부서가 "인사팀"인 사람 목록 추출

=IFERROR(INDEX(이름범위, MATCH(ROW()-1, IF(부서범위="인사팀", ROW(부서범위)-ROW(부서범위첫셀)+1), 0)), "")

이 수식은 배열 수식(Ctrl+Shift+Enter)으로 입력해야 합니다. ROW()가 행 번호를 인덱스로 제공하면서 순서대로 결과를 추출하는 역할을 합니다.

배열 수식이 어렵다면 우선 기본 순번 자동 생성만 익혀도 실무에서 충분히 활용할 수 있습니다.

자주 쓰는 ROW 함수 패턴 정리

목적수식결과 예시 (A2 셀 기준)
현재 행 번호=ROW()2
1부터 시작하는 순번 (헤더 1행)=ROW()-11
1부터 시작하는 순번 (헤더 2행)=ROW()-2데이터가 3행부터면 1
특정 셀의 행 번호 확인=ROW(C15)15
범위의 시작 행 번호=ROW(A1:A10)1 (범위 첫 행)

실무 활용 사례

자주 묻는 질문

ROW()와 ROW(A1)의 차이는 무엇인가요?
=ROW()는 수식이 입력된 셀의 행 번호를 반환합니다. 예를 들어 C5에 입력하면 5를 반환합니다. =ROW(A1)은 A1이 1행에 있으므로 어느 셀에 입력해도 항상 1을 반환합니다. 순번 생성에는 =ROW()를 사용하는 것이 일반적입니다.
행을 숨기면 순번도 건너뛰나요?
아닙니다. ROW 함수는 숨긴 행도 포함해서 실제 행 번호를 반환합니다. 예를 들어 3행이 숨겨져 있어도 4행의 ROW()는 4를 반환합니다. 보이는 행에만 연속 번호를 매기려면 SUBTOTAL 함수를 사용해야 합니다.
ROWS 함수와 ROW 함수의 차이는 무엇인가요?
ROW()는 특정 셀의 행 번호를 반환하고, ROWS(범위)는 범위에 포함된 행의 개수를 반환합니다. 예를 들어 =ROWS(A1:A10)은 10을 반환합니다. 총 행 수를 세고 싶을 때는 ROWS를 사용합니다.