Як отримати багаторядкові заголовки сортування / фільтрування в excel


17

У мене є електронна таблиця, яка використовує 2 рядки для інформації заголовка. Фільтрування шляхом вибору стовпця неявно передбачає лише 1 ряд інформації заголовка. Сортування має прапорець у рядку заголовка, але це лише перемикання, що розглядають перший рядок як заголовок.

Чи є спосіб змусити Excel розглядати перші два ряди як заголовки?

Відповіді:


18

Ні. Опустіть перший рядок із діапазону, коли ви автоматично фільтруєте. Таким чином кнопки автоматичного фільтра відображаються лише в нижньому рядку заголовка, і дані фільтруються. Я очікую, що саме зараз ваш другий рядок заголовка затягується у ваші "дані".

Ви не можете вибрати одну клітинку і мати це чудово. Ви повинні вибрати діапазон комірок, які ви хочете включити у програму excel.


Це є. Я не усвідомлював, що можу вибрати конкретну клітинку для початку фільтрації, на відміну від вибору стовпця.
Ден вигадується Firelight

7

Простий спосіб виконати функцію сортування за допомогою декількох рядків заголовка - вставити порожній рядок безпосередньо над рядком, за яким ви хочете сортувати (в ідеалі - це найнижча частина у вашому заголовку. Якщо ні, зробіть це так.) . Потім натисніть на номер "рядок", виділяючи порожній рядок. Клацніть правою кнопкою миші та виберіть "Сховати". Новий порожній рядок зникне, залишивши заголовок так, як ви хотіли, щоб він виглядав, а Excel інтерпретуватиме ваш рядок категорії як заголовок.


2

Якщо ви вибрали цілий рядок (вибравши номер рядка зліва від рядка), а потім увімкніть свій фільтр (Дані> Фільтр), він дасть вам фільтри для всього, що знаходиться нижче вибраного рядка, і проігнорує все над ним.


Це правильна відповідь і найпростіша. Це працює в чудовому 2016 році, оскільки це питання набагато старіше.
Шон

Дякую! Чому всі інші тут роблять це так складно?
користувач291695

@ user291695: Я думаю, що з дати роботи на ОП це можливо, як це було зроблено для старішої версії MS Office, як і для старих відповідей, а новіші відповіді просто не мають сенсу. Не знаю точно.
Fr0zenFyr

1

Щоб фільтрувати список із 2-х рядкових заголовків, де другий рядок містить заголовки стовпців, ось що я зробив.

  • Виріжте перший ряд
  • Вимкніть фільтрування
  • Знову ввімкніть фільтрування, щоб другий ряд був відфільтрований. Це повідомляє Excel, який є рядок із заголовками стовпців.
  • Перший рядок вставте знову над рядком із фільтрами та заголовками стовпців
  • Перевірте, чи працює фільтр зараз із заголовками стовпців у другому ряду.

1

Гаразд, наступні роботи в Excel 2010 навіть після збереження файлу назад як Excel 2007 та повторного відкриття (так, мабуть, працює і в Excel 2007 ...)

Припускаючи заголовок 3 рядка. Встановіть діапазон фільтрів електронних таблиць на «Почати з осередку» $ 4 $ і переконайтесь, що він охоплює повний обсяг даних, які ви хочете сортувати. Збережіть файл.

Відтепер будь-який сорт буде розглядати рядки від 1 до 3 як заголовки, а отже, сортувати з рядка 4 далі. - ПОКЛЮЧНО ви змінюєте або скасовуєте діапазон фільтра ....


Відповідь з колючок спрацювала на мене. Коли ви додаєте фільтр, excel передбачає, що кожен рядок над ним є заголовком. У моєму випадку у мене є заголовок у 2 ряди. Я вибрав рядок 2 і включив фільтр. Тоді я вибрав спеціальне сортування та встановив прапорець для заголовка. Коли сортування відбулося, обидва рядки 1 і рядки 2 залишалися як заголовки.

Цікаво, що коли я це роблю в сортуваннях Excel 1911 зі спадним фільтром працює, але Custom Sort не виконує: рядок 2 залишився поміщеним, а рядок 1 відсортовано разом із усім іншим. Отже, "найнижче" значення з моїх фактичних даних тепер знаходиться в рядку 1, а початковий рядок 1 застряг у моєму діапазоні даних.
патексан

1

Я знаю, що я перебуваю на SuperUser, а не на StackOverflow, але рішення цієї проблеми можна знайти у використанні коду VBA в Excel 2016.

У мене є схожа (більш складна) проблема.

Я хочу додати кілька фільтрів до явних стовпців, але не для рядка 1 лише для рядка 2, як ви бачите на захопленні наступного екрана.

введіть тут опис зображення

