1

У меня есть электронная таблица, которая использует 2 строки для информации заголовка, а в некоторых столбцах 2 строки объединены в одну ячейку. Я несколько столбцов слились воедино в первом ряду, но второй столбец внизу без столбцов объединены вместе. Неявная фильтрация предполагает только 1 строку информации заголовка. У сортировки есть флажок строки заголовка, но это только переключает обработку первой строки как заголовка.

Есть ли способ заставить Excel обрабатывать первые две строки как заголовки?

4 ответа4

1

Попробуй это:

  1. Удалите заголовки, которые объединены.
  2. Выберите данные вручную, начиная со второго ряда.
  3. Примените фильтр.
  4. Повторно объедините заголовки.

Выпадающие фильтры должны оставаться в строке 2.

0

Ну лучше поздно чем никогда

Определите локальное (рабочий лист) имя "База данных" от последней строки заголовка до последней строки таблицы. То есть:

Формулы »Диспетчер имен» Новый »Имя: База данных, Область: {имя листа}, Относится к: {выбрать всю таблицу и вручную изменить строку первой ячейки}

0

Необходимо убедиться, что значение в расширенном диапазоне полей фильтра настроено на включение строк под строками заголовка.

Вы можете установить это значение вручную или использовать макрос, чтобы сделать это за вас.

Например, в моей таблице у меня есть строки 1-3 в виде многострочных заголовков. Я постоянно добавляю строки данных ниже. Следующий макрос устанавливает диапазон полей фильтра для включения строк 4 - последней заполненной строки в электронной таблице. Это гарантирует, что любая сортировка будет обрабатывать строку 3 как заголовок (при условии, что вы отметите флажок «мои данные включают заголовки»)

(Я включаю это в конце более сложного макроса, чтобы гарантировать, что свойство Field Range всегда актуально после импорта данных - проще, чем не забывать каждый раз переустанавливать его вручную)

Sub selector()

Sheets("AESummary").Select
Sheets("AESummary").Activate

' find last row containing data in column A (column A will always be populated in this dataset)

Set WS = Worksheets("AESummary")
With WS
    Set LastCellC = .Cells(.Rows.Count, "A").End(xlUp)
        LastCellRowNumber = Application.WorksheetFunction.Max(LastCellC.Row) + 1
   End With

' set the filter Field Range value to include Row 4 to the last populated row in the worksheet

        Rows("4:" & LastCellRowNumber).AdvancedFilter Action:=xlFilterInPlace, Unique:=False


End Sub
0

Грустно говорить, что XLS 2016 все еще не справляется с этим OOB. есть еще один обходной путь, который также должен работать с предыдущими версиями:

отделите последнюю строку заголовка от других пустой строкой и скройте эту. тогда у XLS нет проблем с распознаванием этой строки в качестве заголовка.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .