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

วิธีแทรกตัวเลขหรือแถวสำหรับหมายเลขลำดับที่ขาดหายไปใน Excel

สมมติว่าคุณมีรายการหมายเลขลำดับในแผ่นงาน แต่มีตัวเลขที่ขาดหายไปในลำดับและตอนนี้คุณต้องแทรกตัวเลขที่ขาดหายไปหรือแถวว่างเพื่อให้แน่ใจว่าลำดับนั้นสมบูรณ์ (แสดงเป็นภาพหน้าจอต่อไปนี้) คุณจะแก้ปัญหานี้อย่างรวดเร็วใน Excel ได้อย่างไร

doc-insert-missing-number1 -2 doc-insert-missing-number2

แทรกตัวเลขที่ขาดหายไปสำหรับลำดับด้วยคุณสมบัติเรียงลำดับและลบรายการที่ซ้ำกัน

ใส่หมายเลขที่ขาดหายไปสำหรับลำดับด้วยรหัส VBA

แทรกแถวว่างสำหรับลำดับที่ขาดหายไปด้วยรหัส VBA

แทรกตัวเลขที่ขาดหายไปหรือแถวว่างสำหรับลำดับด้วย Kutools for Excel


ลูกศรสีฟ้าฟองขวา แทรกตัวเลขที่ขาดหายไปสำหรับลำดับด้วยคุณสมบัติเรียงลำดับและลบรายการที่ซ้ำกัน

อาจเป็นไปได้ว่าคุณสามารถค้นหาหมายเลขที่หายไปทีละหมายเลขแล้วใส่เข้าไป แต่เป็นการยากสำหรับคุณที่จะระบุตำแหน่งของหมายเลขที่หายไปหากมีตัวเลขเรียงตามลำดับหลายร้อยหมายเลข ใน Excel ฉันสามารถใช้คุณลักษณะเรียงลำดับและลบรายการที่ซ้ำกันเพื่อจัดการกับงานนี้

1. หลังจากสิ้นสุดรายการลำดับแล้วให้กรอกหมายเลขลำดับอื่นจาก 2005023001 ถึง 2005023011 ดูภาพหน้าจอ:

doc-insert-missing-number3

2. จากนั้นเลือกช่วงของตัวเลขสองลำดับแล้วคลิก ข้อมูล > เรียงลำดับ A ถึง Zดูภาพหน้าจอ:

doc-insert-missing-number4

3. และข้อมูลที่เลือกได้รับการจัดเรียงเป็นภาพหน้าจอต่อไปนี้:

doc-insert-missing-number5

4. จากนั้นคุณต้องลบรายการที่ซ้ำกันโดยคลิก ข้อมูล > ลบรายการที่ซ้ำกันและในโผล่ออกมา ลบรายการที่ซ้ำกัน ให้ทำเครื่องหมายที่ คอลัมน์ ชื่อที่คุณต้องการลบรายการที่ซ้ำกันดูภาพหน้าจอ:

doc-insert-missing-number6 -2 doc-insert-missing-number7

5. จากนั้นคลิก OKที่ซ้ำกันใน คอลัมน์ก ถูกลบและใส่หมายเลขที่ขาดหายไปในรายการลำดับดูภาพหน้าจอ:

doc-insert-missing-number8


ลูกศรสีฟ้าฟองขวา ใส่หมายเลขที่ขาดหายไปสำหรับลำดับด้วยรหัส VBA

หากคุณรู้สึกว่ามีหลายขั้นตอนด้วยวิธีการข้างต้นที่นี่ยังมีรหัส VBA สามารถช่วยคุณแก้ปัญหานี้ได้ โปรดดำเนินการดังนี้:

1. กด ALT + F11 และจะเปิดไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2. คลิก สิ่งที่ใส่เข้าไป > โมดูลและวางรหัสต่อไปนี้ในไฟล์ โมดูล หน้าต่าง

VBA: ใส่ตัวเลขที่ขาดหายไปสำหรับลำดับ

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. จากนั้นกด F5 คีย์เพื่อเรียกใช้รหัสนี้และกล่องพร้อมต์จะปรากฏขึ้นโปรดเลือกช่วงข้อมูลที่คุณต้องการแทรกตัวเลขที่ขาดหายไป (อย่าเลือกช่วงหัวเรื่อง) ดูภาพหน้าจอ:

doc-insert-missing-number9

4. จากนั้นคลิก OKหมายเลขที่หายไปได้ถูกแทรกลงในรายการลำดับ ดูภาพหน้าจอ:

doc-insert-missing-number1 -2 doc-insert-missing-number2

ลูกศรสีฟ้าฟองขวา แทรกแถวว่างสำหรับลำดับที่ขาดหายไปด้วยรหัส VBA

