엑셀 컴활 함수

엑셀 ROWS, COLUMNS 함수 완벽 정복! (행 개수, 열 개수 세기부터 VLOOKUP 동적 활용 꿀팁까지)

mine25 2025. 11. 24. 07:09

 

안녕하세요! 엑셀로 데이터를 다루다 보면, "내가 지금 선택한 이 범위가 총 몇 행이지?", "이 표는 몇 개의 열로 이루어져 있지?" 궁금할 때가 많죠. 😅 일일이 눈으로 세거나 마우스로 드래그해서 개수를 확인하시나요?

 

오늘은 이럴 때 아주 유용한, 지정한 범위의 행과 열 개수를 '숫자'로 정확하게 알려주는 엑셀 ROWS 함수COLUMNS 함수에 대해 쉽고 확실하게 알려드릴게요!

 

📌 [핵심] ROWS와 COLUMNS 함수는 선택한 '범위(영역)'가 몇 개의 행과 열로 구성되어 있는지 그 '크기'를 알려주는 함수입니다.

 


📚 ROWS, COLUMNS 함수, 왜 사용해야 할까요?

 

"이 함수들, 그냥 COUNTA 같은 거랑 비슷한 거 아니야?" 라고 생각하실 수도 있어요. 하지만 이 함수들은 역할이 명확히 다릅니다!

 

- COUNTA 함수: 범위에서 데이터가 채워진 셀의 개수를 셉니다.

- ROWS / COLUMNS 함수: 데이터가 있든 없든 상관없이 우리가 지정한 '범위(Range)' 자체가 가진 구조적인 행/열의 개수를 알려줘요.

 

이게 왜 중요하냐면, 나중에 동적 범위를 만들거나 (데이터가 추가돼도 알아서 범위가 늘어나게 하는 것!) 복잡한 배열 수식을 작성할 때 이 함수들이 '기준'이 되어주기 때문이에요. 특히 오늘 배울 VLOOKUP 활용 예제는 실무에서 정말 유용하답니다!

 

🔍 함수 기본 구문 알아보기 (Syntax)

 

두 함수의 사용법은 거의 쌍둥이처럼 닮았답니다. 아주 간단해요!

 

1. ROWS 함수: 범위의 '행' 개수 구하기

=ROWS(array)

2. COLUMNS 함수: 범위의 '열' 개수 구하기

=COLUMNS(array)

 

인수 설명 (Argument)

array (필수): 행 또는 열의 개수를 구하려는 셀 범위 또는 배열입니다. A1:C5 처럼 범위를 직접 넣거나, OFFSET 함수처럼 범위를 반환하는 다른 함수를 넣을 수도 있어요.

 

⚠️ 잠깐! 주의할 점 (Note)

ROWS(A1) 처럼 단일 셀을 넣으면 어떻게 될까요? 결과는 1이 나옵니다. A1은 '1행 1열'짜리 범위로 인식되기 때문이죠.

마찬가지로 COLUMNS(A1)도 1이 나와요. 간단하죠?

 

🚀 예제로 완벽하게 이해하기 (Examples)

 

백문이 불여일견! 바로 예제를 보면서 감을 익혀볼게요.

 

아래와 같은 판매 현황 데이터가 A1:E9 셀에 있다고 가정해 볼게요.

"일자","제품명","지역","수량","단가"
"2025-10-01","스마트워치","서울",10,350000
"2025-10-01","무선이어폰","부산",35,180000
"2025-10-02","노트북","서울",5,1200000
"2025-10-02","스마트워치","인천",8,350000
"2025-10-03","태블릿","광주",15,750000
"2025-10-03","무선이어폰","서울",50,180000
"2025-10-04","노트북","부산",3,1200000
"2025-10-05","스마트워치","서울",12,350000

 

예제 1: [기본] 전체 데이터 범위의 행/열 개수 구하기

 

수식 (행 개수):

=ROWS(A1:E9)

 

결과: 9

 

설명: A1 셀부터 E9 셀까지의 범위는 총 9개의 행으로 이루어져 있다는 뜻입니다. (제목 행 포함)

 

예제1. 엑셀 ROWS 함수로 범위의 행 갯수를 구하는 기본 사용법

 

수식 (열 개수):

=COLUMNS(A1:E9)

 

결과: 5

 

설명: 이 범위는 "일자", "제품명", "지역", "수량", "단가" 총 5개의 열로 구성되어 있죠.

 


예제 2: [서비스] 제목 행을 제외한 실제 '데이터 건수' 확인하기

 

위의 예제로 이미 알았을 뻔한 질문 다시합니다. 제목행을 제외한 행수를 구하고 싶다면? 범위에서 제목행 제외.^^

 

수식:

=ROWS(A2:E9)

 

결과: 8

 

예제2. 엑셀 ROWS 함수로 테이블의 데이터 행수만 계산

 

설명: A1:E9 범위에서 제목 행(1행)을 뺀 A2:E9 범위를 인수로 넣으면, 순수한 데이터가 몇 행인지(총 8건) 바로 알 수 있어요.

(중요!) 만약 A5 셀이 비어있다면 COUNTA(A2:A9)는 7이 나오겠지만, ROWS(A2:A9)는 상관없이 8을 반환합니다. 이 차이가 핵심이에요!

 


예제 3: [서비스2] INDEX 함수와 조합하여 범위의 '마지막' 값 찾기

 

ROWS 함수는 범위의 행 개수를 반환하므로, INDEX 함수와 조합하면 해당 범위의 가장 마지막 항목을 가져올 수 있습니다.

 

수식:

=INDEX(B2:B9, ROWS(B2:B9))

 

예제3. 엑셀 ROWS 함수와 INDEX 를 결합한 동적 범위 참조로 마지막행 값 구하기

 

결과: "스마트워치"

 

설명:

  1. ROWS(B2:B9)는 8을 반환합니다.
  2. 수식은 INDEX(B2:B9, 8)과 같아집니다.
  3. B2:B9 범위("스마트워치" ~ "스마트워치")에서 8번째 값을 찾아 "스마트워치"를 반환합니다.

(Tip. 데이터가 추가되어 범위가 B2:B10이 되면 ROWS(B2:B10)은 9가 되어 항상 마지막 값을 동적으로 찾아줍니다.)

 


예제 4: [실무 활용] VLOOKUP과 COLUMNS 조합! (★강력 추천★)

 

VLOOKUP 함수로 값을 찾을 때, 여러 열의 값을 한 번에 가져오고 싶을 때가 있죠. 보통 수식을 옆으로 복사한 뒤 3번째 인수(열 번호)를 2, 3, 4... 이렇게 수동으로 바꾸는데요. COLUMNS 를 쓰면 이 과정이 자동이 됩니다!

 

A11 셀에 찾고 싶은 "노트북" 을 입력했다고 가정해 볼게요.

 

B11 셀에 "지역", C11 셀에 "수량", D11 셀에 "단가" 를 차례대로 가져오고 싶어요.

 

찾을 값: A11 셀 = "노트북"

데이터 범위: B2:E9 (VLOOKUP은 찾는 값이 첫 번째 열에 있어야 하므로)

 

수식 (B11 셀에 입력):

=VLOOKUP($A$11, $B$2:$E$9, COLUMNS($B$2:C2), FALSE)

 

예제4. 엑셀 VLOOKUP 함수의 열 인수로 COLUMNS 활용하기

 

결과: "서울"

 

설명:

  1. VLOOKUP이 $A$11("노트북")을 $B$2:$E$9 범위에서 찾습니다.
  2. 가져올 열 번호(col_index_num)가 COLUMNS($B$2:C2)입니다.
  3. COLUMNS($B$2:C2)는 B열과 C열, 즉 2 를 반환합니다.
  4. 따라서, $B$2:$E$9 범위의 2번째 열인 "지역" 값("서울")을 가져옵니다.

이제 B11 셀의 수식을 D11까지 옆으로 쭉- 드래그(복사) 해보세요!

(핵심 팁!) COLUMNS($B$2:C2)에서 시작점인 $B$2만 절대 참조($)로 고정하는 것이 포인트예요! 복사할 때마다 끝 범위(C2 -> D2 -> E2)가 늘어나면서 열 번호가 2, 3, 4로 자동 증가합니다. 정말 편리하죠? 👍

노트) COLUMN 함수로도 VLOOKUP 함수로 비슷한 조합을 보여드렸습니다. COLUMN vs COLUMNS 어느것을 사용할까요? 그냥 편한거 쓰세요. ^^

 

🚨 자주 발생하는 오류 (Errors)

 

ROWS, COLUMNS 함수는 자체 오류가 거의 없지만, 주로 이름 오타나 COUNTA와의 혼동에서 문제가 생겨요.

#NAME? 오류

  • 원인: 함수 이름을 잘못 입력한 경우입니다.
  • 예: ROW(A1:A9) (S 빼먹음!), COLUMN(A1:E1) (S 빼먹음!)
  • 해결: ROWS(), COLUMNS() 처럼 반드시 'S'를 붙여줘야 범위의 '개수'를 셉니다!
  • 오류는 아니지만 가장 큰 '착각'!
    • 위 예제 2에서 설명했듯이, 빈 셀이 있어도 ROWS와 COLUMNS는 범위 전체의 크기를 셉니다.
    • COUNTA 는 빈 셀을 제외하고 '데이터가 있는' 셀만 셉니다.

 

🔗 함께 알아두면 좋은 함수들

 

  • ROW() / COLUMN() : 'S'가 빠진 이 함수들은 범위의 '개수'가 아니라, 특정 셀의 '행 번호' 또는 '열 번호' 를 알려줘요. (예: ROW(A3)은 3, COLUMN(C1)은 3)
  • COUNTA() / COUNT() : 범위에서 비어있지 않은 셀(COUNTA) 또는 숫자 셀(COUNT)의 '개수'를 셉니다.
  • OFFSET() / INDEX() : ROWS, COLUMNS 함수와 조합되어 데이터가 늘어나도 자동으로 범위를 조절하는 '동적 범위'를 만드는 데 핵심적인 역할을 하는 함수들입니다.

 

🎯 오늘 배운 내용 요약과 마무리

 

  1. ROWS(범위): 지정한 범위의 총 '행' 개수를 반환합니다. (빈 셀 포함)
  2. COLUMNS(범위): 지정한 범위의 총 '열' 개수를 반환합니다. (빈 셀 포함)
  3. 핵심: COUNTA와 달리, 셀이 비어있는지와 상관없이 범위의 '크기(구조)'를 알려줍니다.
  4. 최고의 활용: VLOOKUP의 열 번호를 COLUMNS($시작열$:현재열)로 지정하면, 수식을 옆으로 복사할 때 열 번호가 자동으로 증가하여 매우 편리합니다.

 


오늘은 엑셀의 기본기를 다져주는 ROWS 와 COLUMNS 함수에 대해 알아봤어요. 어떠셨나요? 😊

 

처음엔 "이걸 어디다 쓰지?" 싶어도, 오늘 배운 VLOOKUP 예제처럼 다른 함수와 조합하면 정말 강력한 무기가 된답니다! 데이터의 '개수'가 아닌 '구조'를 파악해야 할 때 꼭 떠올려주세요.

 

혹시 함수를 사용하시다가 궁금한 점이나, "저는 이렇게도 활용해봤어요!" 하는 자신만의 꿀팁이 있다면 댓글로 자유롭게 남겨주세요. 서로의 노하우를 공유하는 멋진 공간이 되었으면 좋겠습니다.

 

오늘 내용이 도움이 되셨다면 공감(❤️)과 공유 부탁드려요! 여러분의 응원이 큰 힘이 됩니다.

 


📱 모바일에서 빠르게 보는 핵심 요약

 

[엑셀 ROWS / COLUMNS 함수]

  • 목적: 선택한 범위(영역)의 행/열 개수 파악
  • 특징: 셀이 비어있어도 상관없이 범위 '크기' 자체를 셈. (데이터 개수를 세는 COUNTA 와 다름!)
  • 구문:
    • =ROWS(범위) (예: ROWS(A1:C5) → 5 반환)
    • =COLUMNS(범위) (예: COLUMNS(A1:C5) → 3 반환)
  • 실무 팁 (강추): VLOOKUP 수식을 옆으로 복사할 때!
    • 3번째 인수(열 번호) 자리에 COLUMNS($A$1:B1)처럼 시작 열만 고정($)해서 사용하세요.
    • 수식을 옆으로 복사하면 COLUMNS($A$1:C1) (3), COLUMNS($A$1:D1) (4) ... 처럼 열 번호가 자동으로 증가해 정말 편리합니다.