KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Venta de marzo: 20 % de descuento

¿Cómo numerar filas automáticamente en Excel cuando la celda adyacente no está vacía?

AutorXiaoyang Fecha de modificación
numera automáticamente filas si la celda adyacente no está vacía

En Excel, usar el controlador de relleno para crear manualmente una serie de números es una forma habitual de generar números de serie o índices en listas. Sin embargo, a menudo surgen situaciones en las que solo desea numerar filas si una celda adyacente específica contiene datos. Por ejemplo, puede querer generar automáticamente números de fila en una lista, pero omitir la numeración cuando las celdas de datos adyacentes estén vacías. Además, es posible que desee que estos números se actualicen al instante al introducir o eliminar datos, manteniendo siempre una secuencia actualizada sin intervención manual.

Numerar filas automáticamente si la celda adyacente no está en blanco mediante fórmula

Numerar filas automáticamente si la celda adyacente no está en blanco mediante código VBA


flecha azul con burbuja derechaNumerar filas automáticamente si la celda adyacente no está en blanco mediante fórmula

Una forma eficaz de lograr una numeración dinámica de filas según los valores de la celda adyacente es utilizar una fórmula de Excel. Con este enfoque, el número de fila aparecerá únicamente cuando la celda adyacente contenga un valor. Al añadir o eliminar datos en dichas celdas, la numeración se actualizará automáticamente para ajustarse. A continuación, se muestra un método práctico que puede utilizar:

1. Seleccione la celda en la que desea que comience la numeración (por ejemplo,)A2 si sus datos empiezan en B2). Introduzca la siguiente fórmula:

=IF(B2<>"",COUNTA($B$2:B2),"")
Consejo: Esta fórmula comprueba si la celda B2no está en blanco. Si hay datos en B2, cuenta todas las celdas no vacías desde B2hasta la fila actual, creando así una secuencia continua para las filas que contienen valores. Si B2está vacía, la fórmula devuelve un valor en blanco, dejando vacía la celda de la secuencia.

2. A continuación, arrastre el controlador de relleno hacia abajo junto a sus datos para aplicar esta fórmula al resto de filas. La numeración se ajustará automáticamente, mostrando números únicamente en las filas que contengan datos en la columna B.

numeración automática si no está en blanco con fórmula

Nota: Este método resulta especialmente útil para listas en las que se puedan insertar, eliminar o modificar nuevos datos en cualquier momento, ya que la secuencia permanecerá siempre exacta sin necesidad de renumerar ni recalcular manualmente. No obstante, tenga en cuenta que, si existen celdas en blanco como parte intencionada de sus datos (por ejemplo, huecos deliberados), dichas filas permanecerán sin numerar.

Si experimenta problemas en los que los números no se actualizan como esperaba, asegúrese de que la fórmula se haya copiado en todas las filas pertinentes y de que no haya celdas combinadas ni validaciones de datos que interfieran con su rango. Recuerde que las fórmulas dependen de referencias precisas y pueden interrumpirse por cambios estructurales en la hoja de cálculo.


flecha azul con burbuja derechaNumerar filas automáticamente si la celda adyacente no está en blanco mediante código VBA

Para usuarios más avanzados, o en casos en los que prefiera no aplicar fórmulas en toda su hoja de cálculo —o necesite que la numeración se actualice incluso al pegar datos, eliminar bloques o realizar cambios frecuentes—, una macro VBA ofrece una solución muy útil. Con VBA, puede actualizar automáticamente el número de filas en una columna cada vez que se edite la celda adyacente, sin recurrir a fórmulas. Esta opción es ideal para formularios de entrada de datos, registros de importación o listas de tareas con diseños sujetos a cambios constantes.

1. Pulse Alt + F11 para abrir la ventana del editor de Visual Basic para Aplicaciones. En el Explorador de proyectos, localice su libro y haga doble clic en la hoja correspondiente (por ejemplo, «Hoja1») bajo «Microsoft Excel Objects».

2. En la ventana de código que aparece, pegue el siguiente código. Este ejemplo supone que desea numerar las filas en la columna A según si la columna B no está vacía; puede ajustar las referencias a su rango específico si es necesario:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim chk As Range
    Set chk = Intersect(Target, Me.Columns("B"))
    If chk Is Nothing Then Exit Sub
    
    Application.EnableEvents = False
    Call RenumberNonBlank(Me, "B", "A", 2)
    Application.EnableEvents = True