บางครั้งคุณเพียงแค่ต้องค้นหาตำแหน่งของตัวเลขที่ขาดหายไปและแทรกแถวว่างระหว่างข้อมูลเพื่อให้คุณสามารถป้อนข้อมูลได้ตามที่คุณต้องการ แน่นอนรหัส VBA ต่อไปนี้สามารถช่วยคุณแก้ปัญหานี้ได้

1. ค้างไว้ ALT + F11 และจะเปิดไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2. คลิก สิ่งที่ใส่เข้าไป > โมดูลและวางรหัสต่อไปนี้ในไฟล์ โมดูล หน้าต่าง

VBA: แทรกแถวว่างสำหรับลำดับที่ขาดหายไป

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. จากนั้นกด F5 คีย์เพื่อเรียกใช้รหัสนี้และกล่องพร้อมต์จะปรากฏขึ้นจากนั้นเลือกช่วงข้อมูลที่คุณต้องการแทรกแถวว่างสำหรับลำดับที่ขาดหายไป (อย่าเลือกช่วงหัวเรื่อง) ดูภาพหน้าจอ:

doc-insert-missing-number9

4. จากนั้นคลิก OKมีการแทรกแถวว่างสำหรับรายการลำดับที่ขาดหายไป ดูภาพหน้าจอ:

doc-insert-missing-number1 -2 doc-insert-missing-number10

ลูกศรสีฟ้าฟองขวา แทรกตัวเลขที่ขาดหายไปหรือแถวว่างสำหรับลำดับด้วย Kutools for Excel

ที่นี่ฉันจะแนะนำเครื่องมือที่ง่ายและสะดวก - Kutools สำหรับ Excelเดียวกันกับที่ ค้นหาหมายเลขลำดับที่ขาดหายไป คุณสามารถแทรกหมายเลขลำดับที่ขาดหายไปหรือแถวว่างระหว่างลำดับข้อมูลที่มีอยู่ได้อย่างรวดเร็ว

Kutools สำหรับ Excel : ด้วย Add-in ของ Excel ที่มีประโยชน์มากกว่า 300 รายการทดลองใช้ฟรีโดยไม่มีข้อ จำกัด ใน 30 วัน

ถ้าคุณได้ติดตั้ง Kutools สำหรับ Excelโปรดดำเนินการดังนี้:

1. เลือกลำดับข้อมูลที่คุณต้องการแทรกตัวเลขที่ขาดหายไป

2. คลิก Kutools > สิ่งที่ใส่เข้าไป > ค้นหาหมายเลขลำดับที่ขาดหายไปดูภาพหน้าจอ:

3. ใน ค้นหาหมายเลขลำดับที่ขาดหายไป กล่องโต้ตอบตรวจสอบ การใส่หมายเลขลำดับที่ขาดหายไป เพื่อแทรกตัวเลขที่ขาดหายไปหรือ Inserting แถวว่างเมื่อพบหมายเลขลำดับที่ขาดหายไป เพื่อแทรกแถวว่างตามที่คุณต้องการ ดูภาพหน้าจอ:

doc-insert-missing-number10

4. จากนั้นคลิก OK และมีการแทรกหมายเลขลำดับที่ขาดหายไปหรือแถวว่างลงในข้อมูลดูภาพหน้าจอ:

doc-insert-missing-number10 2 doc-insert-missing-number10 2 doc-insert-missing-number10

ดาวน์โหลดและทดลองใช้ Kutools for Excel ฟรีทันที!


ลูกศรสีฟ้าฟองขวา  Demo: แทรกตัวเลขที่ขาดหายไปหรือแถวว่างสำหรับลำดับด้วย Kutools for Excel

Kutools สำหรับ Excel: ด้วย Add-in ของ Excel ที่มีประโยชน์มากกว่า 300 รายการให้ทดลองใช้ฟรีโดยไม่มีข้อ จำกัด ใน 30 วัน ดาวน์โหลดและทดลองใช้ฟรีทันที!

บทความที่เกี่ยวข้อง:

วิธีระบุลำดับตัวเลขที่ขาดหายไปใน Excel


เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel ช่วยแก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office / Excel 2007-2019 และ 365 รองรับทุกภาษา ใช้งานง่ายในองค์กรหรือองค์กรของคุณ ทดลองใช้ฟรี 30 วันเต็ม รับประกันคืนเงิน 60 วัน
kte แท็บ 201905

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มผลผลิตของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (10)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณ ! สคริปต์ยอดเยี่ยม ! ฉันจะแก้ไขสคริปต์นี้ได้อย่างไรถ้าฉันบอกว่าเราต้องดำเนินการไม่เพียง แต่คอลัมน์ ID + คอลัมน์ NAME แต่คอลัมน์ ID + คอลัมน์ NAME + คอลัมน์ใหม่ ฉันจะเพิ่มคอลัมน์ใหม่ในสคริปต์นี้ได้อย่างไร
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ต่อไปนี้เป็นมาโครที่แก้ไขเพื่อรวมคอลัมน์ที่เพิ่มเข้ามา - อีกประเด็นสำคัญคือเมื่อได้รับแจ้งให้เลือกช่วง คุณควรเลือกคอลัมน์แรกเท่านั้น ซึ่งใช้เวลาสองสามชั่วโมง! หวังว่าจะประหยัดเวลาของผู้อื่น

ค่าแทรกย่อยระหว่าง()
'Updateby Extendoffice
Dim WorkRng เป็นช่วง
Dim Rng เป็นช่วง
Dim outArr เป็น Variant
Dim dic เป็นตัวแปร
ตั้งค่า dic = CreateObject("Scripting.Dictionary")
Dim dic2 เป็น Variant
ตั้งค่า dic2 = CreateObject("Scripting.Dictionary")

'เมื่อเกิดข้อผิดพลาด ดำเนินการต่อ ต่อไป
xTitleId = "KutoolsforExcel"
ตั้งค่า WorkRng = Application.Selection
ตั้งค่า WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
num1 = WorkRng.Range("A1")).Value
num2 = WorkRng.Range("A" & WorkRng.Rows.Count).Value
ช่วงเวลา = num2 - num1
ReDim outArr(1 ถึงช่วง + 1, 1 ถึง 3)
สำหรับแต่ละ Rng ในการทำงานRng
dic(Rng.Value) = Rng.Offset(0, 1).Value
dic2(Rng.Value) = Rng.Offset(0, 2).Value
ต่อไป
สำหรับ i = 0 ถึงช่วง
outArr(i + 1, 1) = i + num1
ถ้า dic.Exists(i + num1) แล้ว
outArr(i + 1, 2) = dic(i + num1)
outArr(i + 1, 3) = dic2(i + num1)
อื่น
outArr(i + 1, 2) = ""
outArr(i + 1, 3) = ""

End If
ต่อไป
ด้วย WorkRng.Range("A1").Resize(UBound(outArr, 1), UBound(outArr, 2))
.Value = outArr
.เลือก
จบด้วย
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สิ่งนี้ใช้ได้ผลและง่ายมากที่จะทำงานให้เสร็จ ขอขอบคุณ.
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณมาก. ฉันจะเปลี่ยนสคริปต์ได้อย่างไรหากการเพิ่มขึ้นเป็นเพียง 0.02 และไม่ใช่ 1 สำหรับสคริปต์ InsertNullBetween()
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
จะทำอย่างไรถ้าฉันต้องการเลือก 6 คอลัมน์แล้วตรวจสอบคอลัมน์ที่ 1 สำหรับวันที่และหากวันที่หายไปให้เพิ่มแถว (เซลล์ว่าง) สำหรับทั้ง 6 คอลัมน์
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี ฉันต้องการใช้ "การแทรกหมายเลขลำดับที่หายไป" แต่ไม่รองรับหากไม่มี ของหลักเกิน 12 ตัว ช่วยได้ไหม ?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันต้องการใช้คุณสมบัติ "การแทรกหมายเลขลำดับที่ขาดหายไป" แต่ไม่รองรับตัวเลขที่มากกว่า 12 หรือไม่ มีหลายชุดที่ฉันต้องการแทรกลำดับระหว่าง (เป็นตัวเลขและตัวเลข) คุณช่วยได้ไหม
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
จะทำอย่างไรถ้าฉันต้องการเลือก 6 คอลัมน์แล้วตรวจสอบคอลัมน์ที่ 1 สำหรับวันที่และหากวันที่หายไปให้เพิ่มแถว (เซลล์ว่าง) สำหรับทั้ง 6 คอลัมน์
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณค่ะ อัศจรรย์
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันกำลังพยายามใช้ VBA สำหรับตัวเลขตามลำดับ ฉันมีหลายคอลัมน์ถัดจากตัวเลขที่มีตัวเลขนั้นด้วย เช่น
1. HL เมตร 34
2. มิเตอร์น้ำ HL 40
4. HL CO2meter 24

เมื่อฉันใช้โค้ด มันใช้งานได้กับ 3 คอลัมน์แรก แต่จะสับสนถ้าฉันรวมคอลัมน์ที่ 4 เนื่องจากมันรวมตัวเลขด้วย
ฉันจะเปลี่ยนรหัสเพื่อให้แน่ใจว่าตัวเลขในคอลัมน์ 4 ยังคงเหมือนเดิมได้อย่างไร
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