ฟังก์ชัน ARRAYTOTEXT ใน Excel เป็นฟังก์ชันที่ใช้ในการ แปลงข้อมูลในรูปแบบ Array (ตาราง/ช่วงข้อมูล) ให้กลายเป็นข้อความ โดยสามารถเลือกแปลงได้ทั้งแบบ Compact (รวบรัด) หรือแบบ Strict (คงโครงสร้างเดิมไว้)
ARRAYTOTEXT เหมาะสำหรับการแสดงผลข้อมูลที่เป็นช่วงเซลล์หลายค่าให้กลายเป็นข้อความเดียวในเซลล์ เช่น การนำค่าจากตารางมาแสดงเป็นประโยค หรือใช้แปลงข้อมูลก่อนส่งออกไปยังระบบอื่น ๆ
ฟังก์ชันนี้ทำงานร่วมกับ Dynamic Arrays ได้อย่างสมบูรณ์ และใช้ในงานสรุปรายงาน หรือเตรียมข้อมูลเพื่อนำไปใช้ต่อใน Power BI หรือ JSON/XML ได้อย่างสะดวก
ประโยชน์ของฟังก์ชัน ARRAYTOTEXT ใน Excel
- แปลงข้อมูลอาร์เรย์เป็นข้อความเพื่อใช้งานต่อ
- ใช้ร่วมกับ ฟังก์ชัน TEXTJOIN หรือ ฟังก์ชัน CONCAT เพื่อรวมข้อความ
- ใช้ในระบบอัตโนมัติ (automation) เพื่อสร้างรูปแบบที่ต้องการ
- สะดวกต่อการดูหรือแชร์ข้อมูลในรูปแบบข้อความ
รูปแบบการใช้งาน (Syntax)
ARRAYTOTEXT(array, [format])
array(จำเป็น): อาร์เรย์หรือช่วงของเซลล์ที่ต้องการแปลงเป็นข้อความformat(ไม่จำเป็น): ค่าตัวเลขที่ใช้กำหนดรูปแบบของผลลัพธ์- 0 หรือเว้นไว้: แสดงข้อความแบบย่อ (Concise)
- 1: แสดงข้อความแบบละเอียด (Strict)
ตัวอย่างการใช้งาน
=ARRAYTOTEXT(A1:A3)
- ผลลัพธ์ (แบบ concise):
"Apple","Banana","Cherry"
ฟังก์ชัน ARRAYTOTEXT ใน Excel กับการประยุกต์ใช้งาน
ตัวอย่างที่ 1: ใช้รวมชื่อสินค้าสำหรับแสดงในข้อความ

สูตรที่ใช้ (เซลล์ B2)
="รายการสินค้าที่เลือกคือ: "&ARRAYTOTEXT(A2:A4)
ผลลัพธ์
รายการสินค้าที่เลือกคือ: Apple, Banana, Cherry

ตัวอย่างที่ 2: ใช้ร่วมกับ IF เพื่อเช็กว่ามีการเลือกข้อมูลหรือไม่

สูตรที่ใช้ (เซลล์ B2)
=IF(COUNTA(A2:A4)>0, "คุณเลือก: "&ARRAYTOTEXT(A2:A4), "ยังไม่มีการเลือกสินค้า")
ผลลัพธ์
คุณเลือก: Apple, Banana, Cherry

อีกตัวอย่างหนึ่ง สูตรเดียวกัน แต่กำหนด format = 1
=IF(COUNTA(A2:A4)>0, "คุณเลือก: "&ARRAYTOTEXT(A2:A4, 1), "ยังไม่มีการเลือกสินค้า")
จะได้ผลลัพธ์ที่แตกต่างออกไป ดังนี้

ตัวอย่างที่ 3: ใช้ฟังก์ชัน ARRAYTOTEXT ใน Excel แสดงข้อมูลแบบคงโครงสร้าง Array
ต้องการแปลงตาราง 2×2 ให้เห็นโครงสร้างในรูปแบบ {1,2;3,4}
| A | B |
|---|---|
| 1 | 2 |
| 3 | 4 |
สูตร
=ARRAYTOTEXT(A1:B2, 1)

