Computer >> 컴퓨터 >  >> 소프트웨어 >> Office

엑셀 VBA로 여러 조건 한 번에 필터링하기 — AND형·OR형 조건 완벽 가이드

이 글에서는 엑셀에서 VBA를 활용해 데이터 집합에서 여러 조건을 동시에 필터링하는 방법을 소개합니다. AND 유형과 OR 유형의 복수 조건 필터링을 모두 익힐 수 있으니, 끝까지 따라와 보세요.

VBA로 엑셀에서 여러 조건을 필터링하는 2가지 방법

예제로 사용할 데이터는 'Martin Bookstore'라는 서점의 도서명, 장르, 가격 정보를 담고 있습니다.

엑셀 VBA로 여러 조건 한 번에 필터링하기 — AND형·OR형 조건 완벽 가이드

오늘의 목표는 이 데이터 집합에서 VBA(Visual Basic for Applications)를 이용해 여러 조건을 만족하는 행만 추출해 내는 것입니다.

1. VBA로 AND 유형의 여러 조건 필터링하기

먼저 어떤 데이터 집합에든 적용할 수 있는 AND 조건 필터링 매크로를 만들어 보겠습니다.

예를 들어, '소설' 장르이면서 가격이 $25.00 이상인 책만 걸러낸다고 가정해 봅시다.

⧭ VBA 코드:

Sub Filter_Multiple_Criteria_AND_Type()

Count = 1
For i = 1 To Selection.Rows.Count

    If Selection.Cells(i, 2) = "Novel" And Selection.Cells(i, 3) >= 25 Then

        For j = 1 To Selection.Columns.Count

            Range("F4").Cells(Count, j) = Selection.Cells(i, j)

        Next j

        Count = Count + 1

    End If

Next i

End Sub

엑셀 VBA로 여러 조건 한 번에 필터링하기 — AND형·OR형 조건 완벽 가이드

⧭ 실행 결과:

워크시트에서 데이터 집합을 선택한 뒤 매크로(Filter_Multiple_Criteria_AND_Type)를 실행합니다.

엑셀 VBA로 여러 조건 한 번에 필터링하기 — AND형·OR형 조건 완벽 가이드

그러면 F4 셀부터 시작되는 새 범위에 '소설'이면서 가격이 $25.00 이상인 책들이 자동으로 정리됩니다.

엑셀 VBA로 여러 조건 한 번에 필터링하기 — AND형·OR형 조건 완벽 가이드

⧭ 참고 사항:

  • 코드 4번째 줄에서 Cells(i, 2) = "Novel"Selection.Cells(i, 3) >= 25를 사용했습니다.

엑셀 VBA로 여러 조건 한 번에 필터링하기 — AND형·OR형 조건 완벽 가이드

  • 여기서는 2번째 열(Book Type) 값이 'Novel'이고, 3번째 열(Price) 값이 $25.00 이상인 경우를 의미합니다. 필요에 따라 조건은 얼마든지 바꿀 수 있습니다.
  • 예를 들어 가격이 $20.00 이상이면서 $30.00 이하인 책을 찾고 싶다면 Selection.Cells(i, 3) >= 20Selection.Cells(i, 3) <= 30처럼 조건을 수정하면 됩니다.
  • 또한 코드 6번째 줄에서 Range("F4")를 사용한 이유는, 필터링된 결과가 F4 셀부터 시작되기를 원했기 때문입니다. 결과 출력 위치 역시 상황에 맞게 변경하세요.

엑셀 VBA로 여러 조건 한 번에 필터링하기 — AND형·OR형 조건 완벽 가이드

함께 읽으면 좋은 글: 엑셀에서 여러 조건으로 필터링하기

2. VBA로 OR 유형의 여러 조건 필터링하기

이번에는 OR 조건을 처리하는 매크로를 만들어 보겠습니다.

예를 들어, 이번에는 '소설' 장르이거나 가격이 $25.00 이상인 책을 모두 추출한다고 해봅시다.

⧭ VBA 코드:

Sub Filter_Multiple_Criteria_Or_Type()

Count = 1

For i = 1 To Selection.Rows.Count

    If Selection.Cells(i, 2) = "Novel" Or Selection.Cells(i, 3) >= 25 Then

        For j = 1 To Selection.Columns.Count

            Range("F4").Cells(Count, j) = Selection.Cells(i, j)

        Next j

        Count = Count + 1

    End If

Next i
End Sub

엑셀 VBA로 여러 조건 한 번에 필터링하기 — AND형·OR형 조건 완벽 가이드

⧭ 실행 결과:

데이터 집합을 선택한 후 매크로(Filter_Multiple_Criteria_OR_Type)를 실행하면,

엑셀 VBA로 여러 조건 한 번에 필터링하기 — AND형·OR형 조건 완벽 가이드

F4 셀부터 시작되는 새 범위에 '소설'이거나 가격이 $25.00 이상인 책들이 모두 표시됩니다.

엑셀 VBA로 여러 조건 한 번에 필터링하기 — AND형·OR형 조건 완벽 가이드

⧭ 참고 사항:

  • 코드 4번째 줄에서 Selection.Cells(i, 2) = "Novel" 또는 Selection.Cells(i, 3) >= 25 조건을 사용했습니다. AND 코드와 비교하면 연산자만 'And'에서 'Or'로 바뀌었을 뿐 구조는 동일합니다.

엑셀 VBA로 여러 조건 한 번에 필터링하기 — AND형·OR형 조건 완벽 가이드

  • 즉, 2번째 열(Book Type) 값이 'Novel'이거나 3번째 열(Price) 값이 $25.00 이상이면 두 조건 중 하나만 충족해도 행이 추출됩니다.
  • 조건 값과 출력 시작 위치(Range("F4"))는 각자의 상황에 맞게 수정해서 사용하세요.

엑셀 VBA로 여러 조건 한 번에 필터링하기 — AND형·OR형 조건 완벽 가이드

함께 읽으면 좋은 글: 엑셀에서 다중 필터 적용하기 [방법 + VBA]

기억해 둘 점

여기서는 두 개의 조건을 사용했지만, 조건의 개수는 제한이 없습니다. 원하는 만큼 조건을 추가하고, 각 조건을 And 또는 Or로 연결해 주면 됩니다. AND는 모든 조건을 동시에 만족할 때, OR는 하나라도 만족하면 해당 행을 추출한다는 점을 꼭 기억하세요.

마무리

이번 글에서 소개한 방법들을 활용하면 VBAANDOR 유형의 복수 조건 필터링을 손쉽게 처리할 수 있습니다. 궁금한 점이 있다면 언제든 질문해 주세요. 더 많은 팁과 최신 정보는 ExcelDemy에서 확인하실 수 있습니다.

추천 학습 자료

  • 엑셀에서 여러 열을 독립적으로 필터링하는 방법
  • 엑셀 필터에서 여러 항목 검색하기 (2가지 방법)
  • 엑셀에서 필터 제거하기 (간단한 5가지 방법)
  • 엑셀에서 날짜로 필터링하기 (4가지 빠른 방법)