¿Hacer una lista numerada con función de actualización?

¿Hacer una lista numerada con función de actualización?

¿Es posible hacer algo como esto en Excel? Como una lista de filas activas con un número ordinal.

Hay una columna B. Debe mostrar un número ordinal que represente la fila activa en la hoja de trabajo. Mira la imagen.

Si la fila está inactiva, la columna B no tendrá un número ordinal. Ahora, cuando yoeliminar algún número ordinalde la columna B, el orden ordinal debe actualizarse en consecuencia. Digamos que elimino el texto de la celda B7, ¿cómo puedo hacer que la columna B actualice sus valores? Mira la imagen.

¿Es posible hacerlo de forma sencilla, sin tener que escribir mucho código script?

PD. No soy un experto en Excel, por lo que sería fantástico si hubiera una solución sencilla a través de las fórmulas integradas de Excel. :) PPD. esta función es similar a la lista numerada de Word. Si elimino algún elemento de la lista, los elementos posteriores actualizarán sus valores en consecuencia.

EDITAR

La columna A enumera todas las tareas del 1 al X. La columna B enumera las tareas activas. Están ordenados por su estado (activo inactivo). Cuando termino una determinada tarea (por ejemplo, la séptima tarea), simplemente elimino su valor en la columna B y luego corrijo manualmente todos los números posteriores. De esta manera sé cuántas tareas activas tengo y cuáles están activas.

¡Por favor, indique si aún no está claro y qué parte necesita más explicación!

PD. Las tareas se describen en las columnas C, D y E, pero esa parte no era relevante aquí.

Respuesta1

Creo que sería más fácil de administrar si tuvieras una columna adicional donde simplemente pudieras marcar si una fila está activa, digamos con una "x". Luego, podría calcular automáticamente el rango ordinal de cada fila activa en la siguiente columna.

Por ejemplo, si hace que la columna B contenga "x" para indicar que la fila está activa, en la columna C puede ingresar lo siguiente (en C2):

=IF(B2="x",MAX(C$1:C1)+1,"")

Luego complete esto en la columna.

la captura de pantalla

Respuesta2

Basándome en las sugerencias, encontré la forma correcta y sencilla de hacerlo. Solo usando maxla función.

La fórmula es=MAX($B$X:BY)+1

Por ejemplo, en la celda B2 pongo la fórmula =MAX($B$1:B1)+1y luego la copio en todas las demás celdas de la columna B y listo, tengo lo que necesito. Puedo eliminar cualquier valor de celda y todos los siguientes se actualizarán inmediatamente.

¡Gracias chicos!

Respuesta3

Sin saber cómo llega la entrada allí o para qué se utiliza, puede intentar lo siguiente:

Si ingresó '1' en la celda B1 y copió la siguiente fórmula en la celda B2:

=IF(B1 = "", OFFSET(B1,-1,0)+1,B1+1)

le permitirá mantener una lista y eliminar un solo rango. Si quisiera poder eliminar 2 celdas, tendría que agregar otro bloque if para verificar cada celda anterior.

Nota: Offsetle permite eliminar el contenido de una celda y 'saltar' hacia arriba en la lista si la celda anterior está vacía

El uso de una macro en bucle daría una mayor escalabilidad.

Sería de gran ayuda tener más detalles sobre lo que está tratando de lograr.

información relacionada