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

Hur infogar jag siffror eller rader för saknade löpnummer i Excel?

Om du antar att du har en lista med löpnummer i ett kalkylblad, men det finns några saknade nummer bland sekvensen, och nu måste du infoga de saknade siffrorna eller tomma rader för att se till att sekvensen är komplett (visas som följande skärmdumpar). Hur kunde du snabbt lösa detta problem i Excel?

doc-infoga-missing-number1 -2 doc-infoga-missing-number2

Infoga saknade nummer för sekvens med funktionen Sortera och ta bort dubbletter

Infoga saknade nummer för sekvens med VBA-kod

Infoga tomma rader för saknad sekvens med VBA-kod

Infoga saknade nummer eller tomma rader för sekvens med Kutools för Excel


pil blå höger bubbla Infoga saknade nummer för sekvens med funktionen Sortera och ta bort dubbletter

Det kan hända att du kan hitta de saknade siffrorna en efter en och sedan infoga dem, men det är svårt för dig att identifiera platsen för de saknade numren om det finns hundratals löpnummer. I Excel kan jag använda funktionen Sortera och ta bort dubbletter för att hantera den här uppgiften.

1. Efter slutet av sekvenslistan fyller du i ett annat sekvensnummer från 2005023001 till 2005023011. Se skärmdump:

doc-infoga-missing-number3

2. Välj sedan intervallet för de två sekvensnumren och klicka Data > Sortera A till Z, se skärmdump:

doc-infoga-missing-number4

3. Och de valda data har sorterats som följande skärmdump:

doc-infoga-missing-number5

4. Då måste du ta bort dubbletterna genom att klicka Data > Ta bort dubbletteroch i poppade ut Ta bort dubbletter dialogrutan, kolla på Kolumn namn som du vill ta bort dubbletterna, se skärmdumpar:

doc-infoga-missing-number6 -2 doc-infoga-missing-number7

5. Klicka sedan OK, dubbletterna i Kolumn A har raderats och de saknade siffrorna i sekvenslistan har infogats, se skärmdump:

doc-infoga-missing-number8


pil blå höger bubbla Infoga saknade nummer för sekvens med VBA-kod

Om du känner att det finns så många steg med ovanstående metoder, har du också VBA-kod som kan hjälpa dig att slutföra detta problem. Gör så här:

1. Håll ner ALT + F11 knapparna och det öppnar Microsoft Visual Basic för applikationer fönster.

2. Klicka Insert > Modulernaoch klistra in följande kod i Modulerna fönster.

VBA: infoga saknade nummer för 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. Tryck sedan på F5 nyckel för att köra den här koden, och en snabbruta dyker upp, välj det dataintervall som du vill infoga de saknade siffrorna (välj inte titelintervallet), se skärmdump:

doc-infoga-missing-number9

4. Och klicka sedan på OKhar de saknade siffrorna lagts in i sekvenslistan. Se skärmdumpar:

doc-infoga-missing-number1 -2 doc-infoga-missing-number2

pil blå höger bubbla Infoga tomma rader för saknad sekvens med VBA-kod

Ibland behöver du bara hitta platsen för de saknade siffrorna och infoga tomma rader mellan data så att du kan ange informationen efter behov. Naturligtvis kan följande VBA-kod också hjälpa dig att lösa detta problem.

1. Håll ner ALT + F11 knapparna, och det öppnas en Microsoft Visual Basic för applikationer fönster.

2. Klicka Insert > Modulernaoch klistra in följande kod i Modulerna fönster.

VBA: infoga tomma rader för saknad 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. Tryck sedan på F5 nyckel för att köra den här koden, så visas en snabbruta och välj sedan det dataintervall som du vill infoga tomma rader för den saknade sekvensen (välj inte titelområdet), se skärmdump:

doc-infoga-missing-number9

4. Och klicka sedan på OK, de tomma raderna har införts för den saknade sekvenslistan. Se skärmdumpar:

doc-infoga-missing-number1 -2 doc-infoga-missing-number10

pil blå höger bubbla Infoga saknade nummer eller tomma rader för sekvens med Kutools för Excel

Här presenterar jag ett enkelt och praktiskt verktyg- Kutools för Excel, med dess Hitta saknat sekvensnummer kan du snabbt infoga det saknade sekvensnumret eller tomma rader mellan den befintliga datasekvensen.

Kutools för Excel : med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsning på 30 dagar

Om du har installerat Kutools för Excel, gör så här:

1. Välj datasekvensen som du vill infoga de saknade siffrorna.

2. Klicka Kutools > Insert > Hitta saknat sekvensnummer, se skärmdump:

3. I Hitta saknat sekvensnummer dialogruta, kontrollera Infogar saknat sekvensnummer för att infoga de saknade siffrorna eller jagnSätta in tomma rader när du stöter på saknade sekvensnummer för att infoga tomma rader efter behov. Se skärmdump:

doc-infoga-missing-number10

4. Och klicka sedan på OK knappen och de saknade sekvensnumren eller tomma rader har infogats i data, se skärmdumpar:

doc-infoga-missing-number10 2 doc-infoga-missing-number10 2 doc-infoga-missing-number10

Ladda ner och testa gratis Kutools för Excel nu!


pil blå höger bubbla  Demo: Infoga saknade nummer eller tomma rader för sekvens med Kutools för Excel

Kutools för Excel: med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsning på 30 dagar. Ladda ner och testa gratis nu!

Relaterad artikel:

Hur identifierar jag sekvensen för saknade nummer i Excel?


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten
Sortera kommentarer efter
Kommentarer (10)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Tack ! Bra manus! Hur kan jag ändra det här skriptet om jag säger att vi inte bara behöver bearbeta ID-kolumn + NAMN-kolumn, utan ID-kolumn + NAMN-kolumn + NY kolumn? Hur kan jag lägga till nya kolumner i det här skriptet?
Denna kommentar minimerades av moderatoren på webbplatsen
Följande är det modifierade makrot för att inkludera en tillagd kolumn - En annan viktig punkt är att när du uppmanas att välja intervallet bör du bara välja den första kolumnen - det tog några timmar! hoppas kunna spara andras tid

Sub InsertValueBetween()
'Uppdatering av Extendoffice
Dim WorkRng As Range
Dim Rng som intervall
Dim outArr som variant
Dim dic som variant
Set dic = CreateObject("Scripting.Dictionary")
Dim dic2 som variant
Ställ in dic2 = CreateObject("Scripting.Dictionary")

'Om fel återuppta nästa
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
intervall = num2 - num1
ReDim outArr(1 till intervall + 1, 1 till 3)
För varje Rng I WorkRng
dic(Rng.Value) = Rng.Offset(0, 1).Value
dic2(Rng.Value) = Rng.Offset(0, 2).Value
Nästa
För i = 0 Till intervall
outArr(i + 1, 1) = i + num1
Om dic.Exists(i + num1) Då
outArr(i + 1, 2) = dic(i + num1)
outArr(i + 1, 3) = dic2(i + num1)
annars
outArr(i + 1, 2) = ""
outArr(i + 1, 3) = ""

End If
Nästa
With WorkRng.Range("A1").Resize(UBound(outArr, 1), UBound(outArr, 2))
.Värde = outArr
.Välj
Sluta med
End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
detta fungerade och var mycket lätt att slutföra uppgiften. Tack.
Denna kommentar minimerades av moderatoren på webbplatsen
Tack så mycket. Hur ändrar jag skriptet om stegen bara är 0.02 och inte 1 Detta är för skriptet InsertNullBetween()
Denna kommentar minimerades av moderatoren på webbplatsen
Vad händer om jag vill välja 6 kolumner och sedan kontrollera första kolumnen för datum och om datum saknas lägg till en rad (tomma celler) för alla 1 kolumner
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, jag vill använda "Infoga saknat sekvensnummer", men det stöder inte om nr. av siffrorna är fler än 12 kan du hjälpa?
Denna kommentar minimerades av moderatoren på webbplatsen
Jag vill använda funktionen "Infoga sekvensnummer som saknas" men den stöder inte siffror över 12 ? det finns många uppsättningar som jag vill infoga sekvensen mellan (det är en alfanumerisk siffra) kan du hjälpa
Denna kommentar minimerades av moderatoren på webbplatsen
Vad händer om jag vill välja 6 kolumner och sedan kontrollera första kolumnen för datum och om datum saknas lägg till en rad (tomma celler) för alla 1 kolumner
Denna kommentar minimerades av moderatoren på webbplatsen
Tack fantastiskt
Denna kommentar minimerades av moderatoren på webbplatsen
Jag försöker använda VBA för sekventiella nummer. Jag har flera kolumner bredvid numren på vilka nummer också. Dvs
1. HL-mätare 34
2. HL Vattenmätare 40
4. HL CO2meter 24

När jag använder koden fungerar det för de tre första kolumnerna men det blir blandat om jag inkluderar den fjärde kolumnen eftersom den innehåller siffror också.
Hur kan jag ändra koden för att se till att siffrorna i kolumn 4 förblir desamma?
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL