엑셀 ROW · COLUMN
셀의 행 번호와 열 번호를 추출 — 동적 일련번호·INDEX 결합·조건부 서식의 토대
ROW·COLUMN 수식 구조
셀 (reference, 선택)
위치를 추출할 셀 또는 범위. 생략하면 수식이 있는 셀 자신의 행·열을 반환
ROW(C5) = 5, COLUMN(C5) = 3. 인수를 생략한 =ROW()는 그 수식이 들어 있는 셀 자신의 행 번호 — 아래로 끌어 채우면 자동으로 1씩 증가합니다.직접 체험해보세요
셀을 클릭하면 그 위치의 행·열 번호가 결과 카드에 나타납니다 (열 번호: A=1, B=2, …)
셀을 클릭하면 ROW·COLUMN 결과가 바뀝니다
| A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
| 1 | A1 | B1 | C1 | D1 | E1 | F1 | G1 | H1 |
| 2 | A2 | B2 | C2 | D2 | E2 | F2 | G2 | H2 |
| 3 | A3 | B3 | C3 | D3 | E3 | F3 | G3 | H3 |
| 4 | A4 | B4 | C4 | D4 | E4 | F4 | G4 | H4 |
| 5 | A5 | B5 | C5 | D5 | E5 | F5 | G5 | H5 |
| 6 | A6 | B6 | C6 | D6 | E6 | F6 | G6 | H6 |
| 7 | A7 | B7 | C7 | D7 | E7 | F7 | G7 | H7 |
| 8 | A8 | B8 | C8 | D8 | E8 | F8 | G8 | H8 |
| 9 | A9 | B9 | C9 | D9 | E9 | F9 | G9 | H9 |
| 10 | A10 | B10 | C10 | D10 | E10 | F10 | G10 | H10 |
ROW(C5)
5
행 번호 (위→아래)
COLUMN(C5)
3
열 번호 (좌→우)
아래로 끌면 자동 증가
실전 활용 예제
=ROW()-1동적 일련번호 — 표 헤더가 1행이라면 데이터 시작이 2행. 행을 끼워넣거나 정렬해도 번호가 자동 갱신됨.
=INDEX($A$1:$A$100, ROW())다른 시트의 N번째 값 — ROW로 위치를 동적 생성해 INDEX와 결합. 행 위치가 자동 증가하므로 끌어 채우기로 1~100을 다 가져옴.
=MOD(ROW(), 2)=0짝수 행 판별 — 조건부 서식에서 격행 음영 처리(zebra stripe)에 가장 흔히 쓰이는 패턴. 짝수 행만 회색 배경.
=SMALL($A$1:$A$10, ROW(A1))N번째 작은 값 자동 — 첫 행에 1번째 작은 값, 끌면 ROW(A1)이 1·2·3…으로 증가해 자동으로 두 번째·세 번째…까지 정렬.
=COLUMN(B1)-COLUMN($A$1)동적 열 오프셋 — 어떤 열에 있든 A열로부터의 거리를 계산. 가로 방향 끌기에서 1·2·3…으로 증가.
다른 엑셀 함수도 알아보세요
왜 =ROW()-1 트릭이 그렇게 인기인가 — 정렬·삽입에 강함
▼
엑셀에서 가장 흔한 실수 중 하나가 일련번호를 1, 2, 3을 직접 입력하고 끌어 채우기입니다. 데이터 행을 끼워넣거나 정렬하면 번호가 엉망이 됩니다.
| 방식 | 행 삽입 시 | 정렬 시 |
|---|---|---|
| 직접 입력(1, 2, 3…) | 번호 끊김 | 번호 섞임 |
| =ROW()-1 | 자동 갱신 | 자동 갱신 |
ROW는 물리적 행 위치를 반환하므로 정렬 결과와 무관하게 항상 "지금 이 셀이 몇 번째 행인지"를 돌려줍니다. 데이터 무결성 확보용 일련번호로 가장 안전한 패턴이죠.
ROW·COLUMN을 INDEX·SMALL과 결합 — 진짜 강력해지는 순간
▼
ROW·COLUMN의 진짜 위력은 다른 함수의 인수 자리에서 동적으로 위치를 공급할 때 드러납니다. 아래로 끌면 1·2·3… 위로 옮기면 -1·-2…처럼 자유롭게 위치를 만들어낼 수 있습니다.
결합 패턴 3가지
=INDEX(범위, ROW(A1)) → 끌어채우면 1·2·3…
=SMALL(점수범위, ROW(A1)) → 상위부터 자동 정렬
=INDEX(범위, , COLUMN(A1)) → 가로 방향 자동 증가
이 패턴이 동적 배열(M365의 SEQUENCE) 이전 시대의 표준이었고, 호환성이 필요한 환경(구버전 엑셀, 공유받는 사람의 버전을 모를 때)에선 여전히 안전한 선택입니다. INDEX와 짝지으면 VLOOKUP보다 유연한 조회식을 만들 수 있습니다.
조건부 서식의 단골 — MOD(ROW(),2)와 친구들
▼
표 꾸미기에서 가장 흔한 패턴이 격행 음영(zebra stripe)입니다. 조건부 서식의 수식 규칙에 아래를 넣으면 짝수 행만 강조됩니다.
=MOD(ROW(), 2) = 0 → 짝수 행
=MOD(ROW(), 2) = 1 → 홀수 행
=MOD(ROW(), 3) = 0 → 3행마다 강조
=MOD(COLUMN(), 2) = 0 → 짝수 열 (세로 줄무늬)
Excel "표(Ctrl+T)" 기능을 쓰면 격행 음영이 기본 제공되지만, 표 변환을 못하거나 패턴을 더 세밀히 제어하고 싶을 때 이 수식이 유용합니다. MOD는 ROW의 단짝이라 같이 익혀두면 좋습니다.
자주 묻는 질문 (FAQ)
▼
Q. =ROW(A1:A10)이면 결과가 뭔가요?
전통 엑셀에선 첫 셀의 행 번호(=1)만, M365처럼 동적 배열을 지원하는 버전에선 1~10이 세로로 펼쳐집니다. =ROW(1:10) 형태로 1~10을 만드는 트릭의 토대입니다.
Q. COLUMN의 결과 1·2·3을 A·B·C로 바꾸려면?
=ADDRESS(1, COLUMN(), 4) 또는 =CHAR(64 + COLUMN()) (A~Z 범위). Z(26)를 넘어가면 두 글자(AA·AB)가 되므로 ADDRESS가 더 안전합니다.
Q. ROWS·COLUMNS와는 어떻게 다른가요?
ROW/COLUMN은 위치(번호)를, ROWS/COLUMNS는 개수를 반환합니다. ROW(A5) = 5 vs ROWS(A1:A5) = 5. 결과가 같아 보여도 의미가 달라요. 범위 크기 카운트가 필요하면 ROWS·COLUMNS를 쓰세요.
Q. 시트가 다른 셀에서 ROW()를 쓰면?
인수를 생략한 ROW()·COLUMN()은 수식이 위치한 셀의 행·열을 반환합니다. 다른 시트의 셀을 인수로 명시하면 그 셀의 행·열을 반환합니다 — =ROW(Sheet2!C5) = 5.