Saltar al contenido principal

¿Cómo insertar números o filas para los números secuenciales faltantes en Excel?

Autor: Xiaoyang Última modificación: 2020-05-27

Supongamos que tiene una lista de números secuenciales en una hoja de trabajo, pero hay algunos números faltantes entre la secuencia, y ahora necesita insertar los números faltantes o filas en blanco para asegurarse de que la secuencia esté completa (como se muestra en las siguientes capturas de pantalla). ¿Cómo podría resolver rápidamente este problema en Excel?

doc-insertar-número-faltante1 -2 doc-insertar-número-faltante2

Inserte los números que faltan para la secuencia con la función Ordenar y eliminar duplicados

Inserte los números que faltan para la secuencia con el código VBA

Inserte filas en blanco para la secuencia faltante con código VBA

Inserte números faltantes o filas en blanco para la secuencia con Kutools para Excel


flecha azul burbuja derecha Inserte los números que faltan para la secuencia con la función Ordenar y eliminar duplicados

Puede ser que pueda encontrar los números que faltan uno por uno y luego insertarlos, pero es difícil para usted identificar la ubicación de los que faltan si hay cientos de números secuenciales. En Excel, puedo usar la función Ordenar y eliminar duplicados para hacer frente a esta tarea.

1. Después del final de la lista de secuencias, complete otros números de secuencia desde 2005023001 hasta 2005023011. Vea la captura de pantalla:

doc-insertar-número-faltante3

2. Luego seleccione el rango de los dos números de secuencia y haga clic en Datos > Ordenar de la A a la Z, ver captura de pantalla:

doc-insertar-número-faltante4

3. Y los datos seleccionados se han ordenado como la siguiente captura de pantalla:

doc-insertar-número-faltante5

4. Entonces necesitas eliminar los duplicados haciendo clic Datos > Eliminar duplicados, y en el salido Eliminar duplicados cuadro de diálogo, verifique Columna nombre que desea eliminar los duplicados, vea capturas de pantalla:

doc-insertar-número-faltante6 -2 doc-insertar-número-faltante7

5. Luego haga clic OK, los duplicados en Columna A se ha eliminado y se han insertado los números que faltan en la lista de secuencias, vea la captura de pantalla:

doc-insertar-número-faltante8


flecha azul burbuja derecha Inserte los números que faltan para la secuencia con el código VBA

Si cree que hay tantos pasos con los métodos anteriores, aquí también tiene un código VBA que puede ayudarlo a resolver este problema. Haz lo siguiente:

1. Mantenga pulsado el ALT + F11 llaves, y abre el Microsoft Visual Basic para aplicaciones ventana.

2. Hacer clic recuadro > Móduloy pegue el siguiente código en el Módulo ventana.

VBA: inserte los números que faltan para la secuencia

Sub InsertValueBetween()
'Updateby Extendoffice
Dim WorkRng As Range
Dim Rng As Range
Dim outArr As Variant
Dim dic As Variant
Set dic = CreateObject("Scripting.Dictionary")
'On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
num1 = WorkRng.Range("A1").Value
num2 = WorkRng.Range("A" & WorkRng.Rows.Count).Value
interval = num2 - num1
ReDim outArr(1 To interval + 1, 1 To 2)
For Each Rng In WorkRng
    dic(Rng.Value) = Rng.Offset(0, 1).Value
Next
For i = 0 To interval
    outArr(i + 1, 1) = i + num1
    If dic.Exists(i + num1) Then
        outArr(i + 1, 2) = dic(i + num1)
    Else
        outArr(i + 1, 2) = ""
    End If
Next
With WorkRng.Range("A1").Resize(UBound(outArr, 1), UBound(outArr, 2))
    .Value = outArr
    .Select
End With
End Sub

3. Entonces presione F5 para ejecutar este código, y aparecerá un cuadro emergente, seleccione el rango de datos en el que desea insertar los números que faltan (no seleccione el rango del título), vea la captura de pantalla:

doc-insertar-número-faltante9

4. Y luego haz clic OK, los números que faltan se han insertado en la lista de secuencias. Ver capturas de pantalla:

doc-insertar-número-faltante1 -2 doc-insertar-número-faltante2

flecha azul burbuja derecha Inserte filas en blanco para la secuencia faltante con código VBA

A veces, solo necesita ubicar el lugar de los números que faltan e insertar filas en blanco entre los datos, para que pueda ingresar la información que necesite. Por supuesto, el siguiente código VBA también puede ayudarlo a resolver este problema.

1. Mantenga pulsado el botón ALT + F11 llaves, y abre un Microsoft Visual Basic para aplicaciones ventana.

2. Hacer clic recuadro > Móduloy pegue el siguiente código en el Módulo ventana.

