Przejdź do głównej zawartości

Jak wstawić liczby lub wiersze dla brakujących liczb sekwencyjnych w programie Excel?

Przypuśćmy, że masz listę kolejnych numerów w arkuszu, ale w sekwencji brakuje kilku liczb, a teraz musisz wstawić brakujące liczby lub puste wiersze, aby upewnić się, że sekwencja jest kompletna (pokazane na poniższych zrzutach ekranu). Jak możesz szybko rozwiązać ten problem w programie Excel?

brak-numeru-wstaw-dokumentu1 -2 brak-numeru-wstaw-dokumentu2

Wstaw brakujące liczby do sekwencji za pomocą funkcji Sortuj i usuń duplikaty

Wstaw brakujące liczby do sekwencji z kodem VBA

Wstaw puste wiersze dla brakującej sekwencji z kodem VBA

Wstaw brakujące liczby lub puste wiersze dla sekwencji za pomocą Kutools for Excel


strzałka niebieski prawy bąbelek Wstaw brakujące liczby do sekwencji za pomocą funkcji Sortuj i usuń duplikaty

Być może możesz znaleźć brakujące numery jeden po drugim, a następnie je wstawić, ale trudno jest zidentyfikować lokalizację brakujących numerów, jeśli istnieją setki kolejnych numerów. W programie Excel mogę użyć funkcji Sortuj i usuń duplikaty, aby poradzić sobie z tym zadaniem.

1. Po zakończeniu listy sekwencji wprowadź kolejne numery sekwencji od 2005023001 do 2005023011. Zobacz zrzut ekranu:

brak-numeru-wstaw-dokumentu3

2. Następnie wybierz zakres dwóch numerów sekwencyjnych i kliknij Dane > Sortuj od A do Zzobacz zrzut ekranu:

brak-numeru-wstaw-dokumentu4

3. Wybrane dane zostały posortowane w następujący sposób:

brak-numeru-wstaw-dokumentu5

4. Następnie musisz usunąć duplikaty, klikając Dane > Usuń duplikatyi wyskoczył Usuń duplikaty w oknie dialogowym, sprawdź Kolumna nazwa, którą chcesz usunąć duplikaty, zobacz zrzuty ekranu:

brak-numeru-wstaw-dokumentu6 -2 brak-numeru-wstaw-dokumentu7

5. Następnie kliknij OK, duplikaty w Kolumna A został usunięty, a brakujące numery na liście sekwencji zostały wstawione, patrz zrzut ekranu:

brak-numeru-wstaw-dokumentu8


strzałka niebieski prawy bąbelek Wstaw brakujące liczby do sekwencji z kodem VBA

Jeśli uważasz, że jest tak wiele kroków z powyższymi metodami, tutaj również kod VBA może pomóc w rozwiązaniu tego problemu. Wykonaj następujące czynności:

1. Przytrzymaj ALT + F11 klucze i otwiera plik Microsoft Visual Basic for Applications okno.

2. Kliknij wstawka > Modułi wklej następujący kod w Moduł okno.

VBA: wstaw brakujące liczby do sekwencji

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. Następnie naciśnij F5 Aby uruchomić ten kod, pojawi się okienko zachęty, wybierz zakres danych, w którym chcesz wstawić brakujące liczby (nie wybieraj zakresu tytułów), zobacz zrzut ekranu:

brak-numeru-wstaw-dokumentu9

4. A następnie kliknij OK, brakujące numery zostały wstawione do listy sekwencji. Zobacz zrzuty ekranu:

brak-numeru-wstaw-dokumentu1 -2 brak-numeru-wstaw-dokumentu2

strzałka niebieski prawy bąbelek Wstaw puste wiersze dla brakującej sekwencji z kodem VBA

Czasami wystarczy zlokalizować miejsce brakujących liczb i wstawić puste wiersze między danymi, aby można było wprowadzić potrzebne informacje. Oczywiście poniższy kod VBA może również pomóc w rozwiązaniu tego problemu.

1. Przytrzymaj przycisk ALT + F11 klucze i otwiera plik Microsoft Visual Basic for Applications okno.

2. Kliknij wstawka > Modułi wklej następujący kod w Moduł okno.

VBA: wstaw puste wiersze dla brakującej sekwencji

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. Następnie naciśnij F5 klawisz, aby uruchomić ten kod, a pojawi się okno zachęty, a następnie wybierz zakres danych, w którym chcesz wstawić puste wiersze dla brakującej sekwencji (nie wybieraj zakresu tytułów), zobacz zrzut ekranu:

brak-numeru-wstaw-dokumentu9

4. A następnie kliknij OK, wstawiono puste wiersze dla brakującej listy sekwencji. Zobacz zrzuty ekranu:

brak-numeru-wstaw-dokumentu1 -2 brak-numeru-wstaw-dokumentu10

strzałka niebieski prawy bąbelek Wstaw brakujące liczby lub puste wiersze dla sekwencji za pomocą Kutools for Excel

Tutaj przedstawię łatwe i poręczne narzędzie- Kutools dla programu Excel, Z siedzibą w Znajdź brakujący numer kolejny można szybko wstawić brakujący numer sekwencji lub puste wiersze między istniejącą sekwencją danych.

Kutools dla programu Excel : z ponad 300 poręcznymi dodatkami Excela, które można wypróbować bez ograniczeń w ciągu 30 dni

Jeśli masz zainstalowany Kutools dla programu Excelwykonaj następujące czynności:

1. Wybierz sekwencję danych, w której chcesz wstawić brakujące liczby.

2. Kliknij Kutools > wstawka > Znajdź brakujący numer kolejnyzobacz zrzut ekranu:

3, w Znajdź brakujący numer kolejny okno dialogowe, zaznacz Wstawianie brakującego numeru sekwencyjnego wstawić brakujące liczby lub Inserting pustych wierszy w przypadku napotkania brakujących numerów sekwencyjnych aby wstawić puste wiersze, jak potrzebujesz. Zobacz zrzut ekranu:

brak-numeru-wstaw-dokumentu10

4. A następnie kliknij OK przycisk, a brakujące numery sekwencyjne lub puste wiersze zostały wstawione do danych, patrz zrzuty ekranu:

brak-numeru-wstaw-dokumentu10 2 brak-numeru-wstaw-dokumentu10 2 brak-numeru-wstaw-dokumentu10

Pobierz i bezpłatną wersję próbną Kutools dla programu Excel teraz!


strzałka niebieski prawy bąbelek  Demo: Wstaw brakujące liczby lub puste wiersze do sekwencji za pomocą Kutools for Excel

Kutools dla programu Excel: z ponad 300 poręcznymi dodatkami do programu Excel, które można wypróbować bez ograniczeń w ciągu 30 dni. Pobierz i bezpłatną wersję próbną teraz!

Podobne artykuły:

Jak zidentyfikować brakującą sekwencję liczb w programie Excel?

Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

Opis


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
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