Jak uzyskać wielowierszowe nagłówki sortowania / filtrowania w programie Excel


17

Mam arkusz kalkulacyjny, który używa 2 wierszy do informacji w nagłówku. Filtrowanie przez wybranie kolumny domyślnie zakłada tylko 1 wiersz informacji nagłówka. Sortowanie ma pole wyboru wiersza nagłówka, ale przełącza tylko traktując pierwszy wiersz jako nagłówek.

Czy istnieje sposób, aby Excel traktował pierwsze dwa wiersze jako nagłówki?

Odpowiedzi:


18

Nie. Pomiń pierwszy wiersz z zakresu podczas automatycznego filtrowania. W ten sposób przyciski automatycznego filtrowania pojawiają się tylko w dolnym wierszu nagłówka, a dane są filtrowane. Oczekuję, że właśnie teraz drugi wiersz nagłówka jest wciągany do „danych”.

Nie możesz wybrać pojedynczej komórki, a Excel to rozgryza. Musisz wybrać zakres komórek, które chcesz uwzględnić w programie Excel.


To jest. Nie zdawałem sobie sprawy, że mogę wybrać konkretną komórkę, aby rozpocząć filtrowanie, zamiast wybierać kolumnę.
Dan Neely,

7

Prostym sposobem na wykonanie funkcji sortowania za pomocą wielu wierszy nagłówka jest wstawienie pustego wiersza tuż nad wierszem, według którego chcesz sortować (najlepiej, że jest on najniżej w nagłówku. Jeśli nie, ustaw go tak.) . Następnie kliknij numer „wiersza”, podświetlając pusty wiersz. Kliknij ten wiersz prawym przyciskiem myszy i wybierz opcję „Ukryj”. Nowy pusty wiersz zniknie, pozostawiając nagłówek tak, jak chciałeś, a Excel zinterpretuje wiersz kategorii jako nagłówek.


2

Jeśli wybierzesz cały wiersz (wybierając numer wiersza po lewej stronie wiersza), a następnie włączysz filtr (Dane> Filtr), wówczas otrzymasz filtry dla wszystkiego poniżej wybranego wiersza i zignorujesz wszystko powyżej.


To poprawna i najłatwiejsza odpowiedź. Działa to w programie Excel 2016, ponieważ jest to znacznie starsze pytanie.
Shawn

Dziękuję Ci! Dlaczego wszyscy tutaj są tak skomplikowani?
user291695,

@ user291695: Domyślam się od daty w OP, że tak właśnie zrobiono dla starszej wersji MS Office, jak w starszych odpowiedziach, a nowsze odpowiedzi po prostu nie mają sensu. Nie wiem jednak na pewno.
Fr0zenFyr

1

Aby przefiltrować listę z 2 wierszami nagłówków, w których drugi wiersz zawiera nagłówki kolumn, oto co zrobiłem.

  • Wytnij pierwszy rząd
  • Wyłącz filtrowanie
  • Ponownie włącz filtrowanie, aby drugi wiersz został przefiltrowany. To mówi Excelowi, który wiersz jest z nagłówkami kolumn.
  • Wklej pierwszy wiersz ponownie nad wierszem za pomocą filtrów i nagłówków kolumn
  • Sprawdź, czy filtr działa teraz, z nagłówkami kolumn w drugim rzędzie.

1

Okej, poniższe działa w programie Excel 2010, nawet po zapisaniu pliku jako Excel 2007 i ponownym otwarciu (więc prawdopodobnie działa również w programie Excel 2007)

Zakładając nagłówek z 3 wierszami. Ustaw zakres filtru arkusza kalkulacyjnego na Rozpocznij od komórki $ A 4 $ i upewnij się, że obejmuje on pełen zakres danych, które chcesz posortować. ZAPISZ PLIK.

Odtąd każdy rodzaj będzie traktował wiersze od 1 do 3 jako nagłówki i dlatego będzie sortował tylko od rzędu 4. - O ile nie zmienisz lub anulujesz zakresu filtrów ....


Odpowiedź czynu działała dla mnie. Po dodaniu filtra program Excel zakłada, że ​​każdy wiersz powyżej jest nagłówkiem. W moim przypadku mam 2-rzędowy nagłówek. Wybrałem wiersz 2 i włączyłem filtr. Następnie wybrałem sortowanie niestandardowe i zaznaczyłem pole nagłówka. Kiedy nastąpiło sortowanie, zarówno wiersz 1, jak i wiersz 2 pozostały jako nagłówek.

Interesujące, gdy robię to w programie Excel 1911, sortowanie z rozwijanym filtrem działa, ale sortowanie niestandardowe nie: wiersz 2 pozostał na miejscu, ale wiersz 1 został posortowany razem ze wszystkim innym. Zatem „najniższa” wartość z moich rzeczywistych danych znajduje się teraz w wierszu 1, a oryginalny wiersz 1 utknął w moim zakresie danych.
pateksan

1

Wiem, że korzystam z SuperUser, a nie StackOverflow, ale rozwiązanie tego problemu można znaleźć w kodzie VBA w programie Excel 2016.

Mam podobny (bardziej złożony) problem.

Chcę dodać niektóre filtry do wyraźnych kolumn, ale nie do wiersza 1 tylko do wiersza 2, jak widać na zdjęciu z poniższego ekranu.

wprowadź opis zdjęcia tutaj

Próbowałem używać interfejsu GUI programu Excel, ale wydaje się to niemożliwe, więc napisałem następujący kod:

'********************************************************
'* 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

Logika tego kodu to

