금액이 가장 높은 것부터 내림차순으로 필터링되는 출력이 있습니다.
100K보다 낮은 데이터를 제외하고 100K 이상의 값을 가진 행을 표시하는 방법이 있는지 알고 싶습니다.
내 예시 데이터:
Name | Amount
Person 1 | 500,000
Person 2 | 400,000
Person 3 | 350,000
Person 4 | 200,000
Person 5 | 150,000
Person 6 | 90,000
Person 7 | 80,000
...
원하는 출력:
Name | Amount
Person 1 | 500,000
Person 2 | 400,000
Person 3 | 350,000
Person 4 | 200,000
Person 5 | 150,000
이에 대한 조건을 코딩하거나 추가하는 방법을 모르겠습니다.
답변1
답변2
설명하는 내용은 자동 필터를 켜거나 데이터를 Excel 표 개체로 변환하고 해당 필터 설정을 선택한 다음 데이터를 정렬하여 얻을 수 있습니다. 목록에 추가된 데이터가 더 있으면 필터링과 정렬을 반복해야 합니다.
필터 및 정렬을 자동으로 적용하려면 파워 쿼리를 사용하여 데이터를 로드하고, 파워 쿼리에서 필터 및 정렬을 수행하고 결과를 다른 시트에 로드할 수 있습니다. 원래 목록에 더 많은 데이터가 추가된 경우 간단히 파워 쿼리를 새로 고칠 수 있습니다. 이를 위해서는 VBA가 필요하지 않으며 통합 문서에서 매크로를 사용할 필요가 없습니다.
파워 쿼리는 Excel 2010 및 2013용 무료 추가 기능으로 제공되며 이후 버전의 데이터 리본에 "가져오기 및 변환"으로 기본 제공됩니다.
답변3
Sub FilterAndCopy()
Dim xStr As String
Dim xAddress As String
Dim xRg As Range
Dim xCRg As Range
Dim xSRg As Range
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select Range To Filter:", "Filter Range", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Set xCRg = Application.InputBox("Select Criteria range:", "Filter Range", "", , , , , 8)
If xCRg Is Nothing Then Exit Sub
Set xSRg = Application.InputBox("Select Output Range:", "Filter Range", "", , , , , 8)
If xSRg Is Nothing Then Exit Sub
xRg.AdvancedFilter xlFilterCopy, xCRg, xSRg, False
xSRg.Worksheet.Activate
xSRg.Worksheet.Columns.AutoFit
End Sub
작동 방식:
- 복사&반죽이 코드를 표준 모듈로 사용하세요.
- 셀에 기준(데이터 필터링)을 작성합니다(스크린샷에 표시됨).
메모:
선택하는 동안기준모두, 열 머리글을 선택합니다(스크린샷에서는데이터) 및 아래 셀(>100000).
- 달리다매크로.
- 대답하다입력 상자그리고 마무리좋아요.