
Excel batch delete data: 엑셀 데이터 일괄 삭제 10가지 방법
엑셀에서 오래 쌓인 데이터는 언젠가 반드시 ‘대청소’가 필요합니다. 문제는 몇 만 행씩 쌓인 시트를 하나하나 지우다 보면, 하루가 다 가 버린다는 것입니다. 이 글에서는 Excel batch delete data, 즉 “엑셀 데이터 일괄 삭제”를 상황별로 한 번에 정리합니다.
빈 행, 중복 데이터, 특정 값이 있는 행, 오류가 난 셀까지 10가지 패턴으로 나눠서 설명하니, 필요한 부분만 골라 따라 하셔도 됩니다.
Quick Fix: 3분 만에 끝내는 Excel batch delete data
예시 데이터 구조 이해하기
예시로 아래와 같은 주문 데이터가 있다고 가정해 보겠습니다.
| 날짜 | 주문번호 | 고객명 | 금액 | 상태 | 메모 |
|---|---|---|---|---|---|
| 2024-12-01 | A0001 | Kim | 50,000 | 완료 | |
| 2024-12-01 | A0002 | Lee | 45,000 | 취소 | 카드 오류 |
| 2023-11-20 | A0003 | Park | 30,000 | 완료 | 작년 주문 |
| 2023-10-05 | A0004 | Choi | 10,000 | 취소 | |
| (…생략) |
여기서 자주 하는 일괄 삭제는 보통 다음과 같습니다.
- ‘취소’ 상태인 주문 행 전체 삭제
- 2024년 이전(2023년 포함) 데이터 싹 정리
- 중간중간 생긴 빈 행 한 번에 삭제
아래 단계만 익혀도 대부분의 “데이터 대청소”는 3분 안에 끝낼 수 있습니다.
자동 필터로 조건에 맞는 행 통째로 삭제
목표: 상태가 취소인 행 전체를 한 번에 삭제하기
- 데이터 안 아무 셀이나 클릭 후
Ctrl + A로 데이터 범위를 선택합니다. - 데이터 탭에서 필터를 클릭하거나
Ctrl + Shift + L로 자동 필터를 켭니다. - 상태 열 머리글의 ▼를 클릭하고, 전체 선택을 해제한 뒤 취소만 체크하고 확인을 클릭합니다.
- 필터된 행 번호(왼쪽 회색 부분)를 드래그해서 여러 행을 선택합니다.
- 선택된 행 번호 위에서 마우스 오른쪽 버튼을 클릭한 뒤 삭제를 선택하거나,
Ctrl + -를 눌러 전체 행을 선택하고 확인을 누릅니다. - 다시 데이터 탭 → 필터 버튼을 눌러 필터를 해제합니다.
이렇게 하면 ‘취소’ 상태인 주문 행 전체가 진짜로 삭제되어, 아래 데이터가 위로 올라옵니다.
Go To Special로 빈 행 일괄 삭제 (흩어져 있어도 OK)
목표: 데이터 중간중간 생긴 빈 행을 한 번에 삭제하기
- 데이터 전체를 정리하려면 아무 셀을 클릭한 뒤
Ctrl + A로 전체 범위를 선택합니다. Ctrl + G를 누르고, 나타나는 대화상자에서 옵션/특수 버튼을 클릭합니다. 또는 홈 탭 → 찾기 및 선택 → 이동 옵션(특수 선택)을 사용합니다.- 빈 셀을 선택하고 확인을 누릅니다. 선택된 범위 안의 모든 빈 셀이 한 번에 선택됩니다.
- 선택된 셀 중 아무 셀에서 오른쪽 클릭 → 삭제를 클릭한 뒤, 전체 행을 선택하고 확인을 누릅니다. 또는
Ctrl + -→ 전체 행을 선택해도 됩니다.
빈 셀이 100개든 10만 개든 이 패턴으로 한 번에 행을 삭제할 수 있습니다.
엑셀 ‘삭제’ vs ‘지우기(Clear)’ 차이부터 정리
일괄 삭제 작업에서 가장 많이 터지는 사고는 “지운 줄 알았는데 사실은 안 지워진 상태”입니다. 먼저 개념 차이를 정리해 보겠습니다.
행/열 삭제 vs 셀 내용 지우기
- 행/열 삭제 (Delete)
Ctrl + -후 “전체 행/전체 열”을 선택하면, 선택된 행·열 자체가 삭제되며 아래나 오른쪽 데이터가 당겨져 올라옵니다. - 셀 내용 지우기 (Delete 키 / Clear Contents)
키보드Delete키 또는 홈 탭 → 지우기 → 내용 지우기를 사용하면 값·수식만 사라지고 셀 위치는 그대로 유지됩니다.
실무에서 “삭제했다고 생각했는데 피벗이 아직 옛날 데이터까지 잡는” 이유가 바로 이 차이 때문입니다.
실무에서 자주 생기는 사고 유형
- 피벗 테이블에 옛날 데이터가 계속 보이는 경우 – 값만 지우고 행을 삭제하지 않아서 범위가 그대로인 상태
- 중복 데이터가 다시 생기는 경우 – 중복값 셀만 지우고 행은 놔둬서, 나중에 정렬할 때 데이터가 엉킴
- 숨겨진 행까지 같이 삭제되는 경우 – 자동 필터가 아니라 ‘행 숨기기’ 상태에서 삭제해 발생
원칙: 구조를 줄이고 싶으면 “행/열 삭제”, 단순히 값만 비우고 싶으면 “내용 지우기”를 사용합니다.
가장 많이 쓰는 기본 일괄 삭제 4가지
1) 여러 행·여러 열 한 번에 삭제하는 방법
여러 행 삭제
- 삭제할 첫 행 번호(예: 5)를 클릭합니다.
- 마지막 행 번호까지 드래그하거나
Shift+ 클릭으로 범위를 선택합니다. - 선택된 행 번호 위에서 오른쪽 클릭 → 삭제 또는
Ctrl + -→ 전체 행을 선택합니다.
여러 열 삭제
- 삭제할 열 머리글(A, B, C…)을 클릭합니다.
- 같은 방식으로 여러 열을 선택합니다.
- 오른쪽 클릭 → 삭제 또는
Ctrl + -→ 전체 열을 선택합니다.
Tip: Ctrl 키를 누른 채 떨어진 행/열 번호를 하나씩 클릭하면 비연속 구간도 한 번에 선택해서 삭제할 수 있습니다.
2) 떨어져 있는 구간 한 번에 삭제하는 선택 요령
예: 5, 10, 22, 30행만 삭제하고 싶을 때
- 행 5 번호를 클릭합니다.
Ctrl키를 누른 상태에서 10, 22, 30 행 번호를 차례로 클릭합니다.- 선택된 행 번호 중 아무 곳에서나 오른쪽 클릭 → 삭제를 클릭합니다.
데이터가 적을 때는 이 방식이 가장 빠릅니다. 데이터가 많고 조건이 있을 때는 필터나 Go To Special을 사용하는 것이 안전합니다.
3) 필터로 보이는 행만 삭제하기 (숨겨진 행 보호)
자동 필터를 적용한 상태에서, 보이는 행만 안전하게 삭제하려면 다음 순서를 지킵니다.
- 필터 조건을 걸어 삭제할 대상만 화면에 보이게 합니다.
- 행 번호를 드래그해서 범위를 선택하거나
Ctrl + A로 표 전체를 선택합니다. - 행 번호 위에서 오른쪽 클릭 → 삭제 또는
Ctrl + -→ 전체 행을 선택합니다.
필터가 걸려 있으면 이 작업은 보이는 행만 삭제합니다. 반면 행을 직접 숨김(행 숨기기)해 놓은 경우에는 숨긴 행도 같이 영향을 받을 수 있으니, 가능하면 자동 필터를 사용한 상태에서 삭제하는 습관을 들이세요.
4) 표(Excel Table) 상태에서 삭제할 때 주의점
데이터를 Ctrl + T로 표(Table)로 만들어 사용하는 경우:
- 행 삭제 시: 행 번호가 아니라 표 안 셀을 선택한 뒤
Ctrl + -→ 전체 행 선택 - 열 삭제 시: 열 머리글(표 머리글 셀)을 선택 후 삭제
표 상태에서 삭제하면 수식·서식이 자동으로 정리되고, 새 데이터를 추가했을 때도 구조가 일정하게 유지되어 관리가 편해집니다.
조건으로 데이터 일괄 삭제하기
1) 특정 값(예: 취소 주문)만 있는 행 삭제
Quick Fix에서 설명한 방식과 동일합니다. 조건은 “상태 열이 ‘취소’인 행만 삭제”이고, 도구는 자동 필터 + 행 삭제입니다.
여러 조건을 동시에 적용할 수도 있습니다.
- 예: 상태 = 취소 AND 날짜 < 2024-01-01
- 날짜 열에 필터를 적용하고, 날짜 필터 → 이전 메뉴에서 2024-01-01 이전을 선택합니다.
- 상태 열에 필터를 적용하고 취소만 선택합니다.
- 필터된 행 전체를 선택하고 삭제합니다.
2) 날짜·숫자 범위로 이전 연도 데이터 통째 삭제
예: “2023년까지의 주문은 다 삭제하고, 2024년 데이터만 남기기”
- 날짜 열 머리글의 ▼를 클릭합니다.
- 날짜 필터 → 기간/이전에 있음 항목을 선택합니다.
- 기준 날짜를
2024-01-01로 입력하고 확인을 누릅니다. - 필터 결과(2023년 이하 데이터) 행 전체를 선택합니다.
- 오른쪽 클릭 → 삭제를 선택합니다.
숫자 범위도 같은 원리입니다. 예를 들어 금액이 1,000원 미만인 “노이즈 데이터”를 삭제하려면:
- 금액 열 ▼ → 숫자 필터 → 보다 작음을 선택합니다.
1000을 입력하고 확인합니다.- 필터된 행 전체를 삭제합니다.
3) 보조 열 + TRUE/FALSE 필터 조합
조건이 복잡할수록 보조 열을 추가해 “삭제 대상”을 표시해 두면 실수를 줄일 수 있습니다.
예: “취소 주문”이면서 “금액이 10,000원 이상”인 행만 삭제
- 가장 오른쪽에 보조 열 ‘삭제대상?’을 추가합니다.
- 첫 데이터 행(예: G2)에 아래 수식을 입력합니다.
=IF(AND(E2="취소", D2>=10000), TRUE, FALSE)
- G2 셀을 더블 클릭하거나 아래로 드래그해서 전체 행에 복사합니다.
- 보조 열에 필터를 적용하고 TRUE만 선택합니다.
- 필터된 행 전체를 삭제합니다.
- 필터를 해제한 뒤, 보조 열(G열)을 삭제하거나 숨깁니다.
복잡한 조건일수록 이 방식이 가장 안전합니다. “보조 열을 기준으로 필터 → 삭제” 패턴을 익혀 두세요.
중복·오류·빈 셀 데이터 한 번에 지우기
1) Remove Duplicates로 중복 행 삭제
중복 고객, 중복 주문번호를 정리할 때 쓰는 대표적인 기능입니다.
- 데이터 안 아무 셀이나 클릭합니다.
- 데이터 탭 → 중복 제거(Remove Duplicates)를 클릭합니다.
- 대화상자에서 데이터에 머리글이 있으면 [내 데이터에 머리글이 포함됨]을 체크합니다.
- 중복을 판단할 기준 열만 체크합니다. 예를 들어 고객ID + 주문번호 기준이라면 해당 두 열만 체크합니다.
- 확인을 눌러 제거된 중복 개수 메시지를 확인합니다.
이 기능은 중복 중 하나만 남기고 나머지 행을 삭제합니다. “둘 다 삭제”가 아니라는 점을 꼭 기억하세요.
2) Go To Special로 오류(#N/A 등) 셀 선택 후 삭제
VLOOKUP, XLOOKUP, 수식이 꼬였을 때 생기는 #N/A, #VALUE! 같은 오류만 한 번에 지우고 싶을 때 유용합니다.
- 오류가 있을 수 있는 범위를 선택합니다.
Ctrl + G→ 옵션/특수 버튼을 클릭합니다.- 수식을 선택하고, 아래에서 오류만 체크한 뒤 확인을 누릅니다.
- 오류가 있는 셀만 한 번에 선택된 상태에서
Delete키로 내용만 지우거나,Ctrl + -로 셀/전체 행을 삭제합니다.
미리 IFERROR를 사용해 오류를 공백으로 바꿔 두면, 나중에 빈 셀 일괄 삭제 루트와 결합해 한 번에 처리할 수도 있습니다.
3) 빈 셀·빈 행만 골라서 삭제하는 패턴
핵심 패턴은 Quick Fix에서 사용한 것과 같습니다.
- 정리할 범위를 선택합니다(
Ctrl + A). Ctrl + G→ 옵션/특수 → 빈 셀을 선택합니다.- 전체 행 또는 전체 열을 삭제합니다.
변형 예시:
- 빈 셀이 특정 열에만 있을 때 – 그 열만 선택한 뒤 위 과정을 수행하면 불필요한 빈 행만 제거할 수 있습니다.
- 빈 열 정리 – 전체 시트를 선택한 뒤 Go To Special → 빈 셀 → 열 단위로 삭제합니다.
반복 작업은 수식 & VBA로 자동화하기
1) IFERROR로 오류를 공백으로 처리해 삭제 준비
VLOOKUP 결과에서 오류가 나오면 공백으로 바꾸는 패턴입니다.
기존 수식:
=VLOOKUP(A2, 기준범위, 3, FALSE)
아래처럼 바꿉니다.
=IFERROR(VLOOKUP(A2, 기준범위, 3, FALSE), "")
- 정상 값: 그대로 표시
- 오류:
""(빈 문자열) → 나중에 빈 셀로 인식
이렇게 만들어 두면 나중에 한 번에:
- 해당 열을 선택하고
- Go To Special → 빈 셀을 선택한 뒤
- 전체 행을 삭제
하는 방식으로 “오류였던 행”만 통째로 없앨 수 있습니다.
2) 간단 VBA로 조건 행 일괄 삭제 매크로 만들기
코드를 싫어하셔도, 한 번만 만들어 두면 계속 재사용할 수 있는 간단 매크로입니다. 안전을 위해 항상 백업 파일에서 먼저 테스트하세요.
예: 특정 열(E열) 값이 “취소”인 행을 모두 삭제하는 매크로
Sub DeleteRowsIfCancelled()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Set ws = ActiveSheet
lastRow = ws.Cells(ws.Rows.Count, "E").End(xlUp).Row
'아래에서 위로 올라가면서 삭제해야 건너뛰는 행 없이 안전합니다.
For i = lastRow To 2 Step -1
If ws.Cells(i, "E").Value = "취소" Then
ws.Rows(i).Delete
End If
Next i
End Sub
사용 방법
Alt + F11로 VBA 편집기를 열고, 삽입 → 모듈을 선택합니다.- 위 코드를 붙여넣습니다.
- 엑셀로 돌아와
Alt + F8→DeleteRowsIfCancelled를 선택해 실행합니다.
조건 부분(If ws.Cells(i, "E").Value = "취소" Then)만 수정하면 “재고 0인 상품”, “금액 1000 미만” 등 다른 조건도 손쉽게 일괄 삭제할 수 있습니다.
오류·성능 문제 Troubleshooting
| 증상 | 원인 | 해결법 |
|---|---|---|
| 삭제했는데 피벗테이블에 옛날 데이터가 계속 보임 | 값만 지우고 행을 삭제하지 않아서 범위가 그대로임 | 행/열을 정말로 삭제했는지 확인 후, 피벗 범위를 새로 지정합니다. |
| 빈 행이 너무 많아 삭제할 때 엑셀이 느려짐 | 전체 시트 범위를 통째로 잡고 삭제 중 | 실제 데이터가 있는 범위만 선택해서 Go To Special을 사용합니다. |
| 숨겨진 행까지 같이 삭제되어 필요한 데이터가 사라짐 | 자동 필터가 아니라 ‘행 숨기기’ 상태에서 삭제함 | 가능하면 자동 필터를 사용하고, “보이는 행만 삭제” 패턴을 사용합니다. |
| 중복 제거 했는데 중요한 행이 사라짐 | Remove Duplicates 기준 열 설정이 잘못됨 | 항상 백업본에서 테스트하고, 기준 열(고유 ID 등)을 명확하게 선정합니다. |
| Ctrl + Z(실행 취소)가 더 이상 안 됨 | 여러 대량 삭제 작업을 연속해서 수행함 | 큰 작업 전에는 파일을 저장해두고, 필요하면 이전 버전으로 되돌리는 전략을 사용합니다. |
마무리: 안전한 Excel batch delete data 체크리스트
- 반드시 백업 파일에서 먼저 테스트하기
- 삭제 vs 내용 지우기(Clear) 개념 구분하기
- 가능한 한 필터 + 보조 열 TRUE/FALSE 패턴 쓰기
- Go To Special(특수 선택) 단축키
Ctrl + G익히기 - Remove Duplicates 적용 전에는 기준 열을 꼭 재확인하기
- 반복 작업이라면 수식(예: IFERROR) + VBA 매크로로 자동화하기
이 글에서 정리한 10가지 패턴만 익혀도, 엑셀에서 수만 행 데이터 대청소를 훨씬 빠르고 안전하게 처리할 수 있습니다.
데이터 정리와 관련해 다음 글들도 함께 참고해 보세요.