Я спробував використовувати графічний інтерфейс Excel, але це здається неможливим, тому я написав наступний код:

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

Клітини А1 і А2 не занурені.

B. Додайте Автофільтр у всі комірки ряду 2

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

Автофільтр генерується для комірок у всіх рядках, крім рядка 1.

C. Видаліть або прихойте FILTER Combobox для деяких стовпців

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

DropBox стовпця "C" приховано.

D. Об’єднайте незанурені клітини, щоб відновити початковий стан

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

Клітини А1 і А2 знову зливаються.


0

Excel 2007 може інтелектуально визначити, якщо у вас є багаторядкові заголовки. Я зробив простий експеримент прямо зараз, перш ніж писати це.

Перш ніж робити перший сортування, розташуйте курсор прямо під заголовком. Це воно! Сортування тонке, фільтрування - прекрасне. Excel проігнорував 1-й ряд моїх заголовків. Він просто обробляє 2-й ряд як реальний заголовок.


3
Ні, це не працює. Це правда, що Excel 07 може автоматично виявляти багаторядкові заголовки в деяких випадках, але це базується на вмісті комірки, а не на тій комірці, яку ви натискаєте. Наприклад, якщо перші два рядки є текстовими, а все нижче числовим, то Excel вважає, що перші 2 рядки є обома заголовками.
Джош

0

Виділіть комірки, які потрібно сортувати (усі, крім заголовків), а потім виберіть фільтр.


0

Я використовую Excel 2010. Щоб зберегти рядки заголовка (наприклад, перші 4 ряди), виділіть рядок 5, а потім увімкніть фільтри. Рядки 1 - 4 виключаються з фільтра.


0

У мене було те саме питання, тож внесок кожного привів мене до того, як працює для мене (поки що).

  1. ДОДАТИ порожній рядок під заголовком кількох рядків (якщо ваш заголовок становить 5 рядків інформації та / або непарних розмірів комірок, то НОВИЙ порожній рядок буде рядком 6).

  2. Клацніть на Row6 (вліво / вліво натисніть кнопку "6" (Excel Row #), щоб вибрати весь рядок / до нескінченності). Будьте впевнені, що НЕ клацніть будь-який інший CELL, поки ви не заповніть №3 та №4 нижче, або ви не скасуєте цей рядок. Ви хочете зберегти його "Вибраним".

  3. Перейдіть на вкладку VIEW> Freezenes Panes> Unfreeze (зробіть це спочатку, щоб очистити)> Freeze. Це заморозить ваш заголовок 5 рядків, а також порожній рядок (рядок 6).

  4. Утримуючи кнопку "ALT", натисніть наступні клавіші: D, F, F (це ярлик для поверненняON & turnOff / очищення всіх фільтрів на аркуші.

  5. З цього моменту, щоразу, коли ви повертаєтесь до цього аркуша, і вам потрібні ці фільтри (якщо раніше ви вимкнули їх з будь-якої причини), то> Виберіть порожній рядок (як це пояснено в # 2); > Увімкніть всі свої фільтри (як пояснено в №4).

Вибачте, настільки багатослівний, але після того, як ви зробите це кілька разів, це, швидше за все, сподобається (якщо ви багато використовуєте Фільтри).


0

Крок 1 Виділіть нижній рядок заголовка. а потім Ви можете вибрати лише клітинки підряд або вибрати весь ряд.

Крок 2 наступним клацанням натисніть кнопку "Сортувати та фільтрувати" на вкладці "Головна", тоді ви можете вибрати "Фільтр". Excel додає стрілки фільтру до всіх назв стовпців.

Крок 3, потім клацніть стрілку, а потім виберіть варіант сортування, щоб сортувати всю таблицю за цим стовпцем.

Крок 4 нарешті натисніть на "Сортувати та фільтрувати" та виберіть "Фільтр" ще раз, якщо ви хочете позбутися від стрілок, але дотримуйтесь області сортування, визначеної фільтром. тепер ви можете сортувати нормально, Excel ігнорує додаткові рядки заголовка


-1

Інший спосіб досягти в деяких випадках - це ввести значення у другий стовпець, який призведе до включення фільтра, а потім зробить текст цієї комірки відповідним кольором фону клітинки. Мало того, що заголовок (рядок 1) не буде горизонтально по центру в комірці, але він буде працювати ...


-1

У мене була та сама проблема, і я знайшов рішення, яке працює для мене. Для кожного рядка в заголовку, який ви не хочете бачити, ви робите букви білими (або фоновим кольором). Коли ви сортуєте, ви не бачите однакових заголовків у рядках. До поганого, коли ви хочете щось змінити, але в такому випадку ви також можете зробити їх світло-сірими.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.