VBA, 수식 및 파워 쿼리를 사용하여 Excel에서 빈 행을 삭제하는 방법

  • 이 공유
Michael Brown

이 튜토리얼에서는 정보의 손실 없이 Excel에서 여러 개의 빈 행을 안전하게 삭제하는 몇 가지 간단한 요령을 알려줍니다 .

Excel의 빈 행은 우리 모두가 직면하는 문제입니다 가끔, 특히 다른 출처의 데이터를 결합하거나 다른 곳에서 정보를 가져올 때. 빈 줄은 다양한 수준의 워크시트에 많은 혼란을 야기할 수 있으며 수동으로 삭제하는 것은 시간이 많이 걸리고 오류가 발생하기 쉬운 프로세스가 될 수 있습니다. 이 기사에서는 워크시트에서 공백을 제거하는 몇 가지 간단하고 안정적인 방법을 배웁니다.

    Excel에서 빈 줄을 제거하지 않는 방법

    몇 가지가 있습니다. Excel에서 빈 줄을 삭제하는 방법은 다양하지만 놀랍게도 많은 온라인 리소스가 가장 위험한 방법, 즉 Find & 선택 > 특별 메뉴로 이동 > 공백 .

    이 기술의 문제점은 무엇입니까? 범위에서 모든 공백 을 선택하므로 결과적으로 하나의 빈 셀만큼 포함된 모든 행을 삭제하게 됩니다.

    아래 이미지는 왼쪽에 원본 테이블을 보여주고 오른쪽의 결과 테이블. 그리고 결과 테이블에서 모든 불완전한 행이 사라졌습니다. 심지어 D 열의 날짜만 누락된 행 10도 있습니다. 빈 셀을 선택하여 행. 대신 논의된 보다 신중한 접근 방식 중 하나를 사용하십시오.필요한 것보다 더 복잡하게 만듭니다. 그래서 한 단계 더 나아가 Excel에서 빈 행을 삭제하는 두 번의 클릭 경로를 만들었습니다.

    Ultimate Suite가 리본에 추가된 상태에서 모든 빈 행을 삭제 하는 방법은 다음과 같습니다. 워크시트에서:

    1. Ablebits 도구 탭의 변환 그룹에서 공백 삭제 > 를 클릭합니다. 빈 행 :
    2. 추가 기능은 모든 빈 행이 활성 워크시트에서 제거될 것임을 알리고 확인을 요청합니다. 확인을 클릭하면 잠시 후 빈 행이 모두 제거됩니다.

    아래 스크린샷과 같이 데이터가 있는 단일 셀이 없는 완전히 빈 줄 만 제거했습니다.

    찾으려면 Excel용 Ultimate Suite에 포함된 더 많은 멋진 기능을 보려면 평가판을 다운로드하세요.

    읽어 주셔서 감사합니다. 다음 주 블로그에서 뵙겠습니다!

    아래.

    VBA를 사용하여 Excel에서 빈 행을 제거하는 방법

    Excel VBA는 여러 개의 빈 행을 포함하여 많은 것을 수정할 수 있습니다. 이 접근 방식의 가장 좋은 점은 프로그래밍 기술이 필요하지 않다는 것입니다. 간단히 아래 코드 중 하나를 선택하여 Excel에서 실행하십시오(지침은 여기에 있음).

    매크로 1. 선택한 범위에서 빈 줄 삭제

    이 VBA 코드는 모든 공백을 자동으로 삭제합니다. 사용자에게 메시지나 대화 상자를 표시하지 않고 선택한 범위의 행을 삭제합니다.

    이전 기술과 달리 매크로는 전체 행이 비어 있는 경우 행을 삭제합니다. CountA 워크시트 함수를 사용하여 각 줄에서 비어 있지 않은 셀 수를 가져온 다음 개수가 0인 행을 삭제합니다.

    Public Sub DeleteBlankRows() Dim SourceRange As Range Dim EntireRow As Range Set SourceRange = Application. 선택이 아닌 경우 선택(SourceRange Is Nothing ) 그러면 Application.ScreenUpdating = False For I = SourceRange.Rows.Count To 1 Step -1 Set EntireRow = SourceRange.Cells(I, 1).EntireRow If Application.WorksheetFunction.CountA(EntireRow) = 0 Then EntireRow.Delete End If Next Application.ScreenUpdating = True End If End Sub

    사용자에게 매크로 실행 후 대상 범위를 선택할 수 있는 기회 를 제공하려면 다음 코드를 사용하세요.

    Public Sub RemoveBlankLines() Dim SourceRange As Range Dim EntireRow As Range On Error Resume Next Set SourceRange = Application.InputBox( _"범위 선택:" , "빈 행 삭제" , _ Application.Selection.Address, Type :=8) 그렇지 않은 경우(SourceRange Is Nothing ) Then Application.ScreenUpdating = False For I = SourceRange.Rows.Count To 1 Step - 1 Set EntireRow = SourceRange.Cells(I, 1).EntireRow If Application.WorksheetFunction.CountA(EntireRow) = 0 Then EntireRow.Delete End If Next Application.ScreenUpdating = True End If End Sub

    실행 시 매크로는 다음 입력 상자에서 대상 범위를 선택하고 확인을 클릭합니다.

    잠시 후 선택한 범위의 모든 빈 줄이 제거되고 나머지 줄이 위로 이동합니다.

    매크로 2. Excel에서 모든 빈 행 삭제

    활성 시트 에서 모든 빈 행 을 제거하려면 사용된 범위의 마지막 행(즉, 데이터가 있는 마지막 셀) 그런 다음 CountA가 0을 반환하는 줄을 위쪽으로 삭제합니다.

    Sub DeleteAllEmptyRows() Dim LastRowIndex As Integer Dim RowIndex As Integer Dim UsedRng As Range Set UsedRng = Activ eSheet.UsedRange LastRowIndex = UsedRng.Row - 1 + UsedRng.Rows.Count Application.ScreenUpdating = False For RowIndex = LastRowIndex To 1 Step -1 If Application.CountA(Rows(RowIndex)) = 0 Then Rows(RowIndex).Delete End If Next RowIndex Application.ScreenUpdating = True End Sub

    Macro 3. Delete row if cell is blank

    이 매크로를 사용하면 지정된 셀에 있는 경우 전체 행을 삭제할 수 있습니다.열이 비어 있습니다.

    다음 코드는 열 A에 공백이 있는지 확인합니다. 다른 열을 기준으로 행을 삭제하려면 "A"를 적절한 문자로 바꿉니다.

    Sub DeleteRowIfCellBlank() On Error Resume Next Columns( "A" ).SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub

    As a 실제로 매크로는 특수 항목으로 이동 > 공백 기능을 사용하며 이러한 단계를 수동으로 수행하여 동일한 결과를 얻을 수 있습니다.

    참고. 매크로는 전체 시트 의 빈 행을 삭제하므로 사용 시 각별히 주의하시기 바랍니다. 예방 조치로 이 매크로를 실행하기 전에 워크시트를 백업하는 것이 좋습니다.

    VBA를 사용하여 Excel에서 빈 줄을 제거하는 방법

    매크로를 사용하여 Excel에서 빈 행을 삭제하려면 통합 문서에 VBA 코드를 삽입하거나 샘플 통합 문서에서 매크로를 실행할 수 있습니다.

    통합 문서에 매크로 추가

    통합 문서에 매크로를 삽입하려면 다음 단계를 수행하십시오.

    1. 빈 행을 삭제할 워크시트를 엽니다.
    2. Alt + F11을 눌러 Visual Basic Editor를 엽니다.
    3. 왼쪽 창에서 마우스 오른쪽 버튼을 클릭합니다. ThisWorkbook 을 선택한 다음 삽입 > 모듈 을 클릭합니다.
    4. 코드 창에 코드를 붙여넣습니다.
    5. F5 키를 누릅니다. 매크로를 실행합니다.

    자세한 단계별 지침은 Excel에서 VBA 삽입 및 사용 방법을 참조하세요.

    샘플 통합 문서에서 매크로 실행

    샘플 다운로드빈 행을 삭제하는 매크로가 포함된 통합 문서에서 다음 매크로 중 하나를 실행합니다.

    DeleteBlankRows - 현재 선택된 범위에서 빈 행을 제거합니다.

    RemoveBlankLines - 매크로를 실행한 후 선택한 범위에서 빈 행을 삭제하고 위로 이동합니다.

    DeleteAllEmptyRows - 활성 시트에서 모든 빈 행을 삭제합니다.

    DeleteRowIfCellBlank - 특정 열의 셀이 비어 있는 경우 행을 삭제합니다.

    Excel에서 매크로를 실행하려면 다음을 수행합니다.

    1. 다운로드한 통합 문서를 다운로드하고 메시지가 표시되면 매크로를 활성화합니다.
    2. 자신의 통합 문서를 열고 관심 있는 워크시트로 이동합니다.
    3. 워크시트에서 Alt + F8을 누르고 매크로를 선택한 다음 <8을 클릭합니다>Run .

    Excel에서 빈 행을 삭제하는 수식

    삭제하는 항목을 확인하려면 다음 수식을 사용하여 빈 줄을 식별하세요.

    =IF(COUNTA(A2:D2)=0, "Blank", "Not blank")

    여기서 A2는 첫 번째 데이터 행이고 D2는 첫 번째 데이터 행의 마지막으로 사용된 셀입니다.

    이 수식 입력 E2 또는 행 2의 다른 빈 열에서 채우기 핸들을 드래그하여 수식을 아래로 복사합니다.

    결과적으로 빈 행에 "Blank"가 표시되고 행에 "Not blank"가 표시됩니다. 데이터가 있는 하나 이상의 셀을 포함하는:

    수식의 논리는 분명합니다. COUNTA 함수로 비어 있지 않은 셀을 계산하고 IF 문을 사용하여 0 카운트에 대해 "Blank"를 반환하고 그렇지 않으면 "Not Blank"를 반환합니다. .

    에서사실, IF 없이 잘 할 수 있습니다:

    =COUNTA(A2:D2)=0

    이 경우 수식은 빈 줄에 대해 TRUE를 반환하고 비어 있지 않은 줄에 대해 FALSE를 반환합니다.

    수식이 제자리에 있으면 다음 단계를 수행하여 빈 줄을 삭제합니다.

    1. 헤더 행에서 아무 셀이나 선택하고 정렬 & Filter > Filter Home 탭의 Formats 이렇게 하면 모든 헤더 셀에 필터링 드롭다운 화살표가 추가됩니다.
    2. 수식 열 머리글의 화살표를 클릭하고 선택을 해제(모두 선택)하고 비어 있음 을 선택한 다음 확인 을 클릭합니다.
    3. 필터링된 모든 행 선택 . 이를 위해 첫 번째 필터링 행의 첫 번째 셀을 클릭하고 Ctrl + Shift + End를 눌러 선택을 마지막 필터링 행의 마지막 셀로 확장합니다.
    4. 선택 항목을 마우스 오른쪽 버튼으로 클릭하고 을 선택합니다. 컨텍스트 메뉴에서 행 을(를) 삭제한 다음 전체 행을 삭제할 것인지 확인합니다.
    5. Ctrl + Shift + L을 눌러 필터를 제거합니다. 또는 탭 > 정렬 & Filter > Filter .
    6. 수식이 더 이상 필요하지 않으므로 해당 열을 삭제합니다.

    그게 다입니다! 결과적으로 빈 줄이 없는 깨끗한 테이블이 되지만 모든 정보는 보존됩니다.

    팁. 빈 줄을 삭제하는 대신 다른 곳에 비지 않은 행을 복사 할 수 있습니다. 완료하려면 "비어 있지 않음" 행을 필터링하고 선택하고 Ctrl + C를 눌러 복사합니다. 그런 다음다른 시트에서 대상 범위의 왼쪽 위 셀을 선택하고 Ctrl + V를 눌러 붙여넣습니다.

    파워 쿼리를 사용하여 Excel에서 빈 줄을 제거하는 방법

    Excel 2016 및 Excel 2019에서, 파워 쿼리 기능을 사용하여 빈 행을 삭제하는 또 다른 방법이 있습니다. Excel 2010 및 Excel 2013에서는 추가 기능으로 다운로드할 수 있습니다.

    중요 참고 사항! 이 방법은 다음 주의 사항과 함께 작동합니다. 파워 쿼리는 원본 데이터를 Excel 테이블로 변환하고 채우기 색, 테두리 및 일부 숫자 서식과 같은 서식을 변경합니다. 원본 데이터의 서식이 중요한 경우 Excel에서 빈 행을 제거하는 다른 방법을 선택하는 것이 좋습니다.

    1. 빈 줄을 삭제할 범위를 선택합니다.
    2. 데이터 탭 > 가져오기 & Transform 그룹을 선택하고 Table/Range에서 를 클릭합니다. 이렇게 하면 Power Query 편집기에 테이블이 로드됩니다.
    3. 파워 쿼리 편집기의 탭에서 행 제거 > 빈 행 제거 를 클릭합니다.
    4. 닫기 & Load 결과 테이블을 새 워크시트로 로드하고 쿼리 편집기를 닫습니다.

    이러한 조작의 결과 빈 줄이 없는 다음 표를 얻었지만 몇 가지 불쾌한 변경 사항이 있습니다. 통화 형식이 손실되고 날짜가 기본 형식으로 표시됩니다. 사용자 지정 항목 대신:

    How to delete rows if특정 열의 셀이 비어 있음

    이 자습서의 시작 부분에서 공백을 선택하여 빈 줄을 제거하지 않도록 경고했습니다. 그러나 이 방법은 특정 열의 공백 을 기준으로 행을 삭제하려는 경우에 유용합니다.

    예를 들어 A 열의 셀이 비어 있는 행을 모두 제거해 보겠습니다. :

    1. 여기서는 A열인 키 열을 선택합니다.
    2. 탭에서 찾기 & > 특집으로 이동 을 선택합니다. 또는 F5를 누르고 특수… 버튼을 클릭합니다.
    3. Go To Special 대화 상자에서 Blanks 를 선택하고 OK 를 클릭합니다. 그러면 열 A의 사용된 범위에서 빈 셀이 선택됩니다.
    4. 선택한 셀을 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴에서 삭제… 를 선택합니다.
    5. 삭제 대화 상자에서 전체 행 을 선택하고 확인을 클릭합니다.

    완료! 열 A에 값이 없는 행은 더 이상 존재하지 않습니다.

    키 열에서 공백을 필터링하여 동일한 결과를 얻을 수 있습니다.

    데이터 아래에 있는 추가 줄을 제거하는 방법

    가끔 완전히 공백으로 보이는 행에 실제로 일부 형식이나 인쇄할 수 없는 문자가 포함될 수 있습니다. 데이터가 있는 마지막 셀이 실제로 워크시트에서 마지막으로 사용된 셀인지 확인하려면 Ctrl + End 를 누르십시오. 이렇게 하면 데이터 아래에 시각적으로 비어 있는 행이 표시되는 경우 Excel에서는 해당 행이 비어 있지 않은 것입니다. 이러한 행을 제거하려면 다음을 수행하십시오.다음:

    1. 데이터 아래에 있는 첫 번째 빈 행의 머리글을 클릭하여 선택합니다.
    2. Ctrl + Shift + End 키를 누릅니다. 이렇게 하면 형식, 공백 및 인쇄되지 않는 문자를 포함하여 모든 항목이 포함된 모든 행이 선택됩니다.
    3. 선택 항목을 마우스 오른쪽 버튼으로 클릭하고 삭제... > 전체 행을 선택합니다.

    비교적 작은 데이터 집합이 있는 경우 데이터 아래에 있는 모든 빈 줄을 제거할 수 있습니다. 스크롤을 쉽게 하기 위해. Excel에서 사용하지 않는 행을 삭제할 수 있는 방법은 없지만 행을 숨기는 것을 막을 수 있는 방법은 없습니다. 방법은 다음과 같습니다.

    1. 헤더를 클릭하여 데이터가 있는 마지막 행 아래의 행을 선택합니다.
    2. Ctrl + Shift + 아래쪽 화살표를 눌러 선택 항목을 시트의 마지막 행으로 확장합니다. .
    3. Ctrl + 9를 눌러 선택한 행을 숨깁니다. 또는 선택 항목을 마우스 오른쪽 버튼으로 클릭한 다음 숨기기 를 클릭합니다.

    행 숨기기를 해제 하려면 Ctrl + A를 눌러 전체 시트를 선택한 다음 Ctrl + Shift + 9를 눌러 모든 행을 다시 표시합니다.

    유사한 방식으로 데이터 오른쪽에 사용하지 않는 빈 열을 숨길 수 있습니다. 자세한 단계는 작업 영역만 보이도록 Excel에서 사용하지 않는 행 숨기기를 참조하십시오.

    Excel에서 빈 행을 제거하는 가장 빠른 방법

    이전 예제를 읽을 때 우리가 큰 망치를 사용하여 호두를 깨는 것처럼 느껴지나요? 여기, Ablebits에서는 다음을 선호하지 않습니다.

    Michael Brown은 소프트웨어 도구를 사용하여 복잡한 프로세스를 단순화하려는 열정을 가진 열성적인 기술 애호가입니다. 기술 산업에서 10년 이상의 경험을 쌓은 그는 Microsoft Excel 및 Outlook은 물론 Google 스프레드시트 및 문서 도구에 대한 기술을 연마했습니다. Michael의 블로그는 자신의 지식과 전문 지식을 다른 사람과 공유하는 데 전념하며 따라하기 쉬운 팁과 생산성 및 효율성 향상을 위한 자습서를 제공합니다. 노련한 전문가이든 초보자이든 Michael의 블로그는 이러한 필수 소프트웨어 도구를 최대한 활용하기 위한 귀중한 통찰력과 실용적인 조언을 제공합니다.