VBA: inserte filas en blanco para la secuencia faltante

Sub InsertNullBetween()
'Updateby Extendoffice
Dim WorkRng As Range
Dim Rng As Range
Dim outArr As Variant
Dim dic As Variant
Set dic = CreateObject("Scripting.Dictionary")
'On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
num1 = WorkRng.Range("A1").Value
num2 = WorkRng.Range("A" & WorkRng.Rows.Count).Value
interval = num2 - num1
ReDim outArr(1 To interval + 1, 1 To 2)
For Each Rng In WorkRng
    dic(Rng.Value) = Rng.Offset(0, 1).Value
Next
For i = 0 To interval
    If dic.Exists(i + num1) Then
        outArr(i + 1, 1) = i + num1
        outArr(i + 1, 2) = dic(i + num1)
    Else
        outArr(i + 1, 1) = ""
        outArr(i + 1, 2) = ""
    End If
Next
With WorkRng.Range("A1").Resize(UBound(outArr, 1), UBound(outArr, 2))
    .Value = outArr
    .Select
End With
End Sub

3. Entonces presione F5 para ejecutar este código, y aparecerá un cuadro de aviso, y luego seleccione el rango de datos en el que desea insertar filas en blanco para la secuencia que falta (no seleccione el rango de título), vea la captura de pantalla:

doc-insertar-número-faltante9

4. Y luego haz clic OK, las filas en blanco se han insertado para la lista de secuencia que falta. Ver capturas de pantalla:

doc-insertar-número-faltante1 -2 doc-insertar-número-faltante10

flecha azul burbuja derecha Inserte números faltantes o filas en blanco para la secuencia con Kutools para Excel

Aquí, presentaré una herramienta fácil y práctica: Kutools for Excel, Con su Encontrar el número de secuencia faltante función, puede insertar rápidamente el número de secuencia faltante o filas en blanco entre la secuencia de datos existente.

Kutools for Excel : con más de 300 prácticos complementos de Excel, prueba gratuita y sin límite en 30 días

Si tienes instalado Kutools for Excel, haga lo siguiente:

1. Seleccione la secuencia de datos en la que desea insertar los números que faltan.

2. Hacer clic Kutools > recuadro > Encontrar el número de secuencia faltante, ver captura de pantalla:

3. En la Encontrar el número de secuencia faltante cuadro de diálogo, comprobar Insertando el número de secuencia faltante para insertar los números que faltan o yoInsertar filas en blanco cuando se encuentran números de secuencia faltantes para insertar filas en blanco como necesite. Ver captura de pantalla:

doc-insertar-número-faltante10

4. Y luego haz clic OK y los números de secuencia que faltan o las filas en blanco se han insertado en los datos, ver capturas de pantalla:

doc-insertar-número-faltante10 2 doc-insertar-número-faltante10 2 doc-insertar-número-faltante10

¡Descargue y pruebe Kutools para Excel ahora!


flecha azul burbuja derecha  Demostración: inserte números faltantes o filas en blanco para la secuencia con Kutools para Excel

Kutools for Excel: con más de 300 prácticos complementos de Excel, prueba gratuita y sin límite en 30 días. ¡Descarga y prueba gratis ahora!

Artículo relacionado:

¿Cómo identificar la secuencia de números faltantes en Excel?

Las mejores herramientas de productividad de oficina

🤖 Asistente de IA de Kutools: Revolucionar el análisis de datos basado en: Ejecución inteligente   |  Generar codigo  |  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos  |  Invocar funciones de Kutools...
Características populares: Buscar, resaltar o identificar duplicados   |  Eliminar filas en blanco   |  Combine columnas o celdas sin perder datos   |   Ronda sin fórmula ...
Super búsqueda: Búsqueda virtual de criterios múltiples    Búsqueda V de valores múltiples  |   VLookup en varias hojas   |   Búsqueda difusa ....
Lista desplegable avanzada: Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple ....
Administrador de columnas: Agregar un número específico de columnas  |  Mover columnas  |  Toggle Estado de visibilidad de columnas ocultas  |  Comparar rangos y columnas ...
Características destacadas: Enfoque de cuadrícula   |  Vista de diseño   |   Gran barra de fórmulas    Administrador de hojas y libros de trabajo   |  Biblioteca de Recursos (Texto automático)   |  Selector de fechas   |  Combinar hojas de trabajo   |  Cifrar/descifrar celdas    Enviar correos electrónicos por lista   |  Súper filtro   |   Filtro especial (filtro negrita/cursiva/tachado...) ...
Los 15 mejores conjuntos de herramientas12 Texto Herramientas (Añadir texto, Quitar caracteres, ...)   |   50+ Tabla Tipos (Diagrama de Gantt, ...)   |   40+ Práctico Fórmulas (Calcular la edad según el cumpleaños, ...)   |   19 Inserción Herramientas (Insertar código QR, Insertar imagen desde la ruta, ...)   |   12 Conversión Herramientas (Números a palabras, Conversión de Moneda, ...)   |   7 Fusionar y dividir Herramientas (Filas combinadas avanzadas, Células partidas, ...)   |   ... y más

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