End Sub
Sub RenumberNonBlank(ws As Worksheet, _
                    keyCol As String, _
                    numCol As String, _
                    firstDataRow As Long)
    Dim lastRow As Long
    Dim r As Long
    Dim seq As Long
    lastRow = ws.Cells(ws.Rows.Count, keyCol).End(xlUp).Row
    seq = 1
    For r = firstDataRow To lastRow
        With ws
            If Trim(.Cells(r, keyCol).Value) <> "" Then
                .Cells(r, numCol).Value = seq
                seq = seq + 1
            Else
                .Cells(r, numCol).ClearContents
            End If
        End With
    Next r
End Sub

3. Guarde y cierre el editor de VBA. A partir de ahora, cada vez que añada, edite o elimine contenido en la columna B, la columna A se renumerará automáticamente, reflejando de inmediato la presencia (o ausencia) de datos. La numeración se ajustará dinámicamente, desplazándose hacia arriba o hacia abajo según añada o elimine entradas en la columna B.

Notas y precauciones:Esta macro debe colocarse específicamente en la ventana de código de la hoja de cálculo deseada (no en un módulo ni en)ThisWorkbook) para que responda a las ediciones de celdas. Asegúrese también de que las macros estén habilitadas en la configuración de Excel, ya que de lo contrario el código no funcionará. Si su «Rango de datos» se encuentra en columnas distintas de A y B, actualice las referencias en Set chk = Intersect(Target, Me.Columns("B")) y Call RenumberNonBlank(Me, "B", "A", 2) en consecuencia.

Resolución de problemas: Si la numeración no se actualiza, asegúrese de que está editando la hoja de cálculo correcta y de que el código se ha colocado en la ventana de código correspondiente a dicha hoja. Además, verifique que ha guardado el libro como archivo habilitado para macros (.xlsm). En caso de errores inesperados, compruebe que no ha modificado la estructura de su hoja de cálculo, como celdas combinadas o los datos en las filas de encabezado.


Las mejores herramientas de productividad para Office

🤖KUTOOLS AI Asistente: Revolucione Análisis de datos basándose en:Ejecución Inteligente   |  Generar código|  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos|  Invocar Funciones mejoradas
Funciones populares:Buscar, resaltar o Marcar duplicados   |  Eliminar filas en blanco   |  Combinar Columnas o celdas sin perder datos   |   Redondeo sin usar fórmulas...
Super BUSCARV:Búsqueda vertical (VLookup) con múltiples criterios  |  Búsqueda vertical (VLookup) con múltiples valores  |   Búsqueda vertical (VLookup) entre varias hojas   |   Coincidencia difusa....
Lista desplegable avanzada:Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple....
Gestor de columnas:Añadir un número específico de columnas|Mover columnas|Alternar el estado de visibilidad de columnas ocultas|Comparar rangos y columnas...
Funciones destacadas:Cuadrícula de enfoque   |  Vista de diseño   |Barra de fórmulas mejorada   | Gestor de libros y hojas   |  Biblioteca de recursos(Texto automático)|  Selector de Fecha   |  Combinar Hojas de Cálculo  |  Cifrar/Descifrar celdas   | Enviar correos electrónicos desde una lista   |  Super Filtro   |   Filtro especial(Filtrar celdas con fuente en negrita/cursiva/tachado...) ...
Principales conjuntos de herramientas 15:12 Herramientasde texto(Agregar texto,Eliminar caracteres específicos, ...)|   50+Tiposde gráfico(Diagrama de Gantt, ...)|   40+ Fórmulas prácticas(Calcular la edad basada en la fecha de nacimiento, ...)|   19 Herramientasde inserción(Insertar Código QR,Insertar imagen desde ruta, ...)|   12 Herramientasde conversión(Convertir a palabras,Conversión de moneda, ...)|   7 Herramientasde combinación y división(Combinar filas avanzado,Dividir celdas, ...)|...y muchas más
Use Kutools en su idioma preferido: compatible con inglés, español, alemán, francés, chino y 40+ más idiomas.¡

Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...


Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
  • ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!

Todos los complementos de Kutools en un solo instalador.

Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.

ExcelWordOutlookTabsPowerPoint
  • Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
  • Un instalador, una licencia— configuración en minutos (compatible con MSI)
  • Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
  • Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
  • La mejor relación calidad-precio— ahorre frente a la compra individual de complementos