ฟังก์ชัน FLATTEN

นำไปใช้กับ
Excel for Microsoft 365 Excel for Microsoft 365 for Mac

ฟังก์ชัน FLATTEN ทําให้อาร์เรย์ที่ซ้อนกัน (อาร์เรย์ของอาร์เรย์) ง่ายขึ้นโดยการแทนที่อาร์เรย์ภายในด้วยเนื้อหา

ไวยากรณ์

ฟังก์ชัน FLATTEN จะเอาชั้นในอย่างน้อยหนึ่งชั้นของการซ้อนออกจากอาร์เรย์

ไวยากรณ์ของฟังก์ชัน FLATTEN คือ

FLATTEN(array, [pad_value], [levels])

อาร์กิวเมนต์ คำอธิบาย
array
(ต้องระบุ)
อาร์เรย์ที่ซ้อนกัน หรือการอ้างอิงไปยังเซลล์หรือช่วงที่มีอาร์เรย์ซ้อนที่คุณต้องการทําให้แบนราบ
pad_value ค่าที่ใช้ในการเติมตําแหน่งว่างเมื่อแบนราบจะทําให้ผลลัพธ์ไม่ใช่สี่เหลี่ยมผืนผ้า ตามค่าเริ่มต้น ตําแหน่งว่างจะถูกเติมด้วยข้อผิดพลาด #N/A
ระดับ จํานวนเลเยอร์ที่จะเอาออกจากภายในอาร์เรย์ ตามค่าเริ่มต้น หนึ่งชั้นจะถูกเอาออก ใส่ 0 เพื่อเอาการซ้อนทุกชั้นออก

หมายเหตุ

  • FLATTEN ไม่มีผลต่อค่าที่ไม่ใช่อาร์เรย์ =FLATTEN(42)ส่งกลับค่า42
  • ถ้า ระดับ มากกว่าจํานวนเลเยอร์ในอาร์เรย์ ทุกเลเยอร์จะถูกเอาออก

ตัวอย่าง

คัดลอกข้อมูลตัวอย่างและวางในเซลล์ A1 ของเวิร์กชีต Excel ใหม่ ถ้าคุณต้องการ คุณสามารถปรับความกว้างของคอลัมน์เพื่อดูข้อมูลทั้งหมดได้

ตัวอย่าง 1

กระจายคอลัมน์ของอาร์เรย์ที่ซ้อนกันออกเป็นตาราง แต่ละเซลล์ในคอลัมน์ A จะมีแถวที่ซ้อนกันของค่าสามค่า

คัดลอกทั้งตาราง แล้ววางลงในเซลล์ A1 ของเวิร์กชีตใหม่ สูตร FLATTEN อยู่ใน A6 และสปิลล์เส้นตารางแบบ 3 คูณ 3 ลงใน A6:C8

ข้อมูล
={}{1,2,3}
={}{4,5,6}
={}{7,8,9}
สูตร
=FLATTEN(A2:A4)

ภาพประกอบต่อไปนี้แสดงผลลัพธ์

ใช้ FLATTEN กับคอลัมน์ของเซลล์ที่แต่ละคอลัมน์มีแถวซ้อนกัน ทําให้เกิดเส้นตารางแบบสามคูณสามแบบแบน

ตัวอย่าง 2

เติมช่องว่างเมื่ออาร์เรย์ที่ซ้อนกันมีขนาดต่างกัน แต่ละเซลล์ในคอลัมน์ A มีแถวที่ซ้อนกัน แต่สองแถวนั้นมีความยาวไม่เท่ากัน

ข้อมูล
={}{1,2,3}
={}{4,5}

การทําให้แบนจะทําให้ได้ผลลัพธ์ที่ไม่สม่ําเสมอ อาร์เรย์ของ Excel ต้องเป็นสี่เหลี่ยมผืนผ้า ดังนั้นตําแหน่งที่ขาดหายไปจะถูกเติมด้วยข้อผิดพลาด #N/A ตามค่าเริ่มต้น หรือด้วยค่าที่คุณระบุใน pad_value

เนื่องจากผลลัพธ์แต่ละรายการจะสปิลล์ ให้ใส่สูตรในเซลล์ที่มีแถวว่างสองแถวและคอลัมน์ว่างสามคอลัมน์ที่พร้อมใช้งาน

=FLATTEN(A2:A3) ส่งกลับ #N/A ในเซลล์ว่าง (ค่าเริ่มต้น)

=FLATTEN(A2:A3,0) ส่งกลับ 0 ในเซลล์ว่าง

=FLATTEN(A2:A3,"") ส่งกลับข้อความว่างในเซลล์ว่าง

ภาพประกอบต่อไปนี้แสดงผลลัพธ์

การใช้อาร์กิวเมนต์ pad_value ใน FLATTEN เพื่อแทนที่ข้อผิดพลาด #N/A ในผลลัพธ์ที่ไม่ชัดเจน