A. Rozłącz scalone pionowo komórki nagłówka, aby umożliwić dodanie filtra w wierszu 2

Range("A1:A2").MergeCells = False

Komórki A1 i A2 nie są połączone.

B. Dodaj filtr automatyczny do wszystkich komórek rzędu 2

Range("A2:Z" & nLast).AutoFilter

Automatyczny filtr jest generowany dla komórek we wszystkich wierszach oprócz wiersza 1.

C. Usuń lub ukryj Combobox FILTER dla niektórych kolumn

Selection.AutoFilter Field:=GetColumnIndex("C"), VisibleDropDown:=False

DropBox kolumny „C” jest ukryty.

D. Scal niezamieszane komórki, aby przywrócić pierwotny stan

Range("A1:A2").MergeCells = True

Komórki A1 i A2 są ponownie łączone.


0

Excel 2007 może inteligentnie wykryć, czy masz wiele wierszy nagłówków. Przed napisaniem tego zrobiłem prosty eksperyment.

Przed pierwszym sortowaniem umieść kursor tuż pod nagłówkiem. Otóż ​​to! Sortowanie jest w porządku, filtrowanie jest w porządku. Excel zignorował pierwszy wiersz moich nagłówków. Po prostu przetwarza drugi wiersz jako prawdziwy nagłówek.


3
Nie, to nie działa. To prawda, że ​​Excel 07 może w niektórych przypadkach automatycznie wykrywać nagłówki zawierające wiele wierszy , ale jest oparty na zawartości komórki, a nie na tej, którą klikniesz. Na przykład, jeśli pierwsze dwa wiersze są tekstem, a wszystko poniżej jest liczbowe, wówczas Excel założy, że pierwsze dwa wiersze są nagłówkami.
Josh

0

Podświetl komórki, które należy posortować (wszystkie z wyjątkiem nagłówków), a następnie wybierz filtr.


0

Korzystam z programu Excel 2010. Aby zachować wiersze nagłówka (np. Pierwsze 4 wiersze), zaznacz wiersz 5, a następnie włącz filtry. Rzędy 1–4 są wyłączone z filtra.


0

Miałem ten sam problem, więc wkład wszystkich doprowadził mnie do sposobu, w jaki działa dla mnie (jak dotąd).

  1. DODAJ pusty wiersz pod nagłówkiem Multi-row (s) (jeśli twój nagłówek zawiera 5 wierszy informacji i / lub nieparzystych rozmiarów komórek, wówczas NOWY pusty wiersz będzie Row6).

  2. Kliknij wiersz 6 (po lewej stronie / faktycznie kliknij „6” (wiersz Excela), aby zaznaczyć cały wiersz / do nieskończoności). Pamiętaj, aby NIE klikać żadnej innej KOMÓRKI, dopóki nie ukończysz # 3 i # 4 poniżej, albo nie usuniesz zaznaczenia wiersza. Chcesz zachować to „Wybrane”.

  3. Przejdź do zakładki WIDOK> Zatrzymaj panele> Odblokuj (zrób to najpierw, aby je wyczyścić)> Zatrzymaj. Spowoduje to zamrożenie nagłówka 5 wierszy, a także pustego wiersza (wiersz 6).

  4. Przytrzymaj klawisz „ALT”, a następnie naciśnij następujące klawisze: D, F, F (jest to skrót do włączania i wyłączania / wyłączania / usuwania wszystkich filtrów na arkuszu.

  5. Od tego momentu, za każdym razem, gdy wrócisz do korzystania z tego arkusza i potrzebujesz tych filtrów (jeśli wcześniej je wyłączałeś z jakiegokolwiek powodu), a następnie> Wybierz pusty wiersz (jak wyjaśniono w punkcie 2); > Włącz wszystkie filtry (jak wyjaśniono w punkcie 4).

Przykro mi, że jestem tak pracowity, ale po kilku czynnościach prawdopodobnie polubisz go (jeśli często korzystasz z filtrów).


0

Krok 1 Podświetl dolny wiersz nagłówka. a następnie możesz wybrać tylko komórki z rzędu lub cały wiersz.

Krok 2, kliknij „Sortuj i filtruj” na karcie Narzędzia główne, a następnie wybierz „Filtruj”. Excel dodaje strzałki filtrów do wszystkich nazw kolumn.

Krok 3, a następnie kliknij strzałkę, a następnie wybierz opcję sortowania, aby posortować całą tabelę według tej kolumny.

Krok 4 na koniec kliknij „Sortuj i filtruj” i ponownie wybierz „Filtruj”, jeśli chcesz pozbyć się strzałek, ale zachowaj obszar sortowania zdefiniowany przez filtr. teraz możesz sortować normalnie, Excel ignoruje dodatkowe wiersze nagłówka


-1

Innym sposobem osiągnięcia tego w niektórych przypadkach jest wprowadzenie wartości w drugiej kolumnie, która spowoduje, że filtr ją uwzględni, a następnie dopasowanie tekstu tej komórki do koloru tła komórki. Nie tak ładnie, ponieważ nagłówek (wiersz 1) nie będzie wyśrodkowany poziomo w komórce, ale zadziała ...


-1

Miałem ten sam problem i znalazłem rozwiązanie, które działa dla mnie. Dla każdego wiersza w nagłówku, którego nie chcesz widzieć, litery te są białe (lub kolor tła). Podczas sortowania nie widać wszystkich tych samych nagłówków w wierszach. Szkoda, gdy chcesz coś zmienić, ale w takim przypadku możesz również uczynić je jasnoszarymi.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.