VSTACK เป็นฟังก์ชัน Dynamic Array ที่ใช้รวมข้อมูลจากหลายช่วงเข้าด้วยกันโดยนำมาเรียงต่อกันในแนวตั้ง (ต่อท้ายลงไปด้านล่าง) หากช่วงข้อมูลที่นำมารวมมีจำนวนคอลัมน์ไม่เท่ากัน VSTACK จะเติมค่า #N/A ในส่วนที่ขาดหายไปให้โดยอัตโนมัติ
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| array1 | Range | ช่วงข้อมูลหรืออาร์เรย์แรกที่ต้องการนำมาตั้งต้น |
| [array2]ไม่บังคับ | Range | ช่วงข้อมูลอื่นๆ ที่ต้องการนำมาต่อท้าย (สูงสุด 253 ช่วง) |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
ฟังก์ชัน VSTACK ใช้สำหรับนำช่วงข้อมูล (Ranges) หรืออาร์เรย์ (Arrays) หลายๆ ชุดมาต่อกันในแนวตั้ง (Vertical Stack) เพื่อรวมเป็นตารางเดียว ช่วยให้การรวบรวมข้อมูลจากหลายแหล่งทำได้ง่ายและเป็นระเบียบโดยไม่ต้อง Copy-Paste
รวมตารางยอดขายจาก Sheet มกราคม, กุมภาพันธ์, มีนาคม มาไว้ในตารางเดียว
ใช้ VSTACK รวม Header (Array Constant) เข้ากับข้อมูลดิบ
รวมข้อมูลจากหลายตารางแบบ SQL UNION แล้ว FILTER/SORT
รวม 2 Array (2×2) ต่อกันในแนวตั้ง ได้ Array 4×2
สร้าง Header ด้วย Array Constant แล้วต่อข้อมูลจาก A2:B10 ด้านล่าง
รวมข้อมูลยอดขาย 3 เดือนจาก 3 Sheet เป็นตารางเดียว
Array แรกมี 3 คอลัมน์ Array ที่ 2 มี 2 คอลัมน์ VSTACK เติม #N/A ให้อัตโนมัติ
รวม 2 ตารางก่อน แล้ว FILTER เฉพาะแถวที่คอลัมน์แรก > 0
รวมรายการสินค้าจาก 2 แหล่ง แล้ว UNIQUE ตัดรายการซ้ำออก
VSTACK ยึดตามตารางที่มีคอลัมน์มากที่สุด และเติม #N/A ให้ตารางที่น้อยกว่า
VSTACK ต่อข้อมูลในแนวตั้ง (เพิ่มแถว) ส่วน HSTACK ต่อในแนวนอน (เพิ่มคอลัมน์)
รับได้สูงสุด 254 arrays (array1 ถึง array254)
ได้ เช่น VSTACK(Table1, Table2) แต่ต้องระวังจำนวนคอลัมน์ให้เท่ากัน
Excel 365 และ Excel 2021 ขึ้นไปเท่านั้น (Dynamic Array function)
ฟังก์ชันที่ผู้เขียนโยงไว้กับ VSTACK จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
CHOOSECOLS ใช้ดึงคอลัมน์ที่ต้องการจากตารางหรือ Array โดยระบุเลขลำดับคอลัมน์ สามารถดึงได้หลายคอลัมน์พร้อมกัน จัดลำดับใหม่ หรือทำซ้ำคอลัมน์เดิมได้ รองรับการนับคอลัมน์จากขวาสุดโดยใช้เลขลบ (เช่น -1 คือคอลัมน์ขวาสุด)
นับจำนวนคอลัมน์ทั้งหมดในช่วงข้อมูลหรืออาร์เรย์ที่ระบุ ใช้บ่อยคู่กับ OFFSET หรือ VLOOKUP เพื่อทำสูตรแบบ dynamic ที่ปรับตามขนาดตารางเอง
EXPAND ใช้ขยายขนาดของตารางข้อมูลให้ใหญ่ขึ้นตามจำนวนแถวหรือคอลัมน์ที่ระบุ หากตารางเดิมมีขนาดเล็กกว่า ส่วนที่เพิ่มขึ้นมาจะแสดงค่าเป็น #N/A (ค่าเริ่มต้น) หรือค่าที่เรากำหนดเองได้ (pad_with) มีประโยชน์มากในการปรับขนาดข้อมูลให้เท่ากันก่อนนำไปรวมด้วย VSTACK หรือ HSTACK
FILTER กรองข้อมูลจาก Array ตามเงื่อนไขที่กำหนด แล้ว return เป็น Spill Range ที่ขยายอัตโนมัติ เป็น Dynamic Array Function ที่เปลี่ยนวิธีการทำงานกับข้อมูลใน Excel รองรับเงื่อนไขหลายตัว (AND/OR) และสามารถใช้ร่วมกับ SORT UNIQUE XLOOKUP เพื่อสร้างรายงานที่อัปเดตอัตโนมัติ
HSTACK เป็นฟังก์ชัน Dynamic Array ที่ใช้รวมข้อมูลจากหลายช่วงเข้าด้วยกันโดยนำมาเรียงต่อกันในแนวนอน (ต่อท้ายไปทางขวา) หากช่วงข้อมูลที่นำมารวมมีจำนวนแถวไม่เท่ากัน HSTACK จะเติมค่า #N/A ในส่วนที่ขาดหายไปให้โดยอัตโนมัติ
ส่งกลับจำนวนแถวในอาร์เรย์หรือการอ้างอิง ใช้สร้างสูตรแบบ dynamic ที่ขยายขนาดตามข้อมูลจริง ไม่ต้องมานับแถวเองทุกครั้งที่ข้อมูลเปลี่ยน
TOCOL ช่วย "ตบ" ข้อมูลจากตารางหลายมิติให้มาเรียงต่อกันเป็นคอลัมน์เดียว สามารถเลือกวิธีเรียงลำดับได้ว่าจะอ่านจากซ้ายไปขวา (ทีละแถว) หรือบนลงล่าง (ทีละคอลัมน์) และยังมี Option ให้กรองช่องว่างหรือ Error ทิ้งไปโดยอัตโนมัติ เหมาะสำหรับการเตรียมข้อมูล (Data Preparation)
TOROW ช่วยแปลงข้อมูลจากตารางหลายมิติให้มาเรียงต่อกันเป็นแถวเดียว (แนวนอน) สามารถเลือกวิธีเรียงลำดับได้ว่าจะอ่านจากซ้ายไปขวา (ทีละแถว) หรือบนลงล่าง (ทีละคอลัมน์) และเลือกข้ามช่องว่างหรือ Error ได้เหมือน TOCOL
สลับแกนของตารางข้อมูล เปลี่ยนแถวเป็นคอลัมน์และคอลัมน์เป็นแถว ช่วยจัดโครงสร้างข้อมูลให้เหมาะกับการวิเคราะห์และนำเสนอ
WRAPCOLS ห่อ (wrap) ข้อมูล 1 มิติให้กลายเป็นตาราง 2 มิติ โดยเรียงข้อมูลจากบนลงล่างในแต่ละคอลัมน์ เมื่อครบ wrap_count แถวจะขึ้นคอลัมน์ใหม่ รองรับ padding เมื่อข้อมูลไม่พอดี ใช้คู่กับ WRAPROWS TOCOL TOROW เพื่อ reshape ข้อมูล
WRAPROWS ห่อ (wrap) ข้อมูล 1 มิติให้กลายเป็นตาราง 2 มิติ โดยเรียงข้อมูลจากซ้ายไปขวาในแต่ละแถว เมื่อครบ wrap_count คอลัมน์จะขึ้นแถวใหม่ รองรับ padding เมื่อข้อมูลไม่พอดี ใช้คู่กับ WRAPCOLS TOCOL TOROW เพื่อ reshape ข้อมูล
BYCOL ส่งแต่ละคอลัมน์ทั้งคอลัมน์เข้า LAMBDA แล้ว return ผลลัพธ์เป็น Array แถวเดียว ต่างจาก MAP ที่ส่งทีละเซลล์ และ BYROW ที่ส่งทีละแถว ทำให้สามารถคำนวณ SUM, MAX, AVERAGE ของทุกคอลัมน์พร้อมกันในสูตรเดียว แทนที่จะต้องเขียนสูตรซ้ำหลายครั้ง ซึ่งช่วยลดโอกาสเกิดข้อผิดพลาดและทำให้แก้ไข logic ได้ง่ายกว่ามาก เหมาะสำหรับงาน dashboard summary, quality checking และการวิเคราตลัพธ์ทีละคอลัมน์แบบเป็นระบบ
BYROW เป็น LAMBDA Helper Function ที่ประมวลผลข้อมูลทีละแถว โดยส่งแต่ละแถวทั้งหมด (เป็น array) เข้าไปใน LAMBDA แล้ว return ผลลัพธ์เป็นคอลัมน์เดียว ที่เจ๋งคือ BYROW รองรับทั้ง short-form syntax (=BYROW(array, SUM)) สำหรับการ aggregate ง่ายๆ และ custom LAMBDA สำหรับ logic ซับซ้อนที่ต้องตรวจสอบหลายคอลัมน์พร้อมกัน เช่น ตรวจว่านักเรียนผ่านทุกวิชา (MIN>=50) หรือรวมข้อความหลายคอลัมน์ด้วย TEXTJOIN ต่างจาก MAP ที่ทำงานทีละ cell และ BYCOL ที่ทำงานทีละคอลัมน์ BYROW ทำให้คุณเขียน logic ครั้งเดียว แล้วประมวลผลทุกแถวพร้อมกันทันที
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่