Excel에서 다중 행 정렬 / 필터링 헤더를 얻는 방법


17

헤더 정보에 2 행을 사용하는 스프레드 시트가 있습니다. 열을 선택하여 필터링하는 것은 한 행의 헤더 정보 만 암시 적으로 가정합니다. 정렬에는 머리글 행 확인란이 있지만 첫 번째 행을 머리글로 취급하는 것만 전환합니다.

Excel에서 처음 두 행을 머리글로 취급하는 방법이 있습니까?

답변:


18

아니요. 자동 필터링시 범위에서 첫 번째 행을 생략하십시오. 이렇게하면 자동 필터 버튼이 맨 아래 머리글 행에만 나타나고 데이터가 필터링됩니다. 현재 두 번째 헤더 행이 '데이터'로 가져 오기를 기대합니다.

단일 셀을 선택할 수 없으며 이것을 잘 알아낼 수 있습니다. 엑셀에 포함시킬 셀 범위를 선택해야합니다.


그것은. 열 선택과 달리 필터링을 시작할 특정 셀을 선택할 수 있다는 것을 알지 못했습니다.
Dan Neely

7

여러 헤더 행을 사용하여 정렬 기능을 수행하는 쉬운 방법은 정렬하려는 행 바로 위에 빈 행을 삽입하는 것입니다 (이상적으로는 헤더에서 가장 아래쪽에 있습니다 . 그런 다음 빈 행을 강조 표시하는 '행'번호를 클릭하십시오. 해당 행을 마우스 오른쪽 버튼으로 클릭하고 "숨기기"를 선택합니다. 새로운 빈 행이 사라져 원하는 방식으로 헤더가 사라지고 Excel에서 카테고리 행을 헤더로 해석합니다.


2

행의 왼쪽에서 행 번호를 선택하여 전체 행을 선택한 다음 필터 (데이터> 필터)를 활성화하면 선택한 행 아래의 모든 항목에 대해 필터를 제공하고 그 위의 모든 항목은 무시합니다.


이것이 정답이며 가장 쉬운 방법입니다. 이것은 훨씬 오래된 질문이므로 Excel 2016에서 작동합니다.

감사합니다! 여기의 다른 사람들이 왜 그렇게 복잡합니까?
user291695

@ user291695 : OP의 날짜부터 이전 답변과 같이 이전 버전의 MS Office에 대해 수행 된 방식이며 새로운 답변은 의미가 없다고 생각합니다. 그래도 모르겠다.
Fr0zenFyr

1

두 번째 행에 열 머리글이 포함 된 2 개의 헤더 행으로 목록을 필터링하려면 다음을 수행하십시오.

  • 첫 번째 줄을 잘라
  • 필터링 끄기
  • 두 번째 행이 필터링되도록 필터링을 다시 설정하십시오. 열 머리글이있는 행을 Excel에 알립니다.
  • 필터와 열 머리글을 사용하여 첫 번째 행을 다시 행 위에 다시 붙여 넣습니다.
  • 열 제목이 두 번째 행에있는 상태에서 필터가 작동하는지 확인하십시오.

1

좋아, 다음은 파일을 Excel 2007로 다시 저장하고 다시 연 후에도 Excel 2010에서 작동합니다 (아마도 Excel 2007에서도 작동합니다 ...)

3 행 헤더를 가정합니다. 스프레드 시트 필터 범위를 $ A $ 4 셀에서 시작으로 설정하고 정렬하려는 전체 범위의 데이터를 포함하는지 확인하십시오. 파일을 저장하십시오.

따라서 모든 정렬은 행 1 ~ 3을 헤더로 취급하므로 행 4부터 정렬됩니다. -필터 범위를 변경하거나 취소하지 않으면 ...


Deedgess의 응답이 나를 위해 일했습니다. 필터를 추가하면 Excel은 그 위의 모든 행이 헤더라고 가정합니다. 제 경우에는 2 행 헤더가 있습니다. 2 행을 선택하고 필터를 켰습니다. 그런 다음 사용자 정의 정렬을 선택하고 헤더 상자를 선택했습니다. 정렬이 발생하면 행 1과 행 2가 모두 헤더로 유지되었습니다.

흥미롭게도 Excel 1911에서 필터의 드롭 다운으로 정렬하면 정렬되지만 사용자 정의 정렬은 작동하지 않습니다 .2 행은 그대로 유지되었지만 1 행은 다른 모든 항목과 함께 정렬되었습니다. 따라서 실제 데이터에서 "가장 낮은"값은 이제 행 1에 있고 원래 행 1은 내 데이터 범위 내에 있습니다.
pateksan

1

나는 내가 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가 다시 병합됩니다.


0

Excel 2007에서는 여러 행 머리글이 있는지 지능적으로 감지 할 수 있습니다. 나는 이것을 작성하기 직전에 간단한 실험을했다.

첫 번째 정렬을 수행하기 전에 커서를 헤더 바로 아래에 배치하십시오. 그게 다야! 정렬은 괜찮고 필터링은 좋습니다. Excel은 헤더의 첫 번째 행을 무시했습니다. 두 번째 행을 실제 헤더로 처리합니다.


3
아니요, 작동하지 않습니다. 그것은 엑셀 07에서 다중 행 머리글을 자동으로 감지 할 수 있다는 사실 어떤 경우에는 있지만 클릭하지 어느 셀에 셀 내용을 기반으로합니다. 예를 들어 처음 두 행이 텍스트이고 아래의 모든 것이 숫자 인 경우 Excel에서는 처음 두 행이 모두 헤더라고 가정합니다.
Josh

0

정렬해야하는 셀을 강조 표시 한 다음 (모두 헤더 제외) 필터를 선택하십시오.


0

Excel 2010을 사용하고 있습니다. 제목 행 (예 : 처음 4 행)을 유지하려면 5 행을 강조 표시 한 다음 필터를 켭니다. 행 1-4는 필터에서 제외됩니다.


0

나는 같은 문제가 있었으므로 모든 사람들의 공헌으로 나를 위해 일하는 방식으로 나를 이끌어 냈습니다.

  1. 다중 행 헤더 아래에 빈 행을 추가하십시오 (헤더가 정보의 5 행 및 / 또는 홀수 셀 크기 인 경우 새 빈 행은 Row6이됩니다).

  2. Row6을 클릭하십시오 (맨 왼쪽 / 실제로 "6"(Excel Row #)을 클릭하여 전체 행 / 무한대 선택). 아래 3 번과 4 번을 마치거나 행을 '선택 취소'할 때까지 다른 셀을 클릭하지 마십시오. '선택'상태로 유지하려고합니다.

  3. VIEW 탭> Freeze Panes> Unfreeze (먼저 고정 해제)> Freeze로 이동하십시오. 이렇게하면 5 행 헤더와 빈 행 (6 행)이 고정됩니다.

  4. "ALT"를 누른 상태에서 다음 키를 누릅니다. D, F, F (시트의 모든 필터를 켜고 끄거나 끄는 단축키입니다.

  5. 이 시점부터이 시트를 다시 사용할 때마다 필터를 켜고 (이전에 어떤 이유로 든 필터를 끈 경우)> 빈 행을 선택하십시오 (# 2에 설명 된대로). > 모든 필터를 켜십시오 (# 4에 설명 된대로).

너무 장황해서 미안하지만 몇 번 한 후에는 필터를 많이 사용하는 경우 좋아할 것입니다.


0

1 단계 하단 머리글 행을 강조 표시합니다. 그런 다음 행의 셀만 선택하거나 전체 행을 선택할 수 있습니다.

2 단계 다음에 홈 탭에서 "정렬 및 필터"를 클릭 한 다음 "필터"를 선택할 수 있습니다. Excel은 모든 열 이름에 필터 화살표를 추가합니다.

그런 다음 3 단계에서 화살표를 클릭 한 다음 정렬 옵션을 선택하여 해당 테이블을 기준으로 전체 테이블을 정렬하십시오.

4 단계 : 마지막으로 "정렬 및 필터"를 클릭하고 화살표를 제거하려면 필터를 다시 정의한 후 "필터"를 다시 선택하십시오. 이제 정상적으로 정렬 할 수 있습니다. Excel은 추가 헤더 행을 무시합니다.


-1

경우에 따라 수행 할 수있는 또 다른 방법은 두 번째 열에 값을 입력하여 필터에 포함시킨 다음 해당 셀의 텍스트를 셀의 배경색과 일치시키는 것입니다. 헤더 (행 1)가 셀의 가로 중앙에 있지 않기 때문에 꽤 좋지는 않지만 작동합니다 ...


-1

나는 같은 문제가 있었고 나에게 맞는 해결책을 찾았다. 헤더에서보고 싶지 않은 모든 행에 대해 문자를 흰색 (또는 배경색)으로 만듭니다. 정렬하면 행에 동일한 헤더가 모두 표시되지 않습니다. 무언가를 바꾸고 싶을 때 나쁜 일이지만,이 경우 밝은 회색으로 만들 수도 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.