😀 เราทราบมาแล้วว่าสามารถที่จะรวมข้อมูลที่อยู่ในไฟล์เดียวกันแต่อยู่หลาย Sheet จากหัวข้อ การนำข้อมูลจากหลาย Sheet มาต่อกันใน Sheet เดียว มาแล้ว ในหัวข้อนี้จะกล่าวถึงเทคนิคและแสดงตัวอย่างการนำข้อมูลจากหลายไฟล์มาต่อกันในไฟล์เดียวบ้าง ซึ่งเป็นเทคนิคที่น่ามหัศจรรย์เป็นอย่างยิ่ง โดยไม่ต้องพึ่งการเขียน Code VBA แต่อย่างใด และไม่ต้องเปิดไฟล์ต้นทางที่เรานำข้อมูลมาแสดงครับ
สมมุติว่าข้อมูลที่ต้องการรวมนั้นเป็นข้อมูลของแต่ละโรงเรียน ซึ่งใช้ชื่อโรงเรียนเป็นชื่อไฟล์ ข้อมูลของแต่ละโรงเรียนอยู่ที่ Sheet1 และข้อมูลที่ต้องการนำมาต่อกันเป็นฐานข้อมูลนั้นอยู่ที่ A2:D2 และข้อมูลเก็บอยู่ที่โฟลเดอร์ D:\Data
วิธีการ
- เปิดไฟล์เปล่าขึ้นมา 1 ไฟล์
- ที่ A1 คีย์
="='D:\Data\"
- ที่ B2:B200 เป็นชื่อโรงเรียน
- ที่ C1:F1 คีย์ A2, B2, C2, D2 ตามลำดับ
- ที่ C2 คีย์
=$A$1&"["&$B2&".xls]Sheet1'!"&C$1
- Copy ข้อ 5 ไปวาง C2:F200
- Copy ข้อ 6 แล้ววางเป็น Value
- เข้าเมนู Edit > Replace (แป้นลัดคือ Ctrl+H) > ที่ช่องบนและช่องล่างใส่เครื่องหมาย = จากนั้นคลิกปุ่ม Replace All ดูรูปประกอบด้านล่างครับ
ภาพการรวมข้อมูลจากหลายไฟล์มาไว้ในไฟล์เดียว
สำหรับแนวทางการประยุกต์เพื่อที่จะนำข้อมูลในแต่ละไฟล์มาแสดง โดยที่ไฟล์ต้นทางมีข้อมูลหลายบรรทัดต้องใช้สูตรเข้ามาช่วยเพื่อแสดงชื่อโรงเรียนซ้ำกันเท่ากับจำนวนที่มีข้อมูลในแต่ละไฟล์ ประกอบกับการเขียนฟังก์ชั่นตามภาพด้านบนครับ 🙄
Revised: January 28, 2017 at 19:34
ถ้าชื่อไฟล์นั้นต่างกันละคะโดยสิ้นเชิง ไม่สามารถลาก school1, school2, school3 ได้ละคะ ทำอย่างไรดี
สมมติว่าในโฟลเดอร์นั้นมีประมาณ 100 ไฟล์ได้ ถ้าให้พิมพ์ชื่อไฟล์คงไม่ไหว มีเทคนิคไหมคะ นอกจาก VBA
ขอบคุณคะ
🙂 หากไม่ใช้ VBA เราสามารถใช้เทคนิคการ Copy มาได้ แต่จะต้องใช้โปรแกรมอื่นช่วย โปรแกรมที่ว่านี้สามารถจะ Copy โดยนำมาเฉพาะข้อความได้ ยกตัวอย่างเช่น
OneNote
SnagIt
เป็นต้น
ซึ่งจะต้องเปิด Explorer แล้วเข้าไปใน Folder ที่เก็บไฟล์ทั้งหลายแล้ว Copy เอาชื่อไฟล์ใน Folder นั้นลงมาวางใน Excel แทนการคีย์เข้าไปเองครับ