답변:
아니요. 자동 필터링시 범위에서 첫 번째 행을 생략하십시오. 이렇게하면 자동 필터 버튼이 맨 아래 머리글 행에만 나타나고 데이터가 필터링됩니다. 현재 두 번째 헤더 행이 '데이터'로 가져 오기를 기대합니다.
단일 셀을 선택할 수 없으며 이것을 잘 알아낼 수 있습니다. 엑셀에 포함시킬 셀 범위를 선택해야합니다.
행의 왼쪽에서 행 번호를 선택하여 전체 행을 선택한 다음 필터 (데이터> 필터)를 활성화하면 선택한 행 아래의 모든 항목에 대해 필터를 제공하고 그 위의 모든 항목은 무시합니다.
두 번째 행에 열 머리글이 포함 된 2 개의 헤더 행으로 목록을 필터링하려면 다음을 수행하십시오.
좋아, 다음은 파일을 Excel 2007로 다시 저장하고 다시 연 후에도 Excel 2010에서 작동합니다 (아마도 Excel 2007에서도 작동합니다 ...)
3 행 헤더를 가정합니다. 스프레드 시트 필터 범위를 $ A $ 4 셀에서 시작으로 설정하고 정렬하려는 전체 범위의 데이터를 포함하는지 확인하십시오. 파일을 저장하십시오.
따라서 모든 정렬은 행 1 ~ 3을 헤더로 취급하므로 행 4부터 정렬됩니다. -필터 범위를 변경하거나 취소하지 않으면 ...
나는 내가 SuperOver에 있고 StackOverflow에 있지 않다는 것을 알고 있지만이 문제에 대한 해결책은 Excel 2016에서 VBA 코드를 사용하여 찾을 수 있습니다.
비슷한 (더 복잡한) 문제가 있습니다.
다음 화면의 캡처에서 볼 수 있듯이 명시 적 열에는 필터를 추가하고 행 1에만 표시하지는 않습니다.
Excel GUI를 사용해 보았지만 불가능한 것 같으므로 다음 코드를 작성했습니다.
'********************************************************
'* SetFilter()
'********************************************************
'* PUBLIC method to call to define CUSTOM AutoFilter
'* on complex header.
'********************************************************
Sub SetFilter()
'Compute last row number
Dim nLast As Long
nLast = Range("A" & Rows.Count).End(xlUp).Row
'Lock screen update
Application.ScreenUpdating = False
'Unmerge merged cells to allow adding filter
Range("A1:A2").MergeCells = False
Range("B1:B2").MergeCells = False
Range("C1:C2").MergeCells = False
Range("D1:D2").MergeCells = False
Range("E1:E2").MergeCells = False
Range("F1:F2").MergeCells = False
'Add filter on row 2 and not 1
Range("A2:Z" & nLast).Select
Selection.AutoFilter
'Remove (or Hide) filter combobox for some columns
Selection.AutoFilter Field:=GetColumnIndex("C"), VisibleDropDown:=False
Selection.AutoFilter Field:=GetColumnIndex("G"), VisibleDropDown:=False
Selection.AutoFilter Field:=GetColumnIndex("H"), VisibleDropDown:=False
'Merge unmerged cells to restore previous state
Range("A1:A2").MergeCells = True
Range("B1:B2").MergeCells = True
Range("C1:C2").MergeCells = True
Range("D1:D2").MergeCells = True
Range("E1:E2").MergeCells = True
Range("F1:F2").MergeCells = True
'Unlock screen update
Application.ScreenUpdating = True
End Sub
'********************************************************
'* GetColumnIndex()
'********************************************************
'* return column's index from column letters
'********************************************************
Function GetColumnIndex(sColLetter As String) As Integer
Dim n As Integer: n = 0
Dim iMax As Integer: iMax = Len(sColLetter)
Dim i As Integer
Dim sChar As String
Dim c As Integer
For i = 1 To iMax
sChar = Mid(sColLetter, i, 1)
c = 1 + Asc(sChar) - Asc("A")
n = n * 26 + c
Next
If n = 1 Then
n = 1
End If
GetColumnIndex = n
End Function
이 코드의 논리는
A. 세로로 병합 된 머리글 셀을 병합 취소하여 행 2에 필터를 추가 할 수 있도록합니다.
Range("A1:A2").MergeCells = False
셀 A1 및 A2는 병합되지 않습니다.
B. 2 행의 모든 셀에 자동 필터 추가
Range("A2:Z" & nLast).AutoFilter
행 1을 제외한 모든 행의 셀에 대해 자동 필터가 생성됩니다.
C. 일부 열에 대한 FILTER Combobox 제거 또는 숨기기
Selection.AutoFilter Field:=GetColumnIndex("C"), VisibleDropDown:=False
"C"열의 DropBox가 숨겨져 있습니다.
D. 병합되지 않은 셀을 병합하여 원래 상태로 복원
Range("A1:A2").MergeCells = True
셀 A1과 A2가 다시 병합됩니다.
Excel 2007에서는 여러 행 머리글이 있는지 지능적으로 감지 할 수 있습니다. 나는 이것을 작성하기 직전에 간단한 실험을했다.
첫 번째 정렬을 수행하기 전에 커서를 헤더 바로 아래에 배치하십시오. 그게 다야! 정렬은 괜찮고 필터링은 좋습니다. Excel은 헤더의 첫 번째 행을 무시했습니다. 두 번째 행을 실제 헤더로 처리합니다.
나는 같은 문제가 있었으므로 모든 사람들의 공헌으로 나를 위해 일하는 방식으로 나를 이끌어 냈습니다.
다중 행 헤더 아래에 빈 행을 추가하십시오 (헤더가 정보의 5 행 및 / 또는 홀수 셀 크기 인 경우 새 빈 행은 Row6이됩니다).
Row6을 클릭하십시오 (맨 왼쪽 / 실제로 "6"(Excel Row #)을 클릭하여 전체 행 / 무한대 선택). 아래 3 번과 4 번을 마치거나 행을 '선택 취소'할 때까지 다른 셀을 클릭하지 마십시오. '선택'상태로 유지하려고합니다.
VIEW 탭> Freeze Panes> Unfreeze (먼저 고정 해제)> Freeze로 이동하십시오. 이렇게하면 5 행 헤더와 빈 행 (6 행)이 고정됩니다.
"ALT"를 누른 상태에서 다음 키를 누릅니다. D, F, F (시트의 모든 필터를 켜고 끄거나 끄는 단축키입니다.
이 시점부터이 시트를 다시 사용할 때마다 필터를 켜고 (이전에 어떤 이유로 든 필터를 끈 경우)> 빈 행을 선택하십시오 (# 2에 설명 된대로). > 모든 필터를 켜십시오 (# 4에 설명 된대로).
너무 장황해서 미안하지만 몇 번 한 후에는 필터를 많이 사용하는 경우 좋아할 것입니다.
1 단계 하단 머리글 행을 강조 표시합니다. 그런 다음 행의 셀만 선택하거나 전체 행을 선택할 수 있습니다.
2 단계 다음에 홈 탭에서 "정렬 및 필터"를 클릭 한 다음 "필터"를 선택할 수 있습니다. Excel은 모든 열 이름에 필터 화살표를 추가합니다.
그런 다음 3 단계에서 화살표를 클릭 한 다음 정렬 옵션을 선택하여 해당 테이블을 기준으로 전체 테이블을 정렬하십시오.
4 단계 : 마지막으로 "정렬 및 필터"를 클릭하고 화살표를 제거하려면 필터를 다시 정의한 후 "필터"를 다시 선택하십시오. 이제 정상적으로 정렬 할 수 있습니다. Excel은 추가 헤더 행을 무시합니다.
나는 같은 문제가 있었고 나에게 맞는 해결책을 찾았다. 헤더에서보고 싶지 않은 모든 행에 대해 문자를 흰색 (또는 배경색)으로 만듭니다. 정렬하면 행에 동일한 헤더가 모두 표시되지 않습니다. 무언가를 바꾸고 싶을 때 나쁜 일이지만,이 경우 밝은 회색으로 만들 수도 있습니다.