CONCATENATE เป็นฟังก์ชันแบบเก่าที่ใช้นำข้อความ ตัวเลข หรือค่าจากเซลล์ต่างๆ มาต่อกันให้เป็นข้อความยาวๆ เพียงเส้นเดียว ปัจจุบันสามารถใช้เครื่องหมาย & หรือฟังก์ชัน CONCAT/TEXTJOIN ซึ่งสะดวกกว่าได้
=CONCATENATE(text1, [text2], ...)
=CONCATENATE(text1, [text2], ...)
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| text1 | Any | Yes | ข้อความ, ตัวเลข, หรือการอ้างอิงเซลล์ส่วนแรก | |
| text2 | Any | Optional | "" | ข้อความ, ตัวเลข, หรือการอ้างอิงเซลล์ส่วนที่สองและอื่นๆ (สูงสุด 255 ส่วน) |
นำชื่อในคอลัมน์ A และนามสกุลในคอลัมน์ B มารวมกันเป็นชื่อเต็ม
รวมรหัสหมวดหมู่ รหัสย่อย และรันนัมเบอร์เข้าด้วยกัน
เช่น "สินค้า [ชื่อสินค้า] มียอดขาย [ยอดขาย] บาท"
CONCATENATE("John", " ", "Smith")=CONCATENATE("John", " ", "Smith")
John Smith
CONCATENATE("PRD", "-", "2024", "-", "001")=CONCATENATE("PRD", "-", "2024", "-", "001")
PRD-2024-001
"Hello"&" "&"World"="Hello"&" "&"World"
Hello World
CONCATENATE("Total: ", 1500, " items")=CONCATENATE("Total: ", 1500, " items")
Total: 1500 items
CONCAT({"A","B","C"})=CONCAT({"A","B","C"})
ABC
TEXTJOIN(", ", TRUE, {"Apple","Banana","Cherry"})=TEXTJOIN(", ", TRUE, {"Apple","Banana","Cherry"})
Apple, Banana, Cherry
ผลลัพธ์เหมือนกัน แต่ & เขียนง่ายกว่า ไม่ต้องพิมพ์ชื่อฟังก์ชัน และไม่จำกัดจำนวน
.
ส่วน CONCATENATE จำกัด 255 arguments ส่วนตัวผมแนะนำให้ใช้ & หรือ CONCAT แทนครับ เพราะเขียนง่ายและอ่านง่ายกว่ามาก 😅
TEXTJOIN (Excel 2019+) ดีที่สุด เพราะกำหนด delimiter ได้และข้ามเซลล์ว่างได้
.
ถ้าไม่ต้องการ delimiter ใช้ CONCAT (รับ Range) ส่วน CONCATENATE ใช้เฉพาะกรณีต้องเปิดไฟล์ใน Excel เก่าเท่านั้นครับ
ไม่ได้ครับ =CONCATENATE(A1:A3) จะได้แค่ค่าแรก (A1) ต้องใส่ทีละเซลล์ =CONCATENATE(A1,A2,A3) หรือใช้ CONCAT/TEXTJOIN ที่รับ Range ได้แทน ที่ต้องระวังคือถ้ามีข้อมูลเยอะ CONCATENATE จะเขียนยาวมากๆ ครับ 😅
ใช้ TEXT แปลงวันที่ก่อน เช่น =CONCATENATE(“Date: “, TEXT(A1, “dd/mm/yyyy”)) ไม่เช่นนั้นจะได้ serial number แทนวันที่
.
ส่วนตัวผมมักจะใช้ & กับ TEXT ครับ เช่น =”Due: “&TEXT(A1,”dd/mm/yyyy”) เขียนสั้นและอ่านง่ายกว่า 💡
ทุกเวอร์ชันตั้งแต่ Excel 2003 แต่ CONCAT และ TEXTJOIN มีตั้งแต่ Excel 2019 / Microsoft 365 เท่านั้น ถ้าต้องการความเข้ากันได้กับ Excel เก่า ใช้ CONCATENATE หรือ & จะปลอดภัยกว่าครับ
CONCATENATE รวมข้อความหลายส่วนเป็นข้อความเดียว เป็น legacy function ที่รองรับสูงสุด 255 arguments แต่ไม่รับ Range
.
ที่เจ๋งคือตอนนี้มีตัวเลือกที่ดีกว่าแล้ว ใช้ CONCAT (รับ Range ได้) หรือ TEXTJOIN (กำหนด delimiter และข้ามเซลล์ว่างได้) หรือแม้แต่เครื่องหมาย & ซึ่งเขียนง่ายกว่าและไม่จำกัดจำนวน
.
ส่วนตัวผมแนะนำให้ใช้ TEXTJOIN สำหรับงานใหม่ครับ CONCATENATE ยังมีไว้เพื่อ backward compatibility กับไฟล์เก่าเท่านั้น 😎