엑셀에서 완전히 빈 행만 골라 없애기
‘빈 셀’로 골라 행을 지웠더니 줄 사이 공백과 함께 비고만 비어 있던 주문까지 사라졌다. 내용이 하나도 없는 행만 정확히 골라내려면 어떻게 할까?

- 비고나 연락처가 비어 있어도 나머지 내용이 있는 행은 남겨야 한다. 한 기록에 속한 열 전체를 COUNTA로 세면, 입력된 값이나 수식이 하나도 없는 행에서만 0이 나온다.
- 빈 줄 없는 제출본이 필요하다면 집계값이 0보다 큰 행을 필터로 남긴 뒤 ‘보이는 셀만’ 선택해 새 시트에 복사한다. 값으로 붙여넣으면 원본의 계산식을 건드리지 않고 현재 결과를 별도 목록으로 만들 수 있다.
- 원본에서 행을 직접 지울 때는 같은 행의 오른쪽 자료도 함께 사라진다. 지울 행이 몇 개라면 내용을 확인한 뒤 아래 행부터 삭제하고, 정리 후에는 기록 수와 각 기록의 값이 그대로인지 대조한다.
주문 목록 사이에 빈 줄이 섞여 있으면 필터를 걸거나 다른 시스템에 옮기기 전에 정리하고 싶어진다. 그런데 모든 주문에 비고가 있는 것은 아니다. 아직 주문번호를 받지 못한 건도 있고, 금액이 0인 건도 있을 수 있다. 이런 기록을 남기려면 특정 열의 빈칸만 보고 행을 지워서는 안 된다.
먼저 한 건의 기록이 어디까지인지 정한 뒤 그 열들을 함께 살피면 된다. 주문번호부터 비고까지 A~D열을 쓴다면 E열에 =COUNTA(A2:D2)를 넣는다. 이 값이 0인 행은 A~D열에 값이나 수식이 없다는 뜻이다. 그 결과로 원본에서 지울 후보를 고르거나, 값이 있는 행만 새 시트에 옮길 수 있다. 아래 과정은 Windows 데스크톱 Excel을 기준으로 한다.
비고가 빈 주문까지 삭제되는 이유
Excel의 ‘이동 옵션’에서 ‘빈 셀’을 선택하면 선택 범위 안의 빈칸이 골라진다. 행 전체가 비었는지는 따지지 않는다. 주문번호·고객·금액이 입력돼 있고 비고만 비어 있는 주문이라면, 그 비고 셀도 선택된다. 여기서 삭제 대상을 ‘행 전체’로 지정하면 같은 행의 주문번호와 금액까지 없어지는 것이다. Microsoft의 선택 조건 안내도 빈 셀을 고르는 기능으로 설명한다.
‘셀을 위로 밀기’를 선택해도 주문 목록을 정리하는 방법으로는 맞지 않는다. 비고 열의 빈칸만 지워 위로 당기면 아래 주문의 비고가 위 주문 옆에 놓일 수 있다. 각 열에 빠진 값이 제각각이면 고객 이름과 금액의 짝도 달라질 수 있다. 목록에서는 한 주문의 셀들이 같은 행에 함께 남아 있어야 한다.
이 혼동은 실제 질문에서도 나타난다. 빈 행을 지우려던 사용자는 셀을 지우면 자료가 뒤섞이고 행을 지우면 필요한 데이터까지 사라진다고 설명했다. 다른 질문에서는 일부만 채운 행의 빈칸까지 선택되는 점과 원래 순서를 유지하고 싶은 요구가 함께 나왔다. 빈칸을 아래로 모으는 정렬보다 먼저, 없애도 되는 행을 판별할 필요가 있는 이유다.
한 기록의 모든 열을 함께 세기
다음은 방법을 설명하기 위한 주문 목록이다. A1:D7을 사용하고 1행에는 머리글이 있다. 표의 ‘빈 셀’ 표시는 실제로 아무것도 입력하지 않은 칸을 뜻하며, 그 문구를 셀에 적는 것은 아니다. 마지막 행의 비고에는 빈 문자열을 반환하는 수식이 들어 있다.
| 시트 행 | A 주문번호 | B 고객 | C 금액(원) | D 비고 | E 집계 결과 |
|---|---|---|---|---|---|
| 2 | R-101 | 하늘 | 12,000 | 빈 셀 | 3 |
| 3 | 빈 셀 | 빈 셀 | 빈 셀 | 빈 셀 | 0 |
| 4 | R-102 | 바다 | 0 | 추후 연락 | 4 |
| 5 | 빈 셀 | 별 | 8,000 | 빈 셀 | 2 |
| 6 | 빈 셀 | 빈 셀 | 빈 셀 | 빈 셀 | 0 |
| 7 | R-103 | 달 | 5,000 | ="" | 4 |
E1에는 ‘입력된 셀 수’를 적고 E2에는 아래 수식을 넣는다. E2:E7을 선택하고 Ctrl+D를 누르면 맨 위 수식이 아래로 채워진다. E3에서는 A3:D3을, E7에서는 A7:D7을 세게 된다. COUNTA는 지정한 범위에서 비어 있지 않은 셀의 개수를 돌려준다.
=COUNTA(A2:D2) 결과가 0인 3행과 6행이 삭제 후보다. 주문번호만 보고 골랐다면 5행도 잘못 포함했겠지만, A~D열을 함께 세었으므로 고객과 금액이 있는 이 행은 남는다. 금액이 0인 4행도 빈 행이 아니다. 이 주문은 추후 연락할 내용까지 들어 있다.
실제 장부가 H열의 배송 메모까지 쓰고 있다면 첫 수식의 집계 범위도 A2:H2로 늘리고 보조 열은 그 밖에 둔다. 화면에 보이는 주요 열만 세면 메모만 남은 행을 놓칠 수 있다. 기존 필터를 해제하고 필요한 숨긴 열을 표시해 한 기록에 속한 열을 먼저 확인하는 편이 낫다. 중간의 몇 열만 골라 세는 것보다 기록의 처음부터 끝까지 연속 범위를 잡으면 빠뜨릴 여지가 줄어든다.
수식을 채웠는데 행별 결과가 달라지지 않는다면 수식의 참조 행 번호와 계산 설정을 확인한다. ‘파일 → 옵션 → 수식 → 통합 문서 계산’이 ‘자동’인지 살핀다. 수동 계산으로 남은 오래된 집계값을 보고 삭제할 행을 고르지 않도록, 예시의 빈 3행과 값이 있는 2행에서 각각 0과 3이 나오는지 확인한 뒤 필터를 건다.
보조 수식 자체는 집계 범위에 넣지 않는다. E2에 수식을 넣으면서 A2:E2를 세거나 행 전체인 2:2를 세면 자기 자신을 참조하게 된다. 오른쪽에 다른 표가 있는 시트라면 그 표까지 주문 한 건의 내용으로 세지 않도록 범위를 나누고, 비어 있는 보조 열에 수식을 넣는다. 기존 데이터를 덮어 쓰면서 보조 열을 만들 필요는 없다.
눈에는 비어 보이는데 0이 아닌 경우
COUNTA가 1을 돌려주는데 화면에는 아무것도 없다면, 그 행을 바로 지우기보다 무엇이 들어 있는지 살핀다. 셀을 클릭했을 때 수식 입력줄에 ="" 같은 수식이 보일 수 있다. 이 수식은 화면에 글자를 표시하지 않지만 셀에는 수식이 들어 있으므로 COUNTA가 센다. 예시의 7행 비고가 바로 이 경우다.
붙여넣은 자료에는 스페이스 한 칸만 들어 있는 셀도 섞일 수 있다. Microsoft는 공백 문자도 데이터로 계산된다고 설명한다. 그래서 겉보기에는 빈 줄이 몇 개 남을 수 있다. 수식이 다음 입력을 기다리는 자리인지, 외부 자료에 불필요한 공백이 섞인 것인지 확인한 뒤 그 셀을 정리하고 다시 집계한다. ‘보이지 않으면 삭제’로 범위를 넓히면 준비해 둔 계산식도 함께 잃을 수 있다.
빈 셀을 세는 COUNTBLANK로 바꾸면 같은 결과가 나오리라 생각하기 쉽다. 하지만 COUNTBLANK는 빈 문자열을 반환하는 수식도 빈 셀로 센다. A~D열에 이런 수식만 있는 행은 COUNTBLANK가 4여도 COUNTA는 0이 아니다. 이번 방법은 값이나 수식이 남은 행을 우선 보존하려는 것이므로, 두 조건을 서로 바꿔 쓰지 않는다. 숫자 0 역시 입력된 값이며, 금액이 없다는 뜻의 빈칸과 다르다.
반대로 COUNTA가 0이어도 서식이나 셀 메모까지 없다는 뜻은 아니다. 담당자가 빈 셀의 메모에 확인 사항을 적어 두었거나 행 위에 그림을 배치했을 수 있다. 그런 자료가 있는 장부에서는 0인 행을 먼저 표시해 내용을 확인한다. COUNTA는 기록의 값과 수식을 판별하는 데 쓰고, 업무상 남길 내용이 없는지에 대한 판단까지 맡기지는 않는다.
원본을 남기고 빈 줄 없는 목록 만들기
다른 부서에 보낼 목록이나 업로드용 자료가 필요하다면 원본에서 행을 지우지 않아도 된다. E열 값이 0보다 큰 행만 보이게 한 뒤 주문 열을 새 시트로 옮기면 중간 빈 줄 없는 사본을 만들 수 있다. 원본의 수식과 메모는 원래 자리에 남겨 둔다. 필터는 조건에 맞지 않는 행을 숨기며, 남은 기록의 순서를 다시 정렬하지 않는다.
- 원본의 기존 필터를 해제한다. 목록에서 수동으로 숨겨 둔 행을 다시 표시하고, 복사할 주문 열도 모두 표시한다.
- 머리글과 보조 열까지 포함한 A1:E7을 직접 선택하고 ‘데이터 → 필터’를 켠다. 목록이 길면 이름 상자에 실제 마지막 행까지의 주소를 입력해 선택할 수 있다.
- E열의 필터에서 ‘숫자 필터 → 보다 큼’을 열고 0을 입력한다. 예시에서는 2·4·5·7행이 남는다.
- 이제 보조 열을 제외한 A1:D7을 선택한다. ‘홈 → 찾기 및 선택 → 이동 옵션 → 화면에 보이는 셀만’을 선택한 뒤 Ctrl+C로 복사한다.
- 빈 새 시트의 A1을 선택하고 ‘선택하여 붙여넣기 → 값’으로 붙여넣는다. 머리글 아래에 네 기록이 연속해서 놓였는지 확인한다.
중간 빈 행이 많은 목록에서는 필터 범위를 특히 살핀다. 목록 안의 셀 하나만 눌러 시작한 뒤 맨 아래 기록까지 자동으로 포함됐다고 생각하면, 빈 줄 아래 자료가 빠질 수 있다. 예시에서는 A1:E7처럼 처음과 끝을 지정했다. 작업 후 마지막 주문 R-103도 필터에 따라 보이거나 숨겨지는지 확인하면 범위가 그 행까지 포함됐는지 알아볼 수 있다. 필터 조건과 적용 범위는 Microsoft의 범위·표 필터 안내에서 확인할 수 있다.
기존 필터를 해제하는 것도 같은 이유다. 예시에서 고객 열에 ‘하늘’만 표시하는 조건이 남아 있다면, E열을 0보다 크게 걸러도 하늘의 한 건만 보인다. E열 조건이 기존 고객 조건을 지워 주지는 않기 때문이다. 모든 주문에서 빈 줄만 빼려는 작업이라면 고객 등 다른 열의 조건을 먼저 지우고, E열만 걸러 2·4·5·7행이 보이는지 확인한다.
‘화면에 보이는 셀만’은 숨긴 행뿐 아니라 숨긴 열도 복사 대상에서 제외한다. 따라서 필수 주문 열을 먼저 표시한 것이다. 붙여넣을 새 시트도 숨겨진 행이나 열이 없는 곳을 사용한다. Microsoft의 보이는 셀 복사 안내는 선택한 셀을 연속된 행이나 열로 붙여넣는다고 설명한다. 복사 후 빈 줄이 그대로 남았다면 선택 범위와 보이는 셀 선택 단계를 다시 확인한다.
값으로 붙여넣은 목록은 제출 시점의 결과다. 원본 금액이 나중에 바뀌어도 새 목록이 함께 계산되지는 않는다. 날짜·통화 표시 형식이나 열 너비도 별도로 맞출 수 있다. 계속 계산할 업무용 파일이 필요하다면 값으로 고정한 목록을 원본 대신 사용하지 않는다. 수식을 결과값으로 바꾸는 작업은 해당 사본에서 수식을 없애기 때문이다.
웹용 Excel의 일반 범위에는 데스크톱과 같은 ‘보이는 셀만’ 선택 기능이 없다. Microsoft는 필터를 적용한 Excel 표에서는 보이는 셀만 복사할 수 있다고 별도로 안내한다. 웹에서 작업한다면 실제로 ‘표’로 만든 데이터인지 확인하고, 일반 범위라면 데스크톱 앱에서 위 과정을 진행하는 편이 명확하다. 셀에 테두리를 그린 것만으로 Excel 표가 되는 것은 아니다.
원본 행을 직접 없애야 한다면
빈 줄이 몇 개뿐이고 원본 목록 자체를 정리하려면 보조 열에서 0인 행을 찾아 직접 삭제할 수 있다. 먼저 사본을 저장한 뒤 필터가 걸리지 않은 상태에서 후보 행의 왼쪽부터 오른쪽까지 살핀다. A~D열이 비었다는 이유로 시트의 나머지 열도 비었다고 판단해서는 안 된다. 같은 행의 J~L열에 월별 집계가 있다면 행 전체 삭제가 그 집계에도 영향을 준다. 이 경우에는 앞의 별도 목록 만들기를 택하는 편이 낫다.
예시에서는 6행의 행 번호를 마우스 오른쪽 버튼으로 누르고 ‘삭제’를 선택한다. 이어 3행을 같은 방식으로 지운다. 아래쪽부터 없애면 아직 지우지 않은 위쪽 후보의 행 번호가 유지된다. 반대로 3행부터 지우면 원래 6행이 5행으로 올라오므로, 처음 적어 둔 번호대로 다음 행을 지우면 다른 주문을 없앨 수 있다.
행 번호에서 삭제하거나 ‘홈 → 삭제 → 시트 행 삭제’를 쓰면 행 자체가 없어지고 아래 행들이 올라온다. 키보드 Delete 키만 누르는 동작은 다르다. Delete와 Backspace는 셀의 내용을 비운다. 빈 행에서 눌러도 그 행을 없애 주지 않는다.
잘못된 주문이 사라진 것을 바로 알아차렸다면 추가 편집을 멈추고 Ctrl+Z로 방금 삭제를 되돌린다. 삭제할 행이 너무 많아 번호를 하나씩 따라가기 어렵다면, 셀 단위 선택을 섞어 대량 삭제하기보다 원본을 보존한 새 목록으로 작업 결과를 만드는 쪽이 확인하기 쉽다.
빠진 기록과 어긋난 값을 확인하기
정리한 예시 목록에는 머리글을 제외하고 네 기록이 남아야 한다. 금액 합계는 25,000원이다. 주문번호가 없는 별의 8,000원 주문과 금액이 0인 바다의 주문도 포함된다. 원본의 비고 수식 때문에 COUNTA가 4였던 달의 주문 역시 남는다. 정리 결과의 행 수를 원본 마지막 행 번호와 비교하면 중간 빈 행 때문에 헷갈리므로, 실제 기록끼리 센다.
복사하는 시점에 4행의 바다 주문이 수동으로 숨겨져 있었다면 ‘보이는 셀만’에는 이 주문이 들어가지 않는다. 사본은 세 기록인데도 합계는 똑같이 25,000원일 수 있다. 빠진 주문의 금액이 0이기 때문이다. 합계는 맞고 건수만 적다면 새 목록에 임의의 행을 채우기보다 원본에서 숨긴 행과 남은 필터를 확인한다. 그 상태를 바로잡은 뒤 원본 범위를 다시 복사하고 R-102·바다·0원·‘추후 연락’이 함께 돌아왔는지 본다.
합계가 맞는 것만으로는 충분하지 않다. 고객 이름과 금액이 서로 바뀌어도 전체 금액은 같을 수 있다. R-101에는 하늘과 12,000원이, R-102에는 바다·0원·‘추후 연락’이 같은 행에 있는지 확인한다. 첫 기록과 마지막 기록만 보지 않고, 일부 열이 비어 있던 기록도 골라 대조하면 잘못된 삭제 조건을 발견하기 쉽다.
제출용 사본에서는 보조 열을 빼고 필요한 머리글만 남긴다. 금액·날짜·주문번호가 원하는 형태로 보이는지 확인한 뒤 저장한 파일을 다시 연다. 원본은 다음 수정과 대조를 위해 별도로 보관한다. 다음번 주문이 추가됐을 때도 같은 보조 열을 쓸 수 있지만, 수식과 필터 범위가 새 마지막 행까지 포함하는지는 다시 확인해야 한다.