Note: The other languages of the website are Google-translated. Back to English

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

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

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!
officetab dół
Sortuj komentarze według
Komentarze (10)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
Dzięki ! Świetny scenariusz! Jak mogę zmodyfikować ten skrypt, jeśli powiem, że musimy przetworzyć nie tylko kolumnę ID + kolumnę NAME, ale kolumnę ID + kolumnę NAME + kolumnę NEW? Jak mogę dodać nowe kolumny w tym skrypcie?
Ten komentarz został zminimalizowany przez moderatora na stronie
Poniżej znajduje się zmodyfikowane makro, które zawiera dodaną kolumnę - Kolejną ważną kwestią jest to, że po wyświetleniu monitu o wybranie zakresu należy wybrać tylko pierwszą kolumnę - zajęło mi to kilka godzin! nadzieję na zaoszczędzenie czasu innych

Sub WstawWartośćMiędzy()
„Aktualizuj do” Extendoffice
Dim WorkRng jako zakres
Dim Rng jako zakres
Przyciemnij Arr jako wariant
Dim dic jako wariant
Ustaw dic = CreateObject("Skrypty.Słownik")
Dim dic2 jako wariant
Ustaw dic2 = CreateObject("Skrypty.Słownik")

„Po błędzie wznowienia Dalej”
xTitleId = "Kutools for Excel"
Ustaw WorkRng = Application.Selection
Ustaw WorkRng = Application.InputBox("Zakres", xTitleId, WorkRng.Address, Type:=8)
num1 = WorkRng.Range("A1").Wartość
num2 = WorkRng.Range("A" & WorkRng.Rows.Count).Value
interwał = liczba2 - liczba1
Redim outArr(1 do interwału + 1, 1 do 3)
Za każdy numer w WorkRng
dic(Rng.Value) = Rng.Offset(0, 1).Wartość
dic2(Rng.Value) = Rng.Offset(0, 2).Wartość
Dalej
Dla i = 0 Do przedziału
outArr(i + 1, 1) = ja + num1
Jeśli dic.Exists(i + num1) Wtedy
outArr(i + 1, 2) = dic(i + num1)
outArr(i + 1, 3) = dic2(i + num1)
Więcej
outArr(i + 1, 2) = ""
outArr(i + 1, 3) = ""

End If
Dalej
Z WorkRng.Range("A1").Resize(UBound(outArr, 1), UBound(outArr, 2))
.Wartość = outArr
.Wybierz
Kończyć z
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
to zadziałało i było bardzo łatwe do wykonania zadania. Dziękuję Ci.
Ten komentarz został zminimalizowany przez moderatora na stronie
Dziękuję bardzo. Jak zmienić skrypt, jeśli przyrosty wynoszą tylko 0.02 a nie 1 To jest dla skryptu InsertNullBetween()
Ten komentarz został zminimalizowany przez moderatora na stronie
Co jeśli chcę wybrać 6 kolumn, a następnie sprawdzić pierwszą kolumnę pod kątem dat, a jeśli brakuje dat, dodać wiersz (puste komórki) dla wszystkich 1 kolumn
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, chcę użyć opcji „Wstawianie brakującego numeru sekwencji”, ale nie jest to obsługiwane, jeśli nie. cyfr jest więcej niż 12 czy możesz pomóc?
Ten komentarz został zminimalizowany przez moderatora na stronie
Chcę użyć funkcji „Wstawianie brakującego numeru sekwencyjnego”, ale nie obsługuje ona cyfr większych niż 12 ? jest wiele zestawów, w których chcę wstawić sekwencję pomiędzy (jest to cyfra alfanumeryczna) czy możesz pomóc
Ten komentarz został zminimalizowany przez moderatora na stronie
Co jeśli chcę wybrać 6 kolumn, a następnie sprawdzić pierwszą kolumnę pod kątem dat, a jeśli brakuje dat, dodać wiersz (puste komórki) dla wszystkich 1 kolumn
Ten komentarz został zminimalizowany przez moderatora na stronie
Dziękuję niesamowite
Ten komentarz został zminimalizowany przez moderatora na stronie
Staram się używać VBA do numerów sekwencyjnych. Mam kilka kolumn obok numerów, które też są numerami. Tj
1. Miernik HL 34
2. Wodomierz HL 40
4. Miernik HL CO2 24

Kiedy używam kodu, działa on dla pierwszych 3 kolumn, ale miesza się, jeśli dołączę czwartą kolumnę, ponieważ zawiera ona również liczby.
Jak mogę zmienić kod, aby upewnić się, że liczby w kolumnie 4 pozostaną takie same?
Nie ma tu jeszcze żadnych komentarzy
Zostaw swój komentarz
Publikowanie jako gość
×
Oceń ten post:
0   Postacie
Sugerowane lokalizacje

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL