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

Cum se introduc numere sau rânduri pentru numerele secvențiale lipsă în Excel?

Presupunând că aveți o listă de numere secvențiale într-o foaie de lucru, dar există câteva numere care lipsesc între secvență și acum trebuie să inserați numerele lipsă sau rândurile goale pentru a vă asigura că secvența este completă (prezentată ca următoarele capturi de ecran). Cum ați putea rezolva rapid această problemă în Excel?

doc-insert-lipsing-number1 -2 doc-insert-lipsing-number2

Introduceți numerele lipsă pentru secvență cu funcția Sortare și eliminare duplicate

Introduceți numerele lipsă pentru secvență cu codul VBA

Introduceți rânduri goale pentru secvența lipsă cu codul VBA

Introduceți numerele lipsă sau rândurile goale pentru secvență cu Kutools pentru Excel


săgeată albastru dreapta balon Introduceți numerele lipsă pentru secvență cu funcția Sortare și eliminare duplicate

Poate că puteți găsi numerele care lipsesc unul câte unul și apoi le puteți insera, dar este dificil pentru dvs. să identificați locația celor care lipsesc dacă există sute de numere secvențiale. În Excel, pot folosi funcția Sortare și eliminare duplicate pentru a face față acestei sarcini.

1. După sfârșitul listei de secvențe, completați alte numere de secvență de la 2005023001 la 2005023011. Vedeți captura de ecran:

doc-insert-lipsing-number3

2. Apoi selectați intervalul celor două numere de ordine și faceți clic Date > Sortați de la A la Z, vezi captura de ecran:

doc-insert-lipsing-number4

3. Și datele selectate au fost sortate după cum urmează:

doc-insert-lipsing-number5

4. Apoi, trebuie să eliminați duplicatele făcând clic Date > Eliminați duplicatele, și în pop-out Eliminați duplicatele caseta de dialog, verificați Coloană numele pe care doriți să eliminați duplicatele, consultați capturile de ecran:

doc-insert-lipsing-number6 -2 doc-insert-lipsing-number7

5. Apoi apasa OK, duplicatele din Coloana A a fost șters, iar numerele lipsă din lista de secvențe au fost inserate, a se vedea captura de ecran:

doc-insert-lipsing-number8


săgeată albastru dreapta balon Introduceți numerele lipsă pentru secvență cu codul VBA

Dacă credeți că există atât de mulți pași cu metodele de mai sus, aici aveți și cod VBA care vă poate ajuta să terminați această problemă. Vă rugăm să faceți următoarele:

1. Țineți apăsat butonul ALT + F11 tastele și deschide fișierul Microsoft Visual Basic pentru aplicații fereastră.

2. Clic Insera > Moduleși lipiți următorul cod în Module fereastră.

VBA: introduceți numerele lipsă pentru secvență

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. Apoi apăsați F5 tasta pentru a rula acest cod și se va afișa o casetă de solicitare, vă rugăm să selectați intervalul de date pe care doriți să introduceți numerele lipsă (nu selectați intervalul de titlu), consultați captura de ecran:

doc-insert-lipsing-number9

4. Apoi faceți clic pe OK, numerele lipsă au fost inserate în lista de secvențe. Vedeți capturi de ecran:

doc-insert-lipsing-number1 -2 doc-insert-lipsing-number2

săgeată albastru dreapta balon Introduceți rânduri goale pentru secvența lipsă cu codul VBA

Uneori, trebuie doar să localizați locul numerelor lipsă și să introduceți rânduri goale între date, astfel încât să puteți introduce informațiile după cum aveți nevoie. Desigur, și următorul cod VBA vă poate ajuta să rezolvați această problemă.

1. Țineți apăsată tasta ALT + F11 tastele și deschide un Microsoft Visual Basic pentru aplicații fereastră.

2. Clic Insera > Moduleși lipiți următorul cod în Module fereastră.

VBA: introduceți rânduri goale pentru secvența lipsă

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. Apoi apăsați F5 tasta pentru a rula acest cod și se va afișa o casetă de solicitare, apoi selectați intervalul de date pe care doriți să îl inserați rânduri goale pentru secvența lipsă (nu selectați intervalul de titlu), vedeți captura de ecran:

doc-insert-lipsing-number9

4. Apoi faceți clic pe OK, rândurile goale au fost inserate pentru lista de secvențe lipsă. Vedeți capturi de ecran:

doc-insert-lipsing-number1 -2 doc-insert-lipsing-number10

săgeată albastru dreapta balon Introduceți numerele lipsă sau rândurile goale pentru secvență cu Kutools pentru Excel

Aici, voi introduce un instrument ușor și la îndemână- Kutools pentru Excel, Cu său Găsiți numărul de secvență lipsă caracteristică, puteți insera rapid numărul de secvență lipsă sau rândurile goale între secvența de date existentă.

Kutools pentru Excel : cu mai mult de 300 de programe de completare Excel la îndemână, gratuit pentru a încerca fără limitări în 30 de zile

Dacă ați instalat Kutools pentru Excel, vă rugăm să faceți următoarele:

1. Selectați secvența de date pe care doriți să o inserați numerele lipsă.

2. Clic Kutools > Insera > Găsiți numărul de secvență lipsă, vezi captura de ecran:

3. În Găsiți numărul de secvență lipsă casetă de dialog, bifați Se introduce numărul secvenței lipsă pentru a insera numerele lipsă sau eunsertarea rândurilor goale atunci când întâlniți numerele de secvență lipsă pentru a insera rânduri goale după cum aveți nevoie. Vedeți captura de ecran:

doc-insert-lipsing-number10

4. Apoi faceți clic pe OK , iar numerele secvenței lipsă sau rândurile goale au fost inserate în date, consultați capturile de ecran:

doc-insert-lipsing-number10 2 doc-insert-lipsing-number10 2 doc-insert-lipsing-number10

Descărcați și proba gratuită Kutools pentru Excel acum!


săgeată albastru dreapta balon  Demo: introduceți numerele lipsă sau rândurile goale pentru secvență cu Kutools pentru Excel

Kutools pentru Excel: cu mai mult de 300 de programe de completare Excel la îndemână, încercați fără limitări în 30 de zile. Descărcați și proba gratuită acum!

Articol asociat:

Cum se identifică secvența numerelor lipsă în Excel?


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (10)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Mulțumiri ! Super scenariu! Cum pot modifica acest script dacă spun că trebuie să procesăm nu numai coloana ID + coloana NUME, ci și coloana ID + coloana NUME + coloana NOUĂ? Cum pot adăuga coloane noi în acest script?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Următoarea este macrocomanda modificată pentru a include o coloană adăugată - Un alt punct important este că atunci când vi se solicită să selectați intervalul, ar trebui să selectați doar prima coloană - acestea mi-au luat câteva ore! sper să economisesc timpul altora

Sub InsertValueBetween()
'Actualizare de Extendoffice
Dim WorkRng As Range
Dim Rng ca rază de acțiune
Dim outArr ca variantă
Dim dic Ca Variant
Set dic = CreateObject("Scripting.Dictionary")
Dim dic2 Ca Varianta
Set dic2 = CreateObject("Scripting.Dictionary")

„La eroare, reluați următoarea
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" și WorkRng.Rows.Count).Value
interval = num2 - num1
ReDim outArr(1 To interval + 1, 1 To 3)
Pentru fiecare Rng în WorkRng
dic(Rng.Value) = Rng.Offset(0, 1).Valoare
dic2(Rng.Value) = Rng.Offset(0, 2).Value
Pagina Următoare →
Pentru i = 0 La interval
outArr(i + 1, 1) = i + num1
Dacă dic.Există(i + num1) Atunci
outArr(i + 1, 2) = dic(i + num1)
outArr(i + 1, 3) = dic2(i + num1)
Altfel
outArr(i + 1, 2) = ""
outArr(i + 1, 3) = ""

Final, dacă
Pagina Următoare →
Cu WorkRng.Range("A1").Resize(UBound(outArr, 1), UBound(outArr, 2))
.Valoare = outArr
.Selectați
Se termina cu
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
aceasta a funcționat și a fost foarte ușor de finalizat sarcina. Mulțumesc.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Mulțumesc foarte mult. Cum schimb scriptul dacă incrementele sunt doar 0.02 și nu 1 Acesta este pentru scriptul InsertNullBetween()
Acest comentariu a fost redus la minimum de moderatorul de pe site
Ce se întâmplă dacă vreau să selectez 6 coloane și apoi să verific prima coloană pentru date și dacă datele lipsesc adăugați un rând (celule goale) pentru toate cele 1 coloane
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, vreau să folosesc „Inserarea numărului de secvență lipsă”, dar nu acceptă dacă nu. dintre cifrele sunt mai mult de 12, mă poți ajuta?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Vreau să folosesc funcția „Inserarea numărului de secvență lipsă”, dar nu acceptă cifrele mai mari de 12? există multe seturi în care vreau să inserez secvența între (este o cifră alfanumerice) mă poți ajuta
Acest comentariu a fost redus la minimum de moderatorul de pe site
Ce se întâmplă dacă vreau să selectez 6 coloane și apoi să verific prima coloană pentru date și dacă datele lipsesc adăugați un rând (celule goale) pentru toate cele 1 coloane
Acest comentariu a fost redus la minimum de moderatorul de pe site
Multumesc extraordinar
Acest comentariu a fost redus la minimum de moderatorul de pe site
Încerc să folosesc VBA pentru numere secvențiale. Am mai multe coloane lângă numere ale căror numere de asemenea. ie
1. Contorul HL 34
2. Apometru HL 40
4. HL CO2metru 24

Când folosesc codul, funcționează pentru primele 3 coloane, dar se amestecă dacă includ a patra coloană, deoarece include și numere.
Cum pot schimba codul pentru a mă asigura că numerele din coloana 4 rămân aceleași?
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL