2 วิธีที่รวดเร็วในการแยกเนื้อหาของแผ่นงาน Excel ออกเป็นสมุดงานหลาย ๆ เล่มโดยยึดตามคอลัมน์เฉพาะ

แบ่งปันเลย:

บางครั้ง ในการวิเคราะห์ข้อมูล คุณอาจจำเป็นต้องแบ่งเนื้อหาของเวิร์กชีต Excel ออกเป็นเวิร์กบุ๊ก Excel หลายเล่มตามคอลัมน์เฉพาะ ในบทความนี้ เราจะสอน 2 วิธีง่ายๆ ในการทำเช่นนั้น

ผู้ใช้จำนวนมากมักต้องการแยกแผ่นงาน Excel ที่มีข้อมูลจำนวนมากเป็นแถว ๆ สมุดงาน Excel แยกกันโดยยึดตามคอลัมน์เฉพาะ ตัวอย่างเช่นนี่คือตัวอย่างแผ่นงาน Excel ของฉัน ฉันต้องการแยกข้อมูลของแผ่นงานนี้ตามคอลัมน์ "Price of single license (US $)" เป็นสมุดงานหลายเล่ม

ตัวอย่างแผ่นงาน Excel

โดยทั่วไปคุณมักจะใช้วิธีที่ 1 ต่อไปนี้เพื่อกรองและคัดลอกข้อมูลด้วยตนเอง แต่มันจะค่อนข้างน่าเบื่อและโง่หากมีตัวเลือกตัวกรองมากเกินไป ดังนั้นที่นี่เราจึงแสดงวิธีที่สะดวกกว่ามากนั่นคือวิธีที่ 2 ซึ่งใช้ VBA ตอนนี้อ่านเพื่อรับรายละเอียด

วิธีที่ 1: คัดลอกเนื้อหาเพื่อแยกสมุดงาน Excel หลังตัวกรอง

  1. ในตอนแรกเลือกเซลล์ในคอลัมน์เฉพาะเช่น“ เซลล์ B1” ในอินสแตนซ์ของฉันเอง
  2. จากนั้นไปที่แท็บ "ข้อมูล" แล้วคลิกปุ่ม "ตัวกรอง"กรองข้อมูล
  3. จากนั้นคลิกปุ่ม "ลูกศรลง" ในส่วนหัวของคอลัมน์เพื่อแสดงรายการตัวเลือกตัวกรอง
  4. ตอนนี้ยกเลิกการเลือกตัวเลือก“ (เลือกทั้งหมด)”ยกเลิกการเลือก "เลือกทั้งหมด"
  5. หลังจากนั้นคุณสามารถเลือกหนึ่งตัวเลือกตัวกรองเช่น“ 29.95” ในตัวอย่างของฉันแล้วคลิก“ ตกลง”
  6. ในครั้งเดียวจะเหลือเฉพาะข้อมูลที่มีค่าในคอลัมน์ B "29.95"เหลือเพียงข้อมูลที่กรองแล้ว
  7. จากนั้นคัดลอกข้อมูลที่กรองแล้ววางลงในสมุดงาน Excel ใหม่คัดลอกและวางเนื้อหา
  8. ต่อมาใช้วิธีเดียวกันนี้ในการแยกข้อมูลอื่น ๆ เพื่อแยกสมุดงาน Excel

วิธีที่ 2: แบทช์แยกเนื้อหาออกเป็นสมุดงาน Excel หลายเล่มผ่าน VBA

  1. ในตอนแรกตรวจสอบให้แน่ใจว่าได้เปิดแผ่นงานเฉพาะแล้ว
  2. จากนั้นเปิดตัวแก้ไข VBA ตาม "วิธีเรียกใช้รหัส VBA ใน Excel ของคุณ"
  3. จากนั้นใส่รหัสต่อไปนี้ในโครงการ“ ThisWorkbook”
Sub SplitSheetDataIntoMultipleWorkbooksBasedOnSpecificColumn()
    Dim objWorksheet As Excel.Worksheet
    Dim nLastRow, nRow, nNextRow As Integer
    Dim strColumnValue As String
    Dim objDictionary As Object
    Dim varColumnValues As Variant
    Dim varColumnValue As Variant
    Dim objExcelWorkbook As Excel.Workbook
    Dim objSheet As Excel.Worksheet
 
    Set objWorksheet = ActiveSheet
    nLastRow = objWorksheet.Range("A" & objWorksheet.Rows.Count).End(xlUp).Row
 
    Set objDictionary = CreateObject("Scripting.Dictionary")
 
    For nRow = 2 To nLastRow
        'Get the specific Column
        'Here my instance is "B" column
        'You can change it to your case
        strColumnValue = objWorksheet.Range("B" & nRow).Value
 
        If objDictionary.Exists(strColumnValue) = False Then
           objDictionary.Add strColumnValue, 1
        End If
    Next
 
    varColumnValues = objDictionary.Keys
 
    For i = LBound(varColumnValues) To UBound(varColumnValues)
        varColumnValue = varColumnValues(i)
 
        'Create a new Excel workbook
        Set objExcelWorkbook = Excel.Application.Workbooks.Add
        Set objSheet = objExcelWorkbook.Sheets(1)
        objSheet.Name = objWorksheet.Name
 
        objWorksheet.Rows(1).EntireRow.Copy
        objSheet.Activate
        objSheet.Range("A1").Select
        objSheet.Paste
 
        For nRow = 2 To nLastRow
            If CStr(objWorksheet.Range("B" & nRow).Value) = CStr(varColumnValue) Then
               'Copy data with the same column "B" value to new workbook
               objWorksheet.Rows(nRow).EntireRow.Copy
  
               nNextRow = objSheet.Range("A" & objWorksheet.Rows.Count).End(xlUp).Row + 1
               objSheet.Range("A" & nNextRow).Select
               objSheet.Paste
               objSheet.Columns("A:B").AutoFit
            End If
        Next
    Next
End Sub

รหัส VBA - แยกเนื้อหาของแผ่นงาน Excel ออกเป็นสมุดงานหลายเล่มโดยยึดตามคอลัมน์เฉพาะ

  1. หลังจากนั้นคลิกไอคอน“ Run” ในแถบเครื่องมือหรือกดปุ่ม“ F5”
  2. เมื่อแมโครเสร็จสิ้นสมุดงาน Excel แยกต่างหากจะถูกสร้างขึ้นพร้อมกับข้อมูลที่แยกจากเวิร์กชีต Excel ต้นทางสมุดงาน Excel ใหม่
  3. สมุดงานแต่ละเล่มจะมีลักษณะเหมือนภาพหน้าจอต่อไปนี้แยกสมุดงาน Excel ใหม่

การเปรียบเทียบ

  ข้อดี ข้อเสีย
1 วิธี 1. ใช้งานง่ายสำหรับผู้ใช้ Excel ทุกคน ลำบากหากมีตัวเลือกตัวกรองมากเกินไป
2. รวดเร็วหากมีตัวเลือกตัวกรองน้อย
2 วิธี มีประสิทธิภาพมากกว่าวิธีที่ 1 มากไม่ว่าจะมีตัวเลือกตัวกรองจำนวนเท่าใดก็ตาม ใช้งานยากสำหรับมือใหม่ VBA

ป้องกันการสูญหายของข้อมูล Excel

แม้ว่า MS Excel จะก้าวหน้าและซับซ้อนมากขึ้นเรื่อย ๆ แต่ก็ยังมีแนวโน้มที่จะเกิดความผิดพลาดในบางครั้งเนื่องจากปัจจัยอื่น ๆ เช่น Add-in ของบุคคลที่สามที่เป็นอันตรายหรือข้อผิดพลาดจากมนุษย์เป็นต้น เนื่องจากความผิดพลาดของ Excel สามารถนำไปสู่ ความเสียหายของ Excelเพื่อหลีกเลี่ยงการสูญหายของข้อมูล Excel คุณต้องสำรองไฟล์ Excel ของคุณเป็นประจำ มิฉะนั้นคุณต้องใช้เครื่องมือซ่อมแซม Excel เช่น DataNumen Excel Repair เพื่อแก้ไขไฟล์ Excel ที่เสียหาย

บทนำผู้เขียน:

Shirley Zhang เป็นผู้เชี่ยวชาญด้านการกู้คืนข้อมูลใน DataNumen, Inc. ซึ่งเป็นผู้นำระดับโลกด้านเทคโนโลยีการกู้คืนข้อมูล ได้แก่ SQL Server ซ่อมแซม และผลิตภัณฑ์ซอฟต์แวร์ซ่อมแซมแนวโน้ม ดูข้อมูลเพิ่มเติมได้ที่ wwwdatanumenด้วย.

แบ่งปันเลย:

ความเห็นถูกปิด