Cómo obtener encabezados de clasificación / filtrado de varias filas en Excel


17

Tengo una hoja de cálculo que usa 2 filas para la información del encabezado. Filtrar seleccionando una columna supone implícitamente solo 1 fila de información de encabezado. La ordenación tiene una casilla de verificación de fila de encabezado, pero solo alterna el tratamiento de la primera fila como un encabezado.

¿Hay alguna manera de hacer que Excel trate las dos primeras filas como encabezados?

Respuestas:


18

No. Omita la primera fila de su rango cuando realice el filtro automático. De esta forma, los botones de filtro automático solo aparecen en la fila inferior del encabezado y los datos se filtran. Espero que en este momento su segunda fila de encabezado esté siendo arrastrada a sus 'datos'.

No puede seleccionar una sola celda y hacer que Excel lo resuelva. Debe seleccionar el rango de celdas que desea que Excel incluya.


Es. No me di cuenta de que podía seleccionar una celda específica para iniciar el filtrado, en lugar de hacer una selección de columna.
Dan Neely

7

Una manera fácil de realizar la función de clasificación utilizando múltiples filas de encabezado es insertar una fila en blanco justo encima de la fila por la que desea ordenar (idealmente, está más abajo en su encabezado. Si no, hágalo así) . Luego haga clic en el número de 'fila' que resalta la fila vacía. Haga clic con el botón derecho en esa fila y seleccione "Ocultar". La nueva fila vacía se desvanecerá dejando su encabezado de la manera que desea que se vea y Excel interpretará su fila de categoría como el encabezado.


2

Si selecciona una fila completa (seleccionando el número de fila a la izquierda de la fila) y luego habilita su filtro (Datos> Filtro), le dará filtros para todo debajo de la fila seleccionada e ignorará todo lo que esté arriba.


Esta es la respuesta correcta y la más fácil. Esto funciona en Excel 2016 ya que esta es una pregunta mucho más antigua.
Shawn

¡Gracias! ¿Por qué todos los demás aquí lo hacen tan complicado?
user291695

@ user291695: Supongo desde la fecha en OP que probablemente fue así para una versión anterior de MS Office como en respuestas anteriores y las respuestas más nuevas simplemente no tienen sentido. Sin embargo, no estoy seguro.
Fr0zenFyr

1

Para filtrar una lista con 2 filas de encabezado, donde la segunda fila contiene los encabezados de columna, esto es lo que hice.

  • Cortar la primera fila
  • Desactiva el filtrado
  • Active el filtrado nuevamente para que se filtre la segunda fila. Esto le dice a Excel cuál es la fila con los encabezados de columna.
  • Pegue la primera fila nuevamente sobre la fila con los filtros y encabezados de columna
  • Verifique si el filtro ahora funciona, con los encabezados de columna en la segunda fila.

1

De acuerdo, lo siguiente funciona en Excel 2010, incluso después de guardar el archivo como Excel 2007 y volver a abrirlo (por lo que presumiblemente también funciona en Excel 2007 ...)

Asumiendo un encabezado de 3 filas. Establezca el rango de filtro de la hoja de cálculo en Comenzar en la celda $ A $ 4 y asegúrese de que cubra la extensión completa de los datos que desea ordenar. GUARDA EL ARCHIVO.

De ahora en adelante, cualquier clasificación tratará las filas 1 a 3 como encabezados y, por lo tanto, solo se ordenará desde la fila 4 en adelante. - A MENOS QUE cambie o cancele el rango del filtro ...


La respuesta de la escritura funcionó para mí. Cuando agrega un filtro, Excel asume que cada fila de arriba es un encabezado. En mi caso, tengo un encabezado de 2 filas. Seleccioné la fila 2 y activé el filtro. Luego seleccioné la clasificación personalizada y marqué la casilla de encabezado. Cuando ocurrió el ordenamiento, tanto la fila 1 como la fila 2 permanecieron como encabezado.

Interesante, cuando lo hago en Excel 1911, la ordenación con el menú desplegable del filtro funciona, pero la Ordenación personalizada no funciona: la fila 2 se quedó, pero la fila 1 se ordenó junto con todo lo demás. Entonces, el valor "más bajo" de mis datos reales ahora está en la fila 1, y la fila original 1 está atascada dentro de mi rango de datos.
pateksan hace

1

Yo sé que estoy en superusuario y no en StackOverflow, pero la solución a este problema puede ser encontrado en el uso de código VBA en Excel 2016.

Tengo un problema similar (más complejo).

Quiero añadir algunos filtros en columnas explícitas, pero no en la fila 1 sólo en la fila 2 como se puede ver en la siguiente captura de pantalla.

ingrese la descripción de la imagen aquí

Intenté usar Excel GUI pero parece imposible, así que escribí el siguiente código:

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

La lógica de este código es

A. Desunir celdas de encabezado fusionadas verticalmente para permitir agregar filtro en la fila 2

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

Las células A1 y A2 son sin combinar.

B. Añadir Autofiltro en todas las células de la fila 2

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

El Autofiltro se genera para las celdas en todas las filas excepto la fila 1.

C. Quitar o Combobox FILTROS para ocultar algunas columnas

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

DropBox de la columna "C" está oculta.

D. Combinar celdas sin combinar para restaurar el estado original

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

Las células A1 y A2 se fusionan de nuevo.


0

Excel 2007 puede detectar de manera inteligente si tiene encabezados de varias filas. Hice un experimento simple justo ahora antes de escribir esto.

Antes de realizar su primera ordenación, coloque el cursor justo debajo del encabezado. ¡Eso es! La clasificación está bien, el filtrado está bien. Excel ignoró la primera fila de mis encabezados. Simplemente procesa la segunda fila como el encabezado real.


3
No, esto no funciona. Es cierto que Excel 07 puede detectar automáticamente encabezados de varias filas en algunos casos, pero se basa en el contenido de la celda, no en la celda en la que hace clic. Por ejemplo, si las dos primeras filas son texto y todo lo que sigue es numérico, Excel asumirá que las primeras 2 filas son encabezados.
Josh

0

Resalte las celdas que deben ordenarse (todas excepto las cabeceras) y luego seleccione filtro.


0

Estoy usando Excel 2010. Para retener las filas de encabezado (por ejemplo, las primeras 4 filas), resalte la fila 5 y luego active los filtros. Las filas 1 a 4 se excluyen del filtro.


0

Tuve el mismo problema, por lo que la contribución de todos me llevó a la forma en que funciona para mí (hasta ahora).

  1. AGREGUE una fila en blanco debajo del encabezado de varias filas (si su encabezado tiene 5 filas de información y / o tamaños de celda impares, entonces su NUEVA fila en blanco será Row6).

  2. Haga clic en Row6 (en el extremo izquierdo / haga clic en el "6" (Excel Row #) para seleccionar toda la fila / hasta el infinito). ASEGÚRESE de NO hacer clic en ninguna otra CELDA, hasta que haya completado # 3 y # 4 a continuación, o 'Deseleccionará' la fila. Desea mantenerlo 'Seleccionado'.

  3. Vaya a la pestaña VER> Congelar paneles> Descongelar (haga esto primero para borrarlo)> Congelar. Esto congelará su encabezado de 5 filas y también la fila en blanco (row6).

  4. Mantenga presionada la tecla "ALT", luego presione las siguientes teclas: D, F, F (este es el acceso directo para activar y desactivar / borrar todos los filtros en la hoja.

  5. A partir de este momento, cada vez que vuelva a usar esta hoja y necesite esos Filtros activados (si previamente los desactivó por algún motivo), luego> Seleccione su Fila en blanco (como se explica en el # 2); > Active todos sus filtros (como se explica en el n. ° 4).

Lamento ser tan prolijo, pero después de hacerlo un par de veces, probablemente le encantará (si usa mucho los filtros).


0

Paso 1 Resalte la fila inferior del encabezado. y luego puede seleccionar solo las celdas de una fila o seleccionar toda la fila.

Paso 2 a continuación, haga clic en "Ordenar y filtrar" en la pestaña Inicio, luego puede seleccionar "Filtro". Excel agrega flechas de filtro a todos los nombres de columna.

Paso 3, luego haga clic en una flecha y luego seleccione una opción de clasificación para ordenar toda la tabla por esa columna.

Paso 4 finalmente haga clic en "Ordenar y filtrar" y seleccione "Filtro" nuevamente si desea deshacerse de las flechas, pero mantenga el área de clasificación definida por el filtro. ahora puede ordenar normalmente, Excel ignora las filas de encabezado adicionales


-1

Otra forma de lograr en algunos casos es ingresar un valor en la segunda columna que hará que el filtro lo incluya, luego hacer que el texto de esa celda coincida con el color de fondo de la celda. No es tan bonito ya que el encabezado (fila 1) no estará centrado horizontalmente en la celda, pero funcionará ...


-1

Tuve el mismo problema y encontré una solución que funciona para mí. Por cada fila en el encabezado que no desea ver, hace que las letras sean blancas (o el color de fondo). Cuando ordena no ve todos los mismos encabezados en las filas. Muy mal cuando quieres cambiar algo, pero en ese caso también puedes hacerlos de color gris claro.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.