- ระบุ format = 1 หมายถึง แสดงโครงสร้างแบบ strict
- ใช้ comma คั่นคอลัมน์, semicolon คั่นแถว
- มีวงเล็บปีกกา
{}ครอบโครงสร้าง
ผลลัพธ์
{1,2;3,4}

ตัวอย่างที่ 4: รวมชื่อพนักงานจากหลายแถวเป็นข้อความเดียว
มีชื่อพนักงาน 5 คน ต้องการแสดงทั้งหมดในเซลล์เดียวในรูปแบบประโยค
| ชื่อพนักงาน |
|---|
| กิตติ |
| สุภา |
| อารี |
| นพดล |
| วิภา |
สูตร
="พนักงานทั้งหมดคือ: " & ARRAYTOTEXT(A2:A6)

- ARRAYTOTEXT แปลง A2:A6 เป็นข้อความรวม
&ใช้รวมกับข้อความหน้าเซลล์- เหมาะสำหรับสร้างข้อความรายงานอัตโนมัติ
ผลลัพธ์
พนักงานทั้งหมดคือ: กิตติ, สุภา, อารี, นพดล, วิภา

ตัวอย่างที่ 5: ใช้ฟังก์ชัน ARRAYTOTEXT ใน Excel ร่วมกับ IF เพื่อแสดงข้อความเมื่อมีข้อมูล
มีข้อมูลผู้เข้าร่วมอบรม หากมีรายชื่อ มากกว่าหรือเท่ากับ 1 คน ให้แสดงข้อความแบบรวมชื่อ
| ชื่อพนักงาน |
|---|
| กิตติ |
| สุภา |
| อารี |
| นพดล |
| วิภา |
สูตร
=IF(COUNTA(A2:A6)>0, "รายชื่อผู้เข้าอบรม: " & ARRAYTOTEXT(A2:A6), "ยังไม่มีผู้เข้าอบรม")

COUNTA(A2:A6)นับจำนวนชื่อ- ถ้ามี ≥1 → ใช้ ARRAYTOTEXT แสดงชื่อทั้งหมด
- ถ้าไม่มี ให้แสดงข้อความ “ยังไม่มีผู้เข้าอบรม”
ผลลัพธ์ กรณีมีรายชื่อผู้เข้าอบรม

ผลลัพธ์ กรณีไม่มีรายชื่อผู้เข้าอบรม

หมายเหตุ
- ฟังก์ชันนี้มีให้ใช้เฉพาะใน Excel 365 และ Excel เวอร์ชันที่รองรับ Dynamic Arrays
- หากต้องการให้ผลลัพธ์นำไปใช้กับโปรแกรมภายนอก ควรเลือก
format = 1เพื่อให้ข้อมูลมีความชัดเจน - ไม่ควรใช้กับข้อมูลจำนวนมากเกินไป เพราะผลลัพธ์จะยาวมากและอาจทำให้สูตรช้า
- หากใช้ร่วมกับฟังก์ชัน TEXTJOIN, IF, COUNTA, หรือ FILTER จะยิ่งมีความยืดหยุ่นในการสร้างข้อความอัตโนมัติมากขึ้น
สรุป
ฟังก์ชัน ARRAYTOTEXT ใน Excel เป็นเครื่องมือใหม่ที่มีประสิทธิภาพมาก สำหรับการแปลงข้อมูลจากช่วงเซลล์ให้กลายเป็นข้อความในรูปแบบที่เข้าใจง่าย ช่วยลดเวลาการพิมพ์ซ้ำ สร้างข้อความสรุปที่เปลี่ยนตามข้อมูล และรองรับงานด้านการวิเคราะห์และการเตรียมข้อมูลเพื่อส่งออกได้อย่างยืดหยุ่น เหมาะสำหรับผู้ใช้งาน Excel ในระดับมืออาชีพ
ข้อมูลอ้างอิง: ARRAYTOTEXT function
