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

Hvordan indsættes tal eller rækker for manglende sekventielle numre i Excel?

Antag at du har en liste over fortløbende numre i et regneark, men der er nogle manglende tal blandt sekvensen, og nu skal du indsætte de manglende tal eller tomme rækker for at sikre, at sekvensen er komplet (vist som de følgende skærmbilleder). Hvordan kunne du hurtigt løse dette problem i Excel?

doc-indsæt-manglende-nummer1 -2 doc-indsæt-manglende-nummer2

Indsæt manglende tal til sekvens med funktionen Sorter og fjern duplikater

Indsæt manglende tal til sekvens med VBA-kode

Indsæt tomme rækker for manglende sekvens med VBA-kode

Indsæt manglende tal eller tomme rækker til sekvens med Kutools til Excel


pil blå højre boble Indsæt manglende tal til sekvens med funktionen Sorter og fjern duplikater

Måske kan du finde de manglende numre en efter en og derefter indsætte dem, men det er svært for dig at identificere placeringen af ​​de manglende, hvis der er hundreder af fortløbende numre. I Excel kan jeg bruge funktionen Sorter og fjern duplikater til at håndtere denne opgave.

1. Efter slutningen af ​​sekvenslisten skal du udfylde et andet sekvensnummer fra 2005023001 til 2005023011. Se skærmbillede:

doc-indsæt-manglende-nummer3

2. Vælg derefter rækkevidden for de to sekvensnumre, og klik data > Sorter A til Z, se skærmbillede:

doc-indsæt-manglende-nummer4

3. Og de valgte data er sorteret som følgende skærmbillede:

doc-indsæt-manglende-nummer5

4. Derefter skal du fjerne duplikaterne ved at klikke data > Fjern duplikaterog i poppet ud Fjern duplikater dialogboksen, skal du kontrollere Kolonne navn, som du vil fjerne duplikaterne, se skærmbilleder:

doc-indsæt-manglende-nummer6 -2 doc-indsæt-manglende-nummer7

5. Klik derefter på OK, duplikaterne i Kolonne A er blevet slettet, og de manglende tal i sekvenslisten er indsat, se skærmbillede:

doc-indsæt-manglende-nummer8


pil blå højre boble Indsæt manglende tal til sekvens med VBA-kode

Hvis du føler, at der er så mange trin med ovenstående metoder, har du også VBA-kode, der kan hjælpe dig med at afslutte dette problem. Gør som følger:

1. Hold nede ALT + F11 tasterne, og det åbner Microsoft Visual Basic til applikationer vindue.

2. Klik indsatte > Moduler, og indsæt følgende kode i Moduler vindue.

VBA: indsæt manglende tal til sekvensen

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. Tryk derefter på F5 nøgle til at køre denne kode, og der vises et promptfelt, vælg det dataområde, som du vil indsætte de manglende numre (vælg ikke titelområdet), se skærmbillede:

doc-indsæt-manglende-nummer9

4. Og klik derefter på OK, de manglende numre er indsat i sekvenslisten. Se skærmbilleder:

doc-indsæt-manglende-nummer1 -2 doc-indsæt-manglende-nummer2

pil blå højre boble Indsæt tomme rækker for manglende sekvens med VBA-kode

Nogle gange skal du bare finde stedet for de manglende numre og indsætte tomme rækker mellem dataene, så du kan indtaste de oplysninger, som du har brug for. Selvfølgelig kan følgende VBA-kode også hjælpe dig med at løse dette problem.

1. Hold nede i ALT + F11 taster, og det åbner en Microsoft Visual Basic til applikationer vindue.

2. Klik indsatte > Moduler, og indsæt følgende kode i Moduler vindue.

VBA: indsæt tomme rækker for manglende sekvens

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. Tryk derefter på F5 nøgle til at køre denne kode, og en promptboks vises, og vælg derefter det dataområde, som du vil indsætte tomme rækker for den manglende sekvens (vælg ikke titelområdet), se skærmbillede:

doc-indsæt-manglende-nummer9

4. Og klik derefter på OK, de tomme rækker er indsat til den manglende sekvensliste. Se skærmbilleder:

doc-indsæt-manglende-nummer1 -2 doc-indsæt-manglende-nummer10

pil blå højre boble Indsæt manglende tal eller tomme rækker til sekvens med Kutools til Excel

Her vil jeg introducere et let og praktisk værktøj- Kutools til Excel, Med Find manglende sekvensnummer funktion, kan du hurtigt indsætte det manglende sekvensnummer eller tomme rækker mellem den eksisterende datasekvens.

Kutools til Excel : med mere end 300 praktiske Excel-tilføjelsesprogrammer, gratis at prøve uden begrænsning på 30 dage

Hvis du har installeret Kutools til Excelskal du gøre som følger:

1. Vælg den datasekvens, du vil indsætte de manglende numre.

2. Klik Kutools > indsatte > Find manglende sekvensnummer, se skærmbillede:

3. I Find manglende sekvensnummer dialogboks, tjek Indsætter manglende sekvensnummer for at indsætte de manglende tal eller Insætte tomme rækker, når du støder på manglende sekvensnumre for at indsætte tomme rækker, som du har brug for. Se skærmbillede:

doc-indsæt-manglende-nummer10

4. Og klik derefter på OK knappen, og de manglende sekvensnumre eller tomme rækker er indsat i dataene, se skærmbilleder:

doc-indsæt-manglende-nummer10 2 doc-indsæt-manglende-nummer10 2 doc-indsæt-manglende-nummer10

Download og gratis prøveversion Kutools til Excel nu!


pil blå højre boble  Demo: Indsæt manglende tal eller tomme rækker til sekvens med Kutools til Excel

Kutools til Excel: med mere end 300 praktiske Excel-tilføjelsesprogrammer, gratis at prøve uden begrænsning på 30 dage. Download og gratis prøveversion nu!

Relateret artikel:

Hvordan identificeres manglende nummersekvens i Excel?


De bedste Office-produktivitetsværktøjer

Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%

  • Genbruge: Indsæt hurtigt komplekse formler, diagrammer og alt, hvad du har brugt før; Krypter celler med adgangskode Opret postliste og send e-mails ...
  • Super formel bar (let redigere flere linjer med tekst og formel); Læsning Layout (let at læse og redigere et stort antal celler); Indsæt til filtreret rækkevidde...
  • Flet celler / rækker / kolonner uden at miste data; Split celler indhold; Kombiner duplikerede rækker / kolonner... Forhindre duplikerede celler; Sammenlign områder...
  • Vælg Duplicate eller Unique Rækker; Vælg tomme rækker (alle celler er tomme); Super Find og Fuzzy Find i mange arbejdsbøger; Tilfældig valg ...
  • Præcis kopi Flere celler uden at ændre formelreference; Auto Opret referencer til flere ark; Indsæt kugler, Afkrydsningsfelter og mere ...
  • Uddrag tekst, Tilføj tekst, Fjern efter position, Fjern mellemrum; Opret og udskriv personsøgningssubtotaler; Konverter mellem celler indhold og kommentarer...
  • Superfilter (gem og anvend filterskemaer på andre ark); Avanceret sortering efter måned / uge / dag, hyppighed og mere; Specielt filter af fed, kursiv ...
  • Kombiner arbejdsbøger og arbejdsark; Fletabeller baseret på nøglekolonner; Opdel data i flere ark; Batch Konverter xls, xlsx og PDF...
  • Mere end 300 kraftfulde funktioner. Understøtter Office / Excel 2007-2021 og 365. Understøtter alle sprog. Nem implementering i din virksomhed eller organisation. Fuld funktioner 30-dages gratis prøveperiode. 60 dages pengene tilbage garanti.
kte-fane 201905

Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
officetab bund
Sorter kommentarer efter
Kommentarer (10)
Ingen vurderinger endnu. Vær den første til at bedømme!
Denne kommentar blev minimeret af moderatoren på webstedet
Tak! Fantastisk manuskript! Hvordan kan jeg ændre dette script, hvis jeg siger, at vi ikke kun skal behandle ID-kolonne + NAVN-kolonne, men ID-kolonne + NAVN-kolonne + NY kolonne? Hvordan kan jeg tilføje nye kolonner i dette script?
Denne kommentar blev minimeret af moderatoren på webstedet
Det følgende er den ændrede makro til at inkludere en tilføjet kolonne - Et andet vigtigt punkt er, at når du bliver bedt om at vælge området, skal du kun vælge den første kolonne - det tog mig et par timer! håber at spare andres tid

Sub InsertValueBetween()
'Opdatering af Extendoffice
Dæmp WorkRng As Range
Dim Rng Som Range
Dim outArr som variant
Dim dic Som Variant
Indstil dic = CreateObject("Scripting.Dictionary")
Dim dic2 Som Variant
Indstil dic2 = CreateObject("Scripting.Dictionary")

'Ved fejl genoptage næste
xTitleId = "KutoolsforExcel"
Indstil WorkRng = Application.Selection
Indstil 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 til interval + 1, 1 til 3)
For hver Rng I WorkRng
dic(Rng.Value) = Rng.Offset(0, 1).Værdi
dic2(Rng.Value) = Rng.Offset(0, 2).Værdi
Næste
For i = 0 Til interval
outArr(i + 1, 1) = i + tal1
Hvis dic.Eksisterer(i + num1) Så
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
Næste
With WorkRng.Range("A1").Resize(UBound(outArr, 1), UBound(outArr, 2))
.Værdi = outArr
.Vælg
Slut med
End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
dette virkede og var meget let at fuldføre opgaven. Tak skal du have.
Denne kommentar blev minimeret af moderatoren på webstedet
Mange tak. Hvordan ændrer jeg scriptet, hvis stigningerne kun er 0.02 og ikke 1. Dette er for scriptet InsertNullBetween()
Denne kommentar blev minimeret af moderatoren på webstedet
Hvad hvis jeg vil vælge 6 kolonner og derefter kontrollere 1. kolonne for datoer, og hvis datoer mangler, tilføje en række (tomme celler) for alle 6 kolonner
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, jeg vil bruge "Inserting Missing Sequence Number", men det understøtter ikke, hvis nr. af cifre er mere end 12 kan du hjælpe?
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg vil bruge funktionen "Indsætter manglende sekvensnummer", men den understøtter ikke cifre mere end 12 ? der er mange sæt som jeg vil indsætte sekvensen imellem (det er et alfanumerisk ciffer) kan du hjælpe
Denne kommentar blev minimeret af moderatoren på webstedet
Hvad hvis jeg vil vælge 6 kolonner og derefter kontrollere 1. kolonne for datoer, og hvis datoer mangler, tilføje en række (tomme celler) for alle 6 kolonner
Denne kommentar blev minimeret af moderatoren på webstedet
Tak fantastisk
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg forsøger at bruge VBA til sekventielle numre. Jeg har flere kolonner ved siden af ​​numrene af hvilke numre også. dvs
1. HL Meter 34
2. HL Vandmåler 40
4. HL CO2meter 24

Når jeg bruger koden, virker den for de første 3 kolonner, men den bliver blandet, hvis jeg inkluderer den 4. kolonne, da den også indeholder tal.
Hvordan kan jeg ændre koden for at sikre, at tallene i kolonne 4 forbliver de samme?
Der er endnu ingen kommentarer her

Følg os

Copyright © 2009 - www.extendoffice.com. | Alle rettigheder forbeholdes. Drevet af ExtendOffice. | | Sitemap
Microsoft og Office-logoet er varemærker eller registrerede varemærker tilhørende Microsoft Corporation i USA og / eller andre lande.
Beskyttet af Sectigo SSL