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?
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:
2. Vælg derefter rækkevidden for de to sekvensnumre, og klik data > Sorter A til Z, se skærmbillede:
3. Og de valgte data er sorteret som følgende skærmbillede:
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:
5. Klik derefter på OK, duplikaterne i Kolonne A er blevet slettet, og de manglende tal i sekvenslisten er indsat, se skærmbillede:
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:
4. Og klik derefter på OK, de manglende numre er indsat i sekvenslisten. Se skærmbilleder:
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:
4. Og klik derefter på OK, de tomme rækker er indsat til den manglende sekvensliste. Se skærmbilleder:
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:
4. Og klik derefter på OK knappen, og de manglende sekvensnumre eller tomme rækker er indsat i dataene, se skærmbilleder:
Download og gratis prøveversion Kutools til Excel nu!
Demo: Indsæt manglende tal eller tomme rækker til sekvens med Kutools til Excel
Relateret artikel:
Hvordan identificeres manglende nummersekvens i Excel?
Bedste kontorproduktivitetsværktøjer
Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid. Klik her for at få den funktion, du har mest brug for...
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!