En un rango con filtro, quiero tener una columna de números de fila quecambiar según el filtro, de modo que las filas siempre cuenten consecutivamente desde 1. Por ejemplo, el siguiente es un rango con filtro:
Number Name Gender
1 Alice F
2 Jason M
3 Ka F
4 Fiona F
5 Albert M
Ahora supongamos que aplicamos un filtro para mostrar filas donde Género es M:
Number Name Gender
2 Jason M
5 Albert M
Lo anterior es lo que normalmente muestra Excel, pero quiero que el Número cuente desde 1 consecutivamente así:
Number Name Gender
1 Jason M
2 Albert M
Por lo tanto, las filas deben renumerarse según el filtro. Intenté algo como =MAX(...)+1
o usando la SUBTOTAL()
función, pero aún no lo he logrado. ¿Es posible escribir una fórmula para que la columna Número realice esta tarea? ¿Cómo?
Respuesta1
Utilice esta fórmula:
=AGGREGATE(3,5,$A$1:A1)
dentro de la celda A2
. (Esto supone que tiene un encabezado de columna en la celda A1
).
Parámetros de AGGREGATE()
:
- Function_num = 3, contar todas las celdas que no están en blanco en un rango
- Opciones = 5, ignorar filas ocultas en el rango
- Matriz = $A$1:A1, rango desde la primera fila hasta la fila encima de la celda seleccionada
Salida de muestra:
Como menciona benshepherd, SUBTOTAL()
también se puede utilizar.
Respuesta2
@Máté Juhász acaba de llegar antes que yo. Estaba buscando un enfoque alternativo usando SUBTOTAL
. En A2, poner =SUBTOTAL(103,B$2:B2)
y rellenar.
La SUBTOTAL
función realiza una función numerada en sus argumentos; estas funciones se describen en la Ayuda. 103 corresponde a COUNTA
ignorar filas ocultas. (Usaría un valor de 3 para incluir filas ocultas). COUNTA
cuenta el número de celdas que no están en blanco en un rango. Usamos la B$2:B2
sintaxis para mantener igual la celda superior y expandir el rango a medida que avanzamos en la lista.