VSTACK
อัปเดต 24 ก.ย. 2569 · ตรวจ syntax และเวอร์ชันกับเอกสารของ Microsoft · ผลในตัวอย่างตรวจด้วยเครื่องมือคำนวณ 2 ชุด
VSTACK คืออะไร
ต่อหลายช่วงหรือหลายตารางจากบนลงล่างเป็นตารางเดียว ผลลัพธ์ spill ออกมาและอัปเดตเองเมื่อข้อมูลต้นทางเปลี่ยน
ใช้เมื่อไหร่
- รวมรายงานจากหลายสาขาหรือหลายเดือนที่ใช้แบบฟอร์มเดียวกัน
- ใส่หัวตารางหรือแถวรวมให้ผลลัพธ์ของสูตรอื่น
- รวมข้อมูลหลายช่วงแล้วเรียงหรือกรองต่อในสูตรเดียว
รูปแบบสูตร
Argument แต่ละตัว
ชี้ที่ argument ในรูปแบบสูตรด้านบนเพื่อไฮไลต์แถวนั้น
| Argument | จำเป็นไหม | ความหมาย |
|---|---|---|
| array1 | จำเป็น | ช่วงหรือ array แรก วางไว้บนสุด |
| [array2], … | ไม่บังคับ | ช่วงหรือ array ถัดไป วางต่อลงมาตามลำดับที่ใส่ |
ลองเลย: ตัวอย่างที่เปลี่ยนค่าได้
ข้อมูลชุดเดียวกับไฟล์ฝึก เปลี่ยนค่าในช่องกรอก หรือคลิกตัวเลขในตารางเพื่อแก้ แล้วดูผลลัพธ์เปลี่ยนทันที กดถัดไปเพื่อดูว่า Excel คิดทีละขั้นอย่างไร สีของช่วงในตารางตรงกับสีในสูตร
VSTACK ต่อ A5:C8 (บางนา) กับ E5:G7 (ศรีราชา) จากบนลงล่าง ได้ 7 แถว 3 คอลัมน์
| แถว | A | B | C | D | E | F | G | H |
|---|---|---|---|---|---|---|---|---|
| 4 | สาขา | พนักงานขาย | ยอดขาย (บาท) | สาขา | พนักงานขาย | ยอดขาย (บาท) | ||
| 5 | บางนา | ศิริพร ใจงาม | 142,900 | ศรีราชา | วิไลวรรณ รักดี | 138,600 | ||
| 6 | บางนา | ธนวัฒน์ แก้วใส | 118,250 | ศรีราชา | ณัฐพล มั่นคง | 98,350 | ||
| 7 | บางนา | อัญชลี วงศ์ดี | 135,400 | ศรีราชา | กัลยา พูลผล | 112,600 | ||
| 8 | บางนา | ปกรณ์ สุขใจ | 96,700 | |||||
| 9 | ผลลัพธ์จากสูตรในช่อง A11 · spill ลงมาเอง | |||||||
| 10 | สาขา | พนักงานขาย | ยอดขาย (บาท) | |||||
| 11 | บางนา | ศิริพร ใจงาม | 142,900 | |||||
| 12 | บางนา | ธนวัฒน์ แก้วใส | 118,250 | |||||
| 13 | บางนา | อัญชลี วงศ์ดี | 135,400 | |||||
| 14 | บางนา | ปกรณ์ สุขใจ | 96,700 | |||||
| 15 | ศรีราชา | วิไลวรรณ รักดี | 138,600 | |||||
| 16 | ศรีราชา | ณัฐพล มั่นคง | 98,350 | |||||
| 17 | ศรีราชา | กัลยา พูลผล | 112,600 | |||||
| 18 | ||||||||
| 19 | ||||||||
| 20 | ||||||||
ขั้นตอนการคำนวณ (4)
- อ่านสูตร: แถวของ A5:C8 มาก่อน (4 แถว) ตามด้วย E5:G7 (3 แถว) ลำดับของ argument คือลำดับในผลลัพธ์
- VSTACK ต่อตามตำแหน่งคอลัมน์ ไม่ได้ดูชื่อหัวตาราง ทั้งสองตารางจึงต้องเรียงคอลัมน์เหมือนกัน
- ตารางอยู่คนละชีตก็รวมได้ เช่น =VSTACK('บางนา'!A2:C5,'ศรีราชา'!A2:C4)
ตัวอย่างทั้งหมด 4 แบบ
- 1รวมตารางสองสาขาเป็นตารางเดียว · VSTACK ต่อ A5:C8 (บางนา) กับ E5:G7 (ศรีราชา) จากบนลงล่าง ได้ 7 แถว 3 คอลัมน์
- 2ใส่หัวตารางในสูตรด้วย array constant · {"สาขา","พนักงานขาย","ยอดขาย (บาท)"} คือหัวตาราง 1 แถว 3 คอลัมน์ VSTACK วางไว้บนสุด ผลลัพธ์จึงมีหัวตารางติดไปด้วย
- 3รวมตารางที่คอลัมน์ไม่เท่ากัน แทน #N/A ด้วย IFNA · บางนาส่ง 3 คอลัมน์ แต่ศรีราชาส่งมา 2 คอลัมน์ VSTACK เติม #N/A ในคอลัมน์ที่ขาด แล้ว IFNA เปลี่ยนเป็นค่าใน I4
- 4รวมสองสาขาแล้วจัดอันดับยอดขาย · SORT(VSTACK(…),3,-1) เรียงคอลัมน์ที่ 3 (ยอดขาย) ของตารางที่รวมแล้ว จากมากไปน้อย
ข้อผิดพลาดที่พบบ่อย
เคล็ดลับจากห้องเรียน
ใช้กับ Excel ของคุณได้ไหม
| เวอร์ชัน | Excel 2016 | Excel 2019 | Excel 2021 | Excel 2024 | Microsoft 365 |
|---|---|---|---|---|---|
| VSTACK |
ใช้ Excel 2016, 2019 หรือ 2021 ให้ใช้สูตรเหล่านี้แทน ได้ผลเท่ากับตัวอย่างที่ระบุ และมีในชีต “Excel 2016-2021” ของไฟล์ฝึก ต่างจาก VSTACK ตรงที่ผลลัพธ์ไม่ spill เอง ต้องลากสูตรลงให้พอกับจำนวนรายการ (ไม่ต้องกด Ctrl + Shift + Enter)
| แทนตัวอย่าง | สูตรทางเลือก |
|---|---|
| ตัวอย่าง 1 รวมสองสาขา | =IFERROR(INDEX(A$5:A$8,ROWS(H$5:H5)),INDEX(E$5:E$7,ROWS(H$5:H5)-ROWS($A$5:$A$8))) ลากไปทางขวา 3 คอลัมน์และลงล่าง 7 แถว |
เลือกวิธีให้ถูกงาน
| วิธี | ใช้เมื่อ | ตัวอย่าง |
|---|---|---|
| VSTACK | ต่อตารางจากบนลงล่างด้วยสูตร อัปเดตเองเมื่อต้นทางเปลี่ยน (2024 ขึ้นไป) | =VSTACK(A5:C8,E5:G7) |
| HSTACK | ต่อตารางไปทางขวา เช่น วางคอลัมน์คู่กัน | =HSTACK(B5:B8,C5:C8) |
| Power Query (Append) | รวมหลายชีตหรือหลายไฟล์เป็นประจำ จับคู่คอลัมน์ตามชื่อหัวตาราง | Home > Append Queries |
| คัดลอกวางต่อกัน | รวมครั้งเดียว ไม่ต้องอัปเดต | Ctrl + C แล้ว Ctrl + V |
ใน Power BI ใช้อะไร
ต่อตารางที่มีคอลัมน์เท่ากันในสูตร งานรวมไฟล์นิยมทำใน Power Query (Append)
ไฟล์ฝึก VSTACK
9Expert-VSTACK-Practice-v1.2.xlsx
โจทย์ในชีตแบบฝึกหัด
- ข้อ 1รวมยอดขายของสองสาขาเป็นคอลัมน์เดียว
- ข้อ 2นับจำนวนพนักงานขายของทั้งสองสาขา
- ข้อ 3ใส่คำว่า พนักงานขาย เป็นหัวรายการ แล้วต่อด้วยรายชื่อสาขาบางนา
- ข้อ 4ยอดขายสาขาศรีราชา แล้วต่อท้ายด้วยยอดรวมของสาขา
- ข้อ 5รายชื่อพนักงานทั้งสองสาขา เรียงตามยอดขายจากมากไปน้อย
วิดีโอประกอบ
ในเว็บจริงจะฝังคลิปพร้อมตั้งเวลาเริ่มตรงหัวข้อนี้ ในต้นแบบเปิดผลค้นหาในช่องแทน
เปิดใน YouTubeแบบทดสอบ 3 ข้อ
1. A5:C8 มี 4 แถว E5:G7 มี 3 แถว =VSTACK(A5:C8,E5:G7) ได้กี่แถว
จำนวนแถวของผลลัพธ์คือผลรวมของทุกช่วง 4 + 3 = 7
2. ช่วงหนึ่งมี 3 คอลัมน์ อีกช่วงมี 2 คอลัมน์ VSTACK ได้ผลอย่างไร
จำนวนคอลัมน์เท่ากับช่วงที่กว้างที่สุด และ Excel เติม #N/A ในคอลัมน์ที่ขาด
3. {"สาขา","พนักงานขาย","ยอดขาย"} ใน VSTACK คืออะไร
ใน array constant จุลภาคคั่นคอลัมน์ จึงเป็นหัวตาราง 1 แถว 3 คอลัมน์
ไปต่อ
ต่อยอดใน Microsoft Excel Advanced: สูตรสรุปผลแบบมีเงื่อนไข สูตรสืบค้นข้อมูล สูตรใหม่ใน Microsoft 365 และการจัดการ Error (2 วัน)