เทคนิคการรวมข้อมูลจากหลายไฟล์มาไว้ในไฟล์เดียว

😀 เราทราบมาแล้วว่าสามารถที่จะรวมข้อมูลที่อยู่ในไฟล์เดียวกันแต่อยู่หลาย Sheet จากหัวข้อ การนำข้อมูลจากหลาย Sheet มาต่อกันใน Sheet เดียว มาแล้ว ในหัวข้อนี้จะกล่าวถึงเทคนิคและแสดงตัวอย่างการนำข้อมูลจากหลายไฟล์มาต่อกันในไฟล์เดียวบ้าง ซึ่งเป็นเทคนิคที่น่ามหัศจรรย์เป็นอย่างยิ่ง โดยไม่ต้องพึ่งการเขียน Code VBA แต่อย่างใด และไม่ต้องเปิดไฟล์ต้นทางที่เรานำข้อมูลมาแสดงครับ

สมมุติว่าข้อมูลที่ต้องการรวมนั้นเป็นข้อมูลของแต่ละโรงเรียน ซึ่งใช้ชื่อโรงเรียนเป็นชื่อไฟล์ ข้อมูลของแต่ละโรงเรียนอยู่ที่ Sheet1 และข้อมูลที่ต้องการนำมาต่อกันเป็นฐานข้อมูลนั้นอยู่ที่ A2:D2 และข้อมูลเก็บอยู่ที่โฟลเดอร์ D:\Data

วิธีการ

  1. เปิดไฟล์เปล่าขึ้นมา 1 ไฟล์
  2. ที่ A1 คีย์ ="='D:\Data\"
  3. ที่ B2:B200 เป็นชื่อโรงเรียน
  4. ที่ C1:F1 คีย์ A2, B2, C2, D2 ตามลำดับ
  5. ที่ C2 คีย์ =$A$1&"["&$B2&".xls]Sheet1'!"&C$1
  6. Copy ข้อ 5 ไปวาง C2:F200
  7. Copy ข้อ 6 แล้ววางเป็น Value
  8. เข้าเมนู Edit > Replace (แป้นลัดคือ Ctrl+H) > ที่ช่องบนและช่องล่างใส่เครื่องหมาย = จากนั้นคลิกปุ่ม Replace All ดูรูปประกอบด้านล่างครับ

ภาพการรวมข้อมูลจากหลายไฟล์มาไว้ในไฟล์เดียว

LinkMultiFile
ภาพ 1 การรวมข้อมูลจากหลายไฟล์มาไว้ในไฟล์เดียว

สำหรับแนวทางการประยุกต์เพื่อที่จะนำข้อมูลในแต่ละไฟล์มาแสดง โดยที่ไฟล์ต้นทางมีข้อมูลหลายบรรทัดต้องใช้สูตรเข้ามาช่วยเพื่อแสดงชื่อโรงเรียนซ้ำกันเท่ากับจำนวนที่มีข้อมูลในแต่ละไฟล์ ประกอบกับการเขียนฟังก์ชั่นตามภาพด้านบนครับ 🙄

Revised: January 28, 2017 at 19:34

2 thoughts on “เทคนิคการรวมข้อมูลจากหลายไฟล์มาไว้ในไฟล์เดียว”

  1. ถ้าชื่อไฟล์นั้นต่างกันละคะโดยสิ้นเชิง ไม่สามารถลาก school1, school2, school3 ได้ละคะ ทำอย่างไรดี

    สมมติว่าในโฟลเดอร์นั้นมีประมาณ 100 ไฟล์ได้ ถ้าให้พิมพ์ชื่อไฟล์คงไม่ไหว มีเทคนิคไหมคะ นอกจาก VBA

    ขอบคุณคะ

    1. 🙂 หากไม่ใช้ VBA เราสามารถใช้เทคนิคการ Copy มาได้ แต่จะต้องใช้โปรแกรมอื่นช่วย โปรแกรมที่ว่านี้สามารถจะ Copy โดยนำมาเฉพาะข้อความได้ ยกตัวอย่างเช่น
      OneNote
      SnagIt
      เป็นต้น
      ซึ่งจะต้องเปิด Explorer แล้วเข้าไปใน Folder ที่เก็บไฟล์ทั้งหลายแล้ว Copy เอาชื่อไฟล์ใน Folder นั้นลงมาวางใน Excel แทนการคีย์เข้าไปเองครับ

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top