สลับแกนของตารางข้อมูล เปลี่ยนแถวเป็นคอลัมน์และคอลัมน์เป็นแถว ช่วยจัดโครงสร้างข้อมูลให้เหมาะกับการวิเคราะห์และนำเสนอ
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| array | Range/Array | อาร์เรย์ที่ต้องการสลับแกน |
TRANSPOSE ใช้สลับแกนของตารางข้อมูล (แถวกลายเป็นคอลัมน์ คอลัมน์กลายเป็นแถว)
.
ที่เจ๋งคือ TRANSPOSE ใช้งานง่ายมาก เพียงใส่ Range หรือ Array เดียว ก็สลับแกนได้ทันที
.
ส่วนตัวผม ใช้บ่อยมากเวลาต้องเปลี่ยนโครงสร้างตารางให้เหมาะกับการนำเสนอ 😎
สมมติว่า OriginalData คือ Named Range ที่มีข้อมูล 3 แถว 2 คอลัมน์ (เช่น A1:B3)
สูตรจะสลับแกนข้อมูล ทำให้แถวกลายเป็นคอลัมน์และคอลัมน์กลายเป็นแถว
ผลลัพธ์คือตารางใหม่ที่มี 2 แถว 3 คอลัมน์ ส่วนตัวผม มักใช้วิธีนี้เวลาต้องการเปลี่ยนโครงสร้างข้อมูลให้อ่านง่ายขึ้น 💡
Array Constant {1,2,3;4,5,6} มี 2 แถว 3 คอลัมน์
สูตรจะสลับแกน ทำให้กลายเป็น 3 แถว 2 คอลัมน์ ที่เจ๋งคือผลลัพธ์เป็น Array ที่สามารถนำไปใช้ต่อกับสูตรอื่นได้ทันที 😎
สมมติว่า EmployeeTable คือชื่อ Excel Table
สูตร TRANSPOSE จะสลับ Header ของ EmployeeTable จากแนวนอนเป็นแนวตั้ง
เอาจริงๆ นะครับ วิธีนี้มีประโยชน์มากเวลาต้องการสร้าง List ของ Header ในแนวตั้งเพื่อใช้ใน Dashboard หรือรายงาน 💡
ใช้ TRANSPOSE เพื่อเปลี่ยนลิสต์แนวตั้ง (Column) เป็นแนวนอน (Row)
ส่วนตัวผม ใช้วิธีนี้บ่อยมากเวลาต้องทำ Horizontal Report หรือสร้างแถวหัวตารางจากข้อมูลแนวตั้ง ✨
รวม TRANSPOSE กับ IF และ SEQUENCE เพื่อสร้างแถวข้อมูล Dynamic
ที่เจ๋งคือสามารถใช้ร่วมกับฟังก์ชัน Array อื่นๆ ได้อย่างยืดหยุ่นมาก เหมาะสำหรับสร้างตารางแบบ Dynamic ที่ปรับขนาดอัตโนมัติ 😎
ได้ครับ ใน Excel 365 TRANSPOSE ใช้ได้เป็น Dynamic Array และจะ Spill ผลลัพธ์โดยอัตโนมัติ
ส่วนตัวผม พบว่าฟีเจอร์นี้ช่วยประหยัดเวลาได้มาก เพราะไม่ต้องคำนวณขนาดพื้นที่ที่จะแสดงผลลัพธ์ให้ยุ่งยาก 😎
TRANSPOSE เปลี่ยนแกนของข้อมูล (แถว ↔ คอลัมน์) ส่วน REARRANGE/SORT เรียงลำดับหรือจัดเรียงข้อมูล โดยไม่เปลี่ยนแกน
เอาจริงๆ นะครับ ฟังก์ชันเหล่านี้ทำงานต่างกัน แต่ใช้ร่วมกันได้ดี เช่นใช้ SORT เรียงข้อมูลก่อน แล้วค่อย TRANSPOSE เพื่อเปลี่ยนแกน
ไม่ได้ครับ TRANSPOSE ใช้ได้เฉพาะกับ 2D Range หรือ Array เท่านั้น
ถ้าต้องการจัดการข้อมูล 3 มิติ แนะนำให้ใช้ฟังก์ชันอื่นร่วมด้วย เช่น FLATTEN หรือ VSTACK 💡
จะเกิด #SPILL! Error หากพื้นที่ที่สูตรต้องการแสดงผลมีข้อมูลอื่นขวางอยู่
วิธีแก้คือ ลบข้อมูลที่ขวาง หรือย้ายสูตรไปพื้นที่ว่าง ส่วนตัวผม มักจะวางสูตรในพื้นที่ที่แน่ใจว่าว่างเปล่าเสมอ เพื่อป้องกัน Error นี้ 😅
ไม่แนะนำครับ เพราะ TRANSPOSE อาจให้ผลลัพธ์ที่ไม่คาดหวัง
ที่ต้องระวังคือ ควรใช้กับข้อมูลที่ไม่มี Merged Cells เพื่อความแม่นยำ ถ้าจำเป็นต้องใช้ ควร Unmerge ก่อน
ได้ครับ เช่น =TRANSPOSE(Table1) จะสลับ Table ทั้งตาราง รวมถึง Headers ด้วย
ส่วนตัวผม ชอบใช้วิธีนี้เพื่อสร้าง Summary Report จากตาราง Excel แบบรวดเร็ว โดยไม่ต้องคัดลอกข้อมูลมาวางใหม่ ✨
ฟังก์ชันที่ผู้เขียนโยงไว้กับ TRANSPOSE จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
นับจำนวนคอลัมน์ทั้งหมดในช่วงข้อมูลหรืออาร์เรย์ที่ระบุ ใช้บ่อยคู่กับ OFFSET หรือ VLOOKUP เพื่อทำสูตรแบบ dynamic ที่ปรับตามขนาดตารางเอง
EXPAND ใช้ขยายขนาดของตารางข้อมูลให้ใหญ่ขึ้นตามจำนวนแถวหรือคอลัมน์ที่ระบุ หากตารางเดิมมีขนาดเล็กกว่า ส่วนที่เพิ่มขึ้นมาจะแสดงค่าเป็น #N/A (ค่าเริ่มต้น) หรือค่าที่เรากำหนดเองได้ (pad_with) มีประโยชน์มากในการปรับขนาดข้อมูลให้เท่ากันก่อนนำไปรวมด้วย VSTACK หรือ HSTACK
HSTACK เป็นฟังก์ชัน Dynamic Array ที่ใช้รวมข้อมูลจากหลายช่วงเข้าด้วยกันโดยนำมาเรียงต่อกันในแนวนอน (ต่อท้ายไปทางขวา) หากช่วงข้อมูลที่นำมารวมมีจำนวนแถวไม่เท่ากัน HSTACK จะเติมค่า #N/A ในส่วนที่ขาดหายไปให้โดยอัตโนมัติ
ส่งกลับจำนวนแถวในอาร์เรย์หรือการอ้างอิง ใช้สร้างสูตรแบบ dynamic ที่ขยายขนาดตามข้อมูลจริง ไม่ต้องมานับแถวเองทุกครั้งที่ข้อมูลเปลี่ยน
TOCOL ช่วย "ตบ" ข้อมูลจากตารางหลายมิติให้มาเรียงต่อกันเป็นคอลัมน์เดียว สามารถเลือกวิธีเรียงลำดับได้ว่าจะอ่านจากซ้ายไปขวา (ทีละแถว) หรือบนลงล่าง (ทีละคอลัมน์) และยังมี Option ให้กรองช่องว่างหรือ Error ทิ้งไปโดยอัตโนมัติ เหมาะสำหรับการเตรียมข้อมูล (Data Preparation)
TOROW ช่วยแปลงข้อมูลจากตารางหลายมิติให้มาเรียงต่อกันเป็นแถวเดียว (แนวนอน) สามารถเลือกวิธีเรียงลำดับได้ว่าจะอ่านจากซ้ายไปขวา (ทีละแถว) หรือบนลงล่าง (ทีละคอลัมน์) และเลือกข้ามช่องว่างหรือ Error ได้เหมือน TOCOL
VSTACK เป็นฟังก์ชัน Dynamic Array ที่ใช้รวมข้อมูลจากหลายช่วงเข้าด้วยกันโดยนำมาเรียงต่อกันในแนวตั้ง (ต่อท้ายลงไปด้านล่าง) หากช่วงข้อมูลที่นำมารวมมีจำนวนคอลัมน์ไม่เท่ากัน VSTACK จะเติมค่า #N/A ในส่วนที่ขาดหายไปให้โดยอัตโนมัติ
MDETERM ใช้คำนวณค่า Determinant (ดีเทอร์มิแนนต์) ของเมทริกซ์ในช่วงข้อมูล/อาร์เรย์ เหมาะกับงานเชิงเส้น เช่น ตรวจว่าเมทริกซ์เป็นเอกฐานหรือไม่ (Det=0) และใช้ประกอบการหาผกผันของเมทริกซ์ร่วมกับ MINVERSE
ฟังก์ชันที่ใช้หาค่า Inverse Matrix (เมทริกซ์ผกผัน) จากเมทริกซ์สี่เหลี่ยมจัตุรัส สำหรับใช้แก้ระบบสมการเชิงเส้นหรือการคำนวณทางวิทยาศาสตร์
ฟังก์ชันที่สร้างเมทริกซ์เอกลักษณ์ (Identity Matrix) ขนาด n x n โดยมีเลข 1 ตามแนวเส้นทแยงมุมและเลข 0 ที่ตำแหน่งอื่น ใช้สำหรับการคำนวณพีชคณิตเชิงเส้นและการดำเนินการทางคณิตศาสตร์เมทริกซ์
SEQUENCE สร้างอาร์เรย์ของตัวเลขเรียงลำดับตามเงื่อนไขที่กำหนด สามารถสร้างได้ทั้งแนวตั้ง แนวนอน หรือเป็นตาราง 2 มิติ เป็นฟังก์ชัน Dynamic Array ที่ผลลัพธ์จะ Spill ไปยังเซลล์ข้างเคียงโดยอัตโนมัติ เหมาะสำหรับสร้าง Running Number, ตารางสูตรคูณ, หรือวันที่เรียงต่อเนื่อง
ฟังก์ชันที่แปลงอาร์เรย์หรือช่วงเซลล์ให้เป็นข้อความเดียว โดยสามารถเลือกรูปแบบการแสดงผล (อ่านง่ายหรือ Strict Format)
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่