Descripción


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

  • Habilite 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 de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
Comments (12)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I have used the code for "VBA: insert blank rows for missing sequence" as listed above and works great - but i need it to insert rows across the all columns it only adds rows to the first 2 columns of my selection - not my entire table.
This comment was minimized by the moderator on the site
Hello, Melanie,

To solve your problem, maybe the following code can help you: (Note: A indicates the column contains the missing sequence, please change it to your need.)
Sub InsertBlankRowsForMissingSequence()
    Dim i As Long
    On Error Resume Next
    Application.ScreenUpdating = False
    For i = Cells(Rows.Count, "A").End(xlUp).Row To 2 Step -1
        If IsNumeric(Cells(i, "A").Value) And IsNumeric(Cells(i - 1, "A").Value) And Cells(i, "A").Value <> "" And Cells(i - 1, "A").Value <> "" Then
            If Cells(i, "A").Value - Cells(i - 1, "A").Value > 1 Then
                Debug.Print Cells(i, "A").Value - Cells(i - 1, "A").Value - 1
                Rows(i).Resize(Cells(i, "A").Value - Cells(i - 1, "A").Value - 1).Insert
            End If
        End If
    Next i
    Application.ScreenUpdating = True
End Sub

Please have a try, hope it can help you!
This comment was minimized by the moderator on the site
I am trying to use the VBA for sequential numbers. I have several columns next to the numbers of which numbers too. I.e.
1. HL Meter 34
2. HL Watermeter 40
4. HL CO2meter 24

When I use the code it works for the first 3 columns but it gets mixed up if I include the 4th column since it includes numbers too.
How can I change the code to make sure the numbers in column 4 stay the same?
This comment was minimized by the moderator on the site
Thank you amazing
This comment was minimized by the moderator on the site
What if i want to select 6 columns and then check 1st column for dates and if dates are missing add a row(blank cells) for all 6 columns
This comment was minimized by the moderator on the site
I want to use "Inserting missing sequence Number" feature but it's not supporting for digits more than 12 ? there are many sets in which I want to insert the sequence between (it's a alpha-numeric digit) can you help
This comment was minimized by the moderator on the site
Hi, I want to use "Inserting Missing Sequence Number", but it's not supporting if the no. of digits are more than 12 can you help ?
This comment was minimized by the moderator on the site
What if i want to select 6 columns and then check 1st column for dates and if dates are missing add a row(blank cells) for all 6 columns
This comment was minimized by the moderator on the site
Thank you very much. How do i change the script if the increments is only 0.02 and not 1 This is for the script InsertNullBetween()
This comment was minimized by the moderator on the site
this worked and was very easy to complete the task. Thank you.
This comment was minimized by the moderator on the site
Thanks ! Great script ! How i can modify this script if i say we need to process not only ID column + NAME column, but ID column + NAME column + NEW column ? How i can add new columns in this script?
This comment was minimized by the moderator on the site
The following is the modified macro to include an added column - Another important point is that when prompted to select the range, you should only select the first column - these took me a few hours! hope to save others' time

Sub InsertValueBetween()
'Updateby Extendoffice
Dim WorkRng As Range
Dim Rng As Range
Dim outArr As Variant
Dim dic As Variant
Set dic = CreateObject("Scripting.Dictionary")
Dim dic2 As Variant
Set dic2 = CreateObject("Scripting.Dictionary")

'On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
num1 = WorkRng.Range("A1").Value
num2 = WorkRng.Range("A" & WorkRng.Rows.Count).Value
interval = num2 - num1
ReDim outArr(1 To interval + 1, 1 To 3)
For Each Rng In WorkRng
dic(Rng.Value) = Rng.Offset(0, 1).Value
dic2(Rng.Value) = Rng.Offset(0, 2).Value
Next
For i = 0 To interval
outArr(i + 1, 1) = i + num1
If dic.Exists(i + num1) Then
outArr(i + 1, 2) = dic(i + num1)
outArr(i + 1, 3) = dic2(i + num1)
Else
outArr(i + 1, 2) = ""
outArr(i + 1, 3) = ""

End If
Next
With WorkRng.Range("A1").Resize(UBound(outArr, 1), UBound(outArr, 2))
.Value = outArr
.Select
End With
End Sub
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations