我有一个电子表格,它使用 2 行来显示标题信息,并且某些列将 2 行合并为一个单元格。第一行中多个列合并在一起,但下面的第二行没有合并列。隐式过滤假设只有 1 行标题信息。排序有一个标题行复选框,但只能切换将第一行视为标题。
有没有办法让 Excel 将前两行作为标题?
答案1
尝试这个:
- 取消已合并的标题。
- 从第二行向下手动选择您的数据。
- 应用过滤器。
- 重新合并标题。
过滤器下拉菜单应保留在第 2 行。
答案2
您需要确保高级过滤器字段范围中的值设置为包含标题行下方的行。
您可以手动设置该值或使用宏来为您执行此操作。
例如,在我的电子表格中,我将第 1-3 行作为多行标题。我不断在下面添加数据行。以下宏将筛选字段范围设置为包括第 4 行 - 到电子表格上的最后一行。这确保任何排序都会将第 3 行视为标题(前提是您选中“我的数据包括标题”复选框)
(我将其合并到更复杂的宏的末尾,以确保字段范围属性在数据导入后始终是最新的 - 比每次都记住手动重新设置它更容易)
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
答案3
嗯,迟做总比不做好
从最后一个标题行到最后一个表格行定义一个本地(工作表)名称“数据库”。即:
公式 » 名称管理器 » 新建 » 名称:数据库,范围:{工作表名称},引用:{选择所有表并手动更改第一个单元格的行}
答案4
遗憾的是,XLS 2016 仍然无法处理此 OOB。还有另一种解决方法,它也适用于以前的版本:
用空行将最后一个标题行与其他标题行分开,然后隐藏这一行。然后 XLS 就可以毫无困难地将这一行识别为标题。