엑셀 데이터 일괄 삭제 모든 방법 (빈 셀·특정 값·중복·행/열까지 한 번에 정리)

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분 안에 끝낼 수 있습니다.

자동 필터로 조건에 맞는 행 통째로 삭제

목표: 상태가 취소인 행 전체를 한 번에 삭제하기

  1. 데이터 안 아무 셀이나 클릭 후 Ctrl + A로 데이터 범위를 선택합니다.
  2. 데이터 탭에서 필터를 클릭하거나 Ctrl + Shift + L로 자동 필터를 켭니다.
  3. 상태 열 머리글의 ▼를 클릭하고, 전체 선택을 해제한 뒤 취소만 체크하고 확인을 클릭합니다.
  4. 필터된 행 번호(왼쪽 회색 부분)를 드래그해서 여러 행을 선택합니다.
  5. 선택된 행 번호 위에서 마우스 오른쪽 버튼을 클릭한 뒤 삭제를 선택하거나, Ctrl + -를 눌러 전체 행을 선택하고 확인을 누릅니다.
  6. 다시 데이터 탭 → 필터 버튼을 눌러 필터를 해제합니다.

이렇게 하면 ‘취소’ 상태인 주문 행 전체가 진짜로 삭제되어, 아래 데이터가 위로 올라옵니다.

Go To Special로 빈 행 일괄 삭제 (흩어져 있어도 OK)

목표: 데이터 중간중간 생긴 빈 행을 한 번에 삭제하기

  1. 데이터 전체를 정리하려면 아무 셀을 클릭한 뒤 Ctrl + A로 전체 범위를 선택합니다.
  2. Ctrl + G를 누르고, 나타나는 대화상자에서 옵션/특수 버튼을 클릭합니다. 또는 홈 탭 → 찾기 및 선택 → 이동 옵션(특수 선택)을 사용합니다.
  3. 빈 셀을 선택하고 확인을 누릅니다. 선택된 범위 안의 모든 빈 셀이 한 번에 선택됩니다.
  4. 선택된 셀 중 아무 셀에서 오른쪽 클릭 → 삭제를 클릭한 뒤, 전체 행을 선택하고 확인을 누릅니다. 또는 Ctrl + - → 전체 행을 선택해도 됩니다.

빈 셀이 100개든 10만 개든 이 패턴으로 한 번에 행을 삭제할 수 있습니다.

엑셀 ‘삭제’ vs ‘지우기(Clear)’ 차이부터 정리

일괄 삭제 작업에서 가장 많이 터지는 사고는 “지운 줄 알았는데 사실은 안 지워진 상태”입니다. 먼저 개념 차이를 정리해 보겠습니다.

행/열 삭제 vs 셀 내용 지우기

  • 행/열 삭제 (Delete)
    Ctrl + - 후 “전체 행/전체 열”을 선택하면, 선택된 행·열 자체가 삭제되며 아래나 오른쪽 데이터가 당겨져 올라옵니다.
  • 셀 내용 지우기 (Delete 키 / Clear Contents)
    키보드 Delete 키 또는 홈 탭 → 지우기 → 내용 지우기를 사용하면 값·수식만 사라지고 셀 위치는 그대로 유지됩니다.

실무에서 “삭제했다고 생각했는데 피벗이 아직 옛날 데이터까지 잡는” 이유가 바로 이 차이 때문입니다.

실무에서 자주 생기는 사고 유형

  • 피벗 테이블에 옛날 데이터가 계속 보이는 경우 – 값만 지우고 행을 삭제하지 않아서 범위가 그대로인 상태
  • 중복 데이터가 다시 생기는 경우 – 중복값 셀만 지우고 행은 놔둬서, 나중에 정렬할 때 데이터가 엉킴
  • 숨겨진 행까지 같이 삭제되는 경우 – 자동 필터가 아니라 ‘행 숨기기’ 상태에서 삭제해 발생

원칙: 구조를 줄이고 싶으면 “행/열 삭제”, 단순히 값만 비우고 싶으면 “내용 지우기”를 사용합니다.

가장 많이 쓰는 기본 일괄 삭제 4가지

1) 여러 행·여러 열 한 번에 삭제하는 방법

여러 행 삭제

  1. 삭제할 첫 행 번호(예: 5)를 클릭합니다.
  2. 마지막 행 번호까지 드래그하거나 Shift + 클릭으로 범위를 선택합니다.
  3. 선택된 행 번호 위에서 오른쪽 클릭 → 삭제 또는 Ctrl + -전체 행을 선택합니다.

여러 열 삭제

  1. 삭제할 열 머리글(A, B, C…)을 클릭합니다.
  2. 같은 방식으로 여러 열을 선택합니다.
  3. 오른쪽 클릭 → 삭제 또는 Ctrl + -전체 열을 선택합니다.

Tip: Ctrl 키를 누른 채 떨어진 행/열 번호를 하나씩 클릭하면 비연속 구간도 한 번에 선택해서 삭제할 수 있습니다.

2) 떨어져 있는 구간 한 번에 삭제하는 선택 요령

예: 5, 10, 22, 30행만 삭제하고 싶을 때

  1. 행 5 번호를 클릭합니다.
  2. Ctrl 키를 누른 상태에서 10, 22, 30 행 번호를 차례로 클릭합니다.
  3. 선택된 행 번호 중 아무 곳에서나 오른쪽 클릭 → 삭제를 클릭합니다.

데이터가 적을 때는 이 방식이 가장 빠릅니다. 데이터가 많고 조건이 있을 때는 필터나 Go To Special을 사용하는 것이 안전합니다.

3) 필터로 보이는 행만 삭제하기 (숨겨진 행 보호)

자동 필터를 적용한 상태에서, 보이는 행만 안전하게 삭제하려면 다음 순서를 지킵니다.

  1. 필터 조건을 걸어 삭제할 대상만 화면에 보이게 합니다.
  2. 행 번호를 드래그해서 범위를 선택하거나 Ctrl + A로 표 전체를 선택합니다.
  3. 행 번호 위에서 오른쪽 클릭 → 삭제 또는 Ctrl + -전체 행을 선택합니다.

필터가 걸려 있으면 이 작업은 보이는 행만 삭제합니다. 반면 행을 직접 숨김(행 숨기기)해 놓은 경우에는 숨긴 행도 같이 영향을 받을 수 있으니, 가능하면 자동 필터를 사용한 상태에서 삭제하는 습관을 들이세요.

4) 표(Excel Table) 상태에서 삭제할 때 주의점

데이터를 Ctrl + T표(Table)로 만들어 사용하는 경우:

  • 행 삭제 시: 행 번호가 아니라 표 안 셀을 선택한 뒤 Ctrl + - → 전체 행 선택
  • 열 삭제 시: 열 머리글(표 머리글 셀)을 선택 후 삭제

표 상태에서 삭제하면 수식·서식이 자동으로 정리되고, 새 데이터를 추가했을 때도 구조가 일정하게 유지되어 관리가 편해집니다.

조건으로 데이터 일괄 삭제하기

1) 특정 값(예: 취소 주문)만 있는 행 삭제

Quick Fix에서 설명한 방식과 동일합니다. 조건은 “상태 열이 ‘취소’인 행만 삭제”이고, 도구는 자동 필터 + 행 삭제입니다.

여러 조건을 동시에 적용할 수도 있습니다.

  • 예: 상태 = 취소 AND 날짜 < 2024-01-01
  1. 날짜 열에 필터를 적용하고, 날짜 필터 → 이전 메뉴에서 2024-01-01 이전을 선택합니다.
  2. 상태 열에 필터를 적용하고 취소만 선택합니다.
  3. 필터된 행 전체를 선택하고 삭제합니다.

2) 날짜·숫자 범위로 이전 연도 데이터 통째 삭제

예: “2023년까지의 주문은 다 삭제하고, 2024년 데이터만 남기기”

  1. 날짜 열 머리글의 ▼를 클릭합니다.
  2. 날짜 필터 → 기간/이전에 있음 항목을 선택합니다.
  3. 기준 날짜를 2024-01-01로 입력하고 확인을 누릅니다.
  4. 필터 결과(2023년 이하 데이터) 행 전체를 선택합니다.
  5. 오른쪽 클릭 → 삭제를 선택합니다.

숫자 범위도 같은 원리입니다. 예를 들어 금액이 1,000원 미만인 “노이즈 데이터”를 삭제하려면:

  1. 금액 열 ▼ → 숫자 필터 → 보다 작음을 선택합니다.
  2. 1000을 입력하고 확인합니다.
  3. 필터된 행 전체를 삭제합니다.

3) 보조 열 + TRUE/FALSE 필터 조합

조건이 복잡할수록 보조 열을 추가해 “삭제 대상”을 표시해 두면 실수를 줄일 수 있습니다.

예: “취소 주문”이면서 “금액이 10,000원 이상”인 행만 삭제

  1. 가장 오른쪽에 보조 열 ‘삭제대상?’을 추가합니다.
  2. 첫 데이터 행(예: G2)에 아래 수식을 입력합니다.
=IF(AND(E2="취소", D2>=10000), TRUE, FALSE)
  1. G2 셀을 더블 클릭하거나 아래로 드래그해서 전체 행에 복사합니다.
  2. 보조 열에 필터를 적용하고 TRUE만 선택합니다.
  3. 필터된 행 전체를 삭제합니다.
  4. 필터를 해제한 뒤, 보조 열(G열)을 삭제하거나 숨깁니다.

복잡한 조건일수록 이 방식이 가장 안전합니다. “보조 열을 기준으로 필터 → 삭제” 패턴을 익혀 두세요.

중복·오류·빈 셀 데이터 한 번에 지우기

1) Remove Duplicates로 중복 행 삭제

중복 고객, 중복 주문번호를 정리할 때 쓰는 대표적인 기능입니다.

  1. 데이터 안 아무 셀이나 클릭합니다.
  2. 데이터 탭 → 중복 제거(Remove Duplicates)를 클릭합니다.
  3. 대화상자에서 데이터에 머리글이 있으면 [내 데이터에 머리글이 포함됨]을 체크합니다.
  4. 중복을 판단할 기준 열만 체크합니다. 예를 들어 고객ID + 주문번호 기준이라면 해당 두 열만 체크합니다.
  5. 확인을 눌러 제거된 중복 개수 메시지를 확인합니다.

이 기능은 중복 중 하나만 남기고 나머지 행을 삭제합니다. “둘 다 삭제”가 아니라는 점을 꼭 기억하세요.

2) Go To Special로 오류(#N/A 등) 셀 선택 후 삭제

VLOOKUP, XLOOKUP, 수식이 꼬였을 때 생기는 #N/A, #VALUE! 같은 오류만 한 번에 지우고 싶을 때 유용합니다.

  1. 오류가 있을 수 있는 범위를 선택합니다.
  2. Ctrl + G옵션/특수 버튼을 클릭합니다.
  3. 수식을 선택하고, 아래에서 오류만 체크한 뒤 확인을 누릅니다.
  4. 오류가 있는 셀만 한 번에 선택된 상태에서 Delete 키로 내용만 지우거나, Ctrl + -로 셀/전체 행을 삭제합니다.

미리 IFERROR를 사용해 오류를 공백으로 바꿔 두면, 나중에 빈 셀 일괄 삭제 루트와 결합해 한 번에 처리할 수도 있습니다.

3) 빈 셀·빈 행만 골라서 삭제하는 패턴

핵심 패턴은 Quick Fix에서 사용한 것과 같습니다.

  1. 정리할 범위를 선택합니다(Ctrl + A).
  2. Ctrl + G옵션/특수빈 셀을 선택합니다.
  3. 전체 행 또는 전체 열을 삭제합니다.

변형 예시:

  • 빈 셀이 특정 열에만 있을 때 – 그 열만 선택한 뒤 위 과정을 수행하면 불필요한 빈 행만 제거할 수 있습니다.
  • 빈 열 정리 – 전체 시트를 선택한 뒤 Go To Special → 빈 셀 → 열 단위로 삭제합니다.

반복 작업은 수식 & VBA로 자동화하기

1) IFERROR로 오류를 공백으로 처리해 삭제 준비

VLOOKUP 결과에서 오류가 나오면 공백으로 바꾸는 패턴입니다.

기존 수식:

=VLOOKUP(A2, 기준범위, 3, FALSE)

아래처럼 바꿉니다.

=IFERROR(VLOOKUP(A2, 기준범위, 3, FALSE), "")
  • 정상 값: 그대로 표시
  • 오류: "" (빈 문자열) → 나중에 빈 셀로 인식

이렇게 만들어 두면 나중에 한 번에:

  1. 해당 열을 선택하고
  2. Go To Special → 빈 셀을 선택한 뒤
  3. 전체 행을 삭제

하는 방식으로 “오류였던 행”만 통째로 없앨 수 있습니다.

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

사용 방법

  1. Alt + F11로 VBA 편집기를 열고, 삽입 → 모듈을 선택합니다.
  2. 위 코드를 붙여넣습니다.
  3. 엑셀로 돌아와 Alt + F8DeleteRowsIfCancelled를 선택해 실행합니다.

조건 부분(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가지 패턴만 익혀도, 엑셀에서 수만 행 데이터 대청소를 훨씬 빠르고 안전하게 처리할 수 있습니다.

데이터 정리와 관련해 다음 글들도 함께 참고해 보세요.

Leave a Reply

Your email address will not be published. Required fields are marked *