ฟังก์ชัน 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) |
ภาพประกอบต่อไปนี้แสดงผลลัพธ์
ตัวอย่าง 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,"") ส่งกลับข้อความว่างในเซลล์ว่าง
ภาพประกอบต่อไปนี้แสดงผลลัพธ์