รวมข้อมูลหลาย Sheet เข้าด้วยกันด้วยสูตร Vstack

1/16 แก้ไขเป็น

... อ่านเพิ่มเติมเวลาต้อง “รวม Excel หลาย sheet เป็น sheet เดียว” ฉันเคยใช้วิธี Copy/Paste จนไฟล์พังบ่อยมาก ทั้งหัวตารางไม่ตรงกัน แถวหาย หรือเรียงคอลัมน์สลับกัน สุดท้ายมาจบที่ฟังก์ชัน VSTACK เพราะมันช่วยต่อข้อมูลจากหลายช่วง/หลายชีตให้เป็นตารางเดียวแบบอัปเดตอัตโนมัติ 1) เตรียมข้อมูลให้ VSTACK ทำงานลื่น - ทำให้แต่ละชีตมี “คอลัมน์เหมือนกันและเรียงเหมือนกัน” เช่น วันที่, รายการ, หมวด, จำนวน, หมายเหตุ - พยายามให้ช่วงข้อมูลเป็น Table (กด Ctrl+T) จะขยายช่วงอัตโนมัติ เวลาเพิ่มแถวใหม่ - เช็กว่าชนิดข้อมูลใกล้เคียงกัน เช่น คอลัมน์วันที่เป็น Date จริง ไม่ใช่ข้อความ 2) ตัวอย่างสูตร VSTACK แบบง่าย (รวมช่วงข้อมูลตรงๆ) สมมติชีตชื่อ Jan, Feb, Mar และข้อมูลอยู่ช่วง A2:E200 (ตัดหัวตารางออก) =VSTACK(Jan!A2:E200,Feb!A2:E200,Mar!A2:E200) ผลลัพธ์จะต่อแถวจาก Jan แล้วตามด้วย Feb และ Mar ในชีตสรุปทันที 3) รวมแบบ “มีหัวตารางครั้งเดียว” ให้ดูเป็นระเบียบ ถ้าหัวตารางอยู่แถว 1 เหมือนกันทุกชีต ให้ดึงหัวจากชีตแรก แล้วค่อย VSTACK เฉพาะข้อมูล =VSTACK(Jan!A1:E1,Jan!A2:E200,Feb!A2:E200,Mar!A2:E200) แบบนี้จะมีหัวตารางแค่ชุดเดียว ไม่ซ้ำทุกเดือน 4) ทริคเพิ่มคอลัมน์บอกว่าแถวนี้มาจากชีตไหน อันนี้ช่วยมากเวลาอยากกรองดูข้อมูลรายเดือน/รายแหล่ง =VSTACK( HSTACK("Jan",Jan!A2:E200), HSTACK("Feb",Feb!A2:E200), HSTACK("Mar",Mar!A2:E200) ) จะได้คอลัมน์แรกเป็นชื่อเดือน แล้วค่อยตามด้วยข้อมูลเดิม 5) ปัญหาที่เจอบ่อยและวิธีแก้ - #N/A หรือขนาดช่วงไม่เท่ากัน: ให้กำหนดจำนวนคอลัมน์ให้เท่ากันทุกชีต และอย่าเลือกช่วงเกินคอลัมน์จริง - มีแถวว่างแทรกเยอะ: ลองใช้ FILTER ตัดแถวว่าง เช่น FILTER(range,INDEX(range,,1)<>"") ก่อนนำไป VSTACK - อยากให้ข้อมูลเรียงใหม่หลังรวม: ใช้ SORT กับผลลัพธ์ VSTACK เช่น SORT(VSTACK(...),1,TRUE) เพื่อเรียงตามคอลัมน์แรก ถ้าคุณทำรายงานประจำเดือน/รวมยอดหลายแผนก วิธีนี้ช่วยลดเวลางานมาก เพราะแค่เพิ่มข้อมูลในชีตย่อย ชีตรวมก็อัปเดตเอง ไม่ต้องนั่งรวมมืออีกต่อไป

ค้นหา ·
วิธีใช้ vstack ใน excel

1 ความคิดเห็น

รูปภาพของ meenanakorn190968
meenanakorn190968

ขอบคุณมากค่ะ สำหรับการแบ่งปัน นี้