การรวมไฟล์ Excel หลายไฟล์ที่มีหลายชีท ด้วย Power Query

จะดีกว่าไหม หากมีวิธีการที่ลดขั้นตอน และลดเวลาในการรวมไฟล์ Excel หลายไฟล์ที่มีหลายชีทได้ในคลิกเดียว ด้วยเครื่องมืออันส่งพลังอย่าง Power Query
การรวมไฟล์ Excel หลายไฟล์ที่มีหลายชีท ด้วย Power Query
ทักษะ (ระบุได้หลายทักษะ)

          เคยหรือเปล่าที่ทุกวันในการใช้ Excel ทำรายงานสรุปข้อมูลรายได้จากการขาย, ค่าใช้จ่ายในการขายของแต่ละสาขาเป็นรายเดือน หรือรายไตรมาสให้หัวหน้างาน และผู้บริหาร โดยในแต่ละครั้งต้องทำการ Copy ข้อมูลที่ได้รับจากส่วนงานอื่น ๆ มารวมในไฟล์ Excel ที่จะทำรายงานดังกล่าว แน่นอนว่าจะต้องเสียเวลาทำแบบนี้พอสมควรในการรวมข้อมูล เพราะไฟล์ Excel ที่ได้มาแต่ละส่วนงานอาจมีการเก็บข้อมูล Excel เป็นหลายไฟล์ และในแต่ละไฟล์มีหลายชีท
          จะดีกว่าไหม หากมีวิธีการที่ลดขั้นตอน และลดเวลาในการรวมไฟล์ Excel หลายไฟล์ที่มีหลายชีทได้ในคลิกเดียว
          วันนี้ทางทีมงาน 9Experttraining จะมาแนะนำวิธีดังกล่าวนี้ ผ่านเครื่องมือที่เรียกว่า Power Query เป็นเครื่องมือที่มีอยู่ใน Microsoft Excel, Microsoft Power BI, SQL Server ที่ช่วยในการเตรียมข้อมูล ปรับแต่งข้อมูลให้พร้อม ซึ่งสามารถเชื่อมโยงกับข้อมูลจากหลายแหล่งได้ (อ่านบทความ Power Query คืออะไร ได้ที่ https://www.9experttraining.com/articles/power-query-excel-for-business-intelligence และบทความ Power Query ทำงานอย่างไร ได้ที่ https://www.9experttraining.com/articles/power-query-ทำงานอย่างไร)

การนำเข้าและรวมไฟล์ Excel หลายไฟล์ที่มีหลายชีท ด้วย Power Query

         ตัวอย่างไฟล์ Excel เป็นรายการขายสินค้าเป็นรายวัน โดยถูกเก็บไว้ใน Folder เดียวกันที่ชื่อว่า Sales Data ซึ่งในแต่ละไฟล์ Excel จะเป็นยอดขายสินค้ารายวัน แบ่งตามชื่อไฟล์เป็นแต่ละไตรมาส เช่น Q1-2021 จะเป็นยอดขายของไตรมาส 1 ปี 2021

ไฟล์ Excel ถูกเก็บไว้ใน Folder เดียวกัน

และในแต่ละไฟล์ จะแบ่งชีทออกเป็นแต่ละเดือน ตามแต่ละไตรมาสนั้น เช่น Jan-2021, Feb-2021, Mar-2021 ที่สำคัญโครงสร้างข้อมูลของแต่ละชีทจะเหมือนกัน คือ มีหัวตารางที่เหมือนกัน และในแต่ละคอลัมน์เป็นข้อมูลที่มีรูปแบบเหมือนกัน (โครงสร้างที่เหมือนกันทุกชีท)

ข้อมูลภายใน Excel ที่มีหลายชีท และมีโครงสร้างแต่ละชีทเหมือนกัน

ขั้นตอนในการนำเข้าและรวมไฟล์ Excel จากหลายไฟล์ ที่มีหลายชีทดังนี้

         1. เปิด Microsoft Excel ไปที่ ป้าย Data > เลือก Get Data > เลือก Form File > เลือก From Folder

นำเข้าไฟล์ Excel ด้วยการ Get Data From Folder

          2. เลือกชื่อ Folder ที่เก็บไฟล์ Excel และคลิก Open จะมีหน้าต่างขึ้นมาแสดงรายละเอียดไฟล์ที่อยู่ใน Folder ให้คลิก Transform Data

เลือก Folder ที่เก็บไฟล์ Excel คลิก Open และคลิก Transform Data

          3. เข้าสู่หน้าต่าง Power Query Editor เลือกคอลัมน์ Content กับ Name แล้วคลิกขวาเลือก Remove Other Columns

เข้าสู่หน้าต่าง Power Query Editor เลือกคอลัมน์ Content กับ Name แล้วคลิกขวาเลือก Remove Other Columns

          4. ที่แท็บเมนู Power Query Editor เลือก Add Column > เลือก Custom Column จะขึ้นหน้าต่าง Custom Column ในส่วน Custom column formula ให้ระบุสูตรตามรูป คือ = Excel.Workbook([Content]) จากนั้นคลิก OK

เลือก Add Custom Column และระบุสูตรเพื่อดึงข้อมูลจากในไฟล์ Excel

          5. คลิกที่รูป ที่คอลัมน์ Custom ที่เพิ่มเข้ามา เพื่อต้องการจะขยายข้อมูลออกมา

คลิกที่สัญลักษณ์ลูกศรคู่ที่อยู่หลังคอลัมน์ Custom เพื่อทำการขยายข้อมูลออกมา

จากนั้นคลิกปุ่ม OK

เลือกข้อมูลที่ต้องการจะนำออกมาและคลิก OK

จะเห็นว่ามีคอลัมน์เพิ่มมาหลังจากทำการขยายข้อมูลออกมา โดยหากข้อมูลในไฟล์ Excel นั้นมีการสร้าง tables หรือสร้าง name ranges ไว้ สามารถกรองเลือกเอาแต่ sheet ได้ ที่คอลัมน์ Custom.Kind (แต่จากข้อมูลตัวอย่างนี้ มีแต่ข้อมูลที่เป็นประเภท sheet อยู่แล้ว) และหากกดเลือกข้อมูลในคอลัมน์ Custom.Data ก็จะพบกับตัวอย่างข้อมูล

 


 

รายละเอียดตารางหลังจากทำการขยายข้อมูลออกมา และสามารถกดดูตัวอย่างข้อมูล

          6. เลือกคอลัมน์ที่ต้องการใช้ในลำดับต่อไป อย่างน้อยจะต้องมีคอลัมน์ Custom.Data ซึ่งในที่นี้จะเลือกคอลัมน์ Name, Custom.Name และ Custom.Data โดยใช้วิธีการเดิมเลือกคอลัมน์ที่ต้องการและคลิกขวาเลือก Remove Other Columns

เลือกคอลัมน์ที่ต้องการใช้ต่อหลังจากการทำขยายข้อมูลออกมา

          7. ทำการขยายข้อมูลในคอลัมน์ Custom.Data โดยไม่ต้องเลือก Use original column name as prefix

ขยายข้อมูลที่คอลัมน์ Custom.Data โดยไม่เลือก Use original column name as prefix

          8. คลิก Use First Row as Headers เพื่อต้องการให้แถวแรกเป็นหัวตารางแทน

คลิก Use First Row as Headers เพื่อต้องการให้แถวแรกเป็นหัวตารางแทน

โดยหลังจากใช้คำสั่ง Use First Row as Headers แล้วหากมีการกำหนด Data type ของแต่ละคอลัมน์ ให้ทำการลบขั้นตอนของคำสั่งนี้ออกก่อน (โดยปกติ step ที่เพิ่มมาจะชื่อว่า Changed Type) โดยจะได้หัวคอลัมน์ที่ไม่ได้มีการกำหนด Data type

หัวตารางที่ถูกำหนดขึ้นมาใหม่ ไม่ให้มีการกำหนด Data type

          9. เปลี่ยนชื่อคอลัมน์ที่ยังไม่ถูกต้อง 2 คอลัมน์

  • ชื่อคอลัมน์ Q1-2021.xlsx เปลี่ยนเป็น File Name
  • ชื่อคอลัมน์ Jan-2021 เปลี่ยนเป็น Sheet Name

         10. ลบข้อมูลส่วนหัวจากชีทอื่นออก โดยการคลิกที่ปุ่มตัวกรองที่คอลัมน์ OrderID และเลือก OrderID ออก แล้วคลิก OK

กรองเอาหัวตารางจากชีทอื่นที่ซ้ำกันออก

          11. ทำการกำหนด Data type ของทุกคอลัมน์ให้ถูกต้อง

กำหนด Data type ทุกคอลัมน์ให้ถูกต้อง

          12. ที่แท็บเมนู Home คลิก Close & Load > เลือก Close and Load To…

 


 

คลิก Close & Load To… เพื่อนำข้อมูลว่างที่ Excel

จากนั้นที่หน้าต่าง Import Data เลือก Table กับตำแหน่งที่ว่างข้อมูลเลือก New Worksheet คลิก OK

นำเข้าข้อมูลจากการทำ Power Query มาว่างเป็น Table ที่ worksheet ใหม่

จะได้ข้อมูลตารางข้อมูลการขายสินค้ารายวัน จากไฟล์ Excel ทั้ง 3 ไฟล์ ที่มียอดขายของเดือนมกราคม 2021 จนถึงเดือนกันยายน 2021

ผลลัพธ์ของการรวมไฟล์ Excel หลายไฟล์ หลายชีท ด้วยการใช้เครื่อง Power Query

          ในที่สุดเราก็ได้ข้อมูลการขายออกมา จากการรวมไฟล์ Excel ทั้ง 3 ไฟล์ ที่มีหลายชีทในแต่ละไฟล์เป็นที่เรียบร้อย แต่ยังไม่จบแค่นั้น คือ หากได้ข้อมูลการขายเพิ่มขึ้นจากส่วนงานอื่นส่งมา เช่น ไฟล์ Q4-2021.xlsx เราเพียงนำไฟล์ดังกล่าวที่ได้มานี้ ไปใส่ไว้ใน Folder เดียวกับไฟล์ Excel 3 ไฟล์ (ตัวอย่างนี้ Folder Sales Data)

นำไฟล์ Excel Q4-2021 ที่เป็นข้อมูลใหม่ เพิ่มเข้าไปใน Folder Sales Data

จากนั้นเปิดไฟล์ Excel ที่ทำการรวมไฟล์ หลายไฟล์ หลายชีทด้วย Power Query และไปที่ แท็บเมนู Data > คลิก Refresh All แล้วรอสักครู่ข้อมูลการขายรายวันจากไฟล์ Q4-2021.xlsx ได้ถูกนำมาเพิ่มต่อท้ายตารางเป็นที่เรียบร้อย ดังคำที่ได้กล่าวไว้ตอนต้นว่า ลดขั้นตอน และลดเวลาในการรวมไฟล์ Excel หลายไฟล์ที่มีหลายชีทได้ในคลิกเดียว

 


 

ผลลัพธ์หลังเพิ่มไฟล์ Excel ลงใน Folder แล้วทำการ Refresh All

          จะเห็นว่าหากรู้จักเครื่องมือ Power Query จะทำให้ประหยัดเวลา ลดขั้นตอนการทำงานได้อย่างมาก ๆ เหมาะกับงานในหลาย ๆ ส่วนที่ต้องการการจัดเตรียมข้อมูลให้พร้อมใช้ เพื่อนำไปใช้งานส่วนอื่น ๆ ต่อ ไม่ว่าจะเป็นการวิเคราะห์ข้อมูล สรุปผลข้อมูล เป็นต้น ขั้นตอนในการใช้ Power Query ในการรวมไฟล์ Excel หลายไฟล์ที่มีมีหลายชีทนั้น สามารถนำไปใช้ได้กับ Power BI Desktop ด้วยเช่นกัน

         หวังว่าบทความนี้จะมีประโยชน์กับผู้อ่านทุกท่าน อย่างไรทางทีมงาน 9Experttraining ขอฝาก Facebook 9Expert Training กับ YouTube 9EXPERT ที่จะมีสิ่งใหม่ ๆ ด้านความรู้เกี่ยวกับการใช้งานโปรแกรมต่าง ๆ มากมาย

แนะนำหลักสูตรการอบรมด้าน Microsoft Excel ของ 9Expert Training

อบรมแบบ Online