ตัวอย่างที่ 1: แปลงตาราง 2 มิติเป็น 1 มิติ
=FLATTEN(A1:C2)
คอลัมน์เดียวที่มีค่า A1, B1, C1, A2, B2, C2 เรียงลงมา
รวมช่วงข้อมูลหลายมิติให้เหลือคอลัมน์เดียว
FLATTEN จะนำช่วงข้อมูลที่กำหนดมาเรียงต่อกันเป็นคอลัมน์เดียว โดยไล่ลำดับจากซ้ายไปขวา ทีละแถว (Row by Row) ใช้เพื่อ Unpivot ข้อมูลหรือรวมข้อมูลที่กระจัดกระจายให้อยู่ในแนวเดียวกัน
=FLATTEN(range1, [range2, ...])
=FLATTEN(range1, [range2, ...])
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| range1 | Range | Yes | ช่วงข้อมูลแรกที่ต้องการแปลง | |
| range2 | Range | Optional | ช่วงข้อมูลเพิ่มเติมที่จะนำมาต่อท้าย |
แปลงตารางสรุป (Crosstab) กลับเป็นตารางฐานข้อมูล (Database Format) เพื่อนำไปทำ Pivot Table
รวมรายชื่อนักเรียนที่อยู่คนละคอลัมน์ (เช่น ห้อง 1, ห้อง 2, ห้อง 3) ให้มาอยู่ในคอลัมน์เดียวกัน
ใช้ร่วมกับ UNIQUE เพื่อหาค่าที่ไม่ซ้ำ (Unique Values) จากช่วงข้อมูล 2 มิติ
=FLATTEN(A1:C2)
คอลัมน์เดียวที่มีค่า A1, B1, C1, A2, B2, C2 เรียงลงมา
=UNIQUE(FLATTEN(A2:C10))
รายการค่าที่ไม่ซ้ำกันทั้งหมดในตาราง A2:C10
=FILTER(FLATTEN(A2:C10), FLATTEN(A2:C10) <> "")
รายการข้อมูลเรียงกันโดยไม่มีช่องว่าง
ใน Excel ใช้ฟังก์ชัน TOCOL แทน (มีใน Excel 365/2021)
FLATTEN เรียงตามแถวก่อน (Row-major order) คือ A1 > B1 > C1 > A2… ถ้าอยากเรียงตามคอลัมน์ต้องใช้ TOCOL ใน Excel หรือใช้ TRANSPOSE ช่วยใน Google Sheets
ฟังก์ชัน FLATTEN ช่วยให้คุณรวมข้อมูลจากหลายคอลัมน์หรือหลายช่วงข้อมูล (Range) ให้กลายเป็นคอลัมน์เดียวเรียงต่อกัน ซึ่งมีประโยชน์มากในการเตรียมข้อมูล (Data Prep) เพื่อนำไปใช้งานต่อใน Pivot Table หรือฟังก์ชันอื่นๆ