การเชื่อม text cell ใน Excel มีหลายวิธีในการรวมข้อความเข้าด้วยกัน แต่ละฟังก์ชันมี “นิสัย” และข้อจำกัดที่ต่างกัน โดยเฉพาะการจัดการกับ ค่าว่าง (Null/Empty cells) หรือ ตัวคั่น (Delimiter)
ช่างเชื่อม &&
เป็นวิธีพื้นฐานที่สุด แค่บอกว่าจะ join cell ไหนบ้างแล้วใช้ && เชื่อม
=B3 & ":" & C3 & ":" & D3 & ":" & E3
มีข้อเสียคือ ถ้า C3 หรือ D3 มันไม่มีค่า จะได้ผลลัพธ์เป็น :: ติด ๆ กัน อาจจะเห็นเป็น ::: ด้วยซ้ำถ้าไม่มี text label เลย ทำให้ดูไม่สวย และไม่เป็นมืออาชีพเท่าไหร่
CONCATENATE
เป็นฟังก์ชันดั้งเดิม ปัจจุบัน Excel แนะนำให้เลิกใช้ เพราะมันไม่รองรับการเลือกแบบ Range (ต้องจิ้มทีละเซลล์) มันไม่ต่างจาก วิธีข้างบนเท่าไหร่
=CONCATENATE(B3, ":", C3, ":", D3, ":", D4, ":", E3)
ฟังก์ชัน CONCAT
มาแทนที่ CONCATENATE ข้างบน พัฒนาให้สามารถลากคลุม Range ได้เลย เช่น =CONCAT(B3:E3) แต่ยัง ไม่สามารถ ใส่ตัวคั่น (Delimiter) ระหว่างเซลล์ได้โดยอัตโนมัติ
=CONCAT(B3:E3)
function TEXTJOIN
ตรงตามชื่อเลย textjoin วิธีใช้คือ
=TEXTJOIN(":", TRUE, B3:E3)
- ตัวคั่น (Delimiter) (จําเป็น) เช่น
":"
สตริงข้อความไม่ว่าจะเป็นสตริงข้อความว่าง, ประกอบอักขระอย่างน้อย 1 ตัวในอัญประกาศ หรือมีการอ้างอิงไปยังสตริงข้อความที่ถูกต้อง ถ้ามีตัวเลขอยู่ก็ถือว่าเป็นข้อความ
- ถ้าว่าง (ignore_empty) (จําเป็น) เช่น TRUE
ถ้าเป็นค่า TRUE ให้ละเว้นเซลล์ว่าง
- ข้อความ 1 (จําเป็น)
รายการข้อความที่จะถูกรวมเข้าด้วยกัน สตริงข้อความ หรืออาร์เรย์ของสตริง เช่น ช่วงเซลล์
- [text2, …] (ไม่บังคับ)
รายการข้อความเพิ่มเติมที่จะถูกรวมเข้าด้วยกัน สามารถมีอาร์กิวเมนต์ข้อความสำหรับรายการข้อความได้สูงสุด 252 รายการ รวมถึง text1 แต่ละรายการสามารถเป็นสตริงข้อความหรืออาเรย์ของสตริงได้ เช่น ช่วงเซลล์
ตารางเปรียบเทียบฟังก์ชันรวมข้อความ
| ฟังก์ชัน | การใช้งานง่าย | จัดการค่าว่าง (Skip Empty) | รองรับ Range (A1:A10) | ความเร็วในการเขียน |
& (Ampersand) | ⭐⭐⭐ | ❌ ทำไม่ได้ | ❌ ไม่ได้ | เร็วที่สุดสำหรับ 2-3 เซลล์ |
CONCATENATE | ⭐⭐ | ❌ ทำไม่ได้ | ❌ ไม่ได้ | เป็นฟังก์ชันเก่า (ไม่แนะนำ) |
CONCAT | ⭐⭐⭐ | ❌ ทำไม่ได้ | ✅ ได้ | รวมทุกอย่างใน Range เข้าด้วยกัน |
TEXTJOIN | ⭐⭐⭐⭐⭐ | ✅ ทำได้ดีเยี่ยม | ✅ ได้ | ดีที่สุด สำหรับการมีตัวคั่น (Delimiter) |
อ่านเพิ่มเติม