CONCATENATE เป็นฟังก์ชันแบบเก่าที่ใช้นำข้อความ ตัวเลข หรือค่าจากเซลล์ต่างๆ มาต่อกันให้เป็นข้อความยาวๆ เพียงเส้นเดียว ปัจจุบันสามารถใช้เครื่องหมาย & หรือฟังก์ชัน CONCAT/TEXTJOIN ซึ่งสะดวกกว่าได้
| อาร์กิวเมนต์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| text1 | Any | ข้อความ, ตัวเลข, หรือการอ้างอิงเซลล์ส่วนแรก | |
| [text2]ไม่บังคับ | Any | "" | ข้อความ, ตัวเลข, หรือการอ้างอิงเซลล์ส่วนที่สองและอื่นๆ (สูงสุด 255 ส่วน) |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
CONCATENATE รวมข้อความหลายส่วนเป็นข้อความเดียว เป็น legacy function ที่รองรับสูงสุด 255 arguments แต่ไม่รับ Range
.
ที่เจ๋งคือตอนนี้มีตัวเลือกที่ดีกว่าแล้ว ใช้ CONCAT (รับ Range ได้) หรือ TEXTJOIN (กำหนด delimiter และข้ามเซลล์ว่างได้) หรือแม้แต่เครื่องหมาย & ซึ่งเขียนง่ายกว่าและไม่จำกัดจำนวน
.
ส่วนตัวผมแนะนำให้ใช้ TEXTJOIN สำหรับงานใหม่ครับ CONCATENATE ยังมีไว้เพื่อ backward compatibility กับไฟล์เก่าเท่านั้น 😎
นำชื่อในคอลัมน์ A และนามสกุลในคอลัมน์ B มารวมกันเป็นชื่อเต็ม
รวมรหัสหมวดหมู่ รหัสย่อย และรันนัมเบอร์เข้าด้วยกัน
เช่น "สินค้า [ชื่อสินค้า] มียอดขาย [ยอดขาย] บาท"
รวม 3 ส่วน: ชื่อ + ช่องว่าง + นามสกุล เป็นข้อความเดียว ส่วนตัวผมใช้แบบนี้บ่อยมากเวลาต้องรวมชื่อจากหลายคอลัมน์ครับ
รวมรหัสหมวด ปี และลำดับ คั่นด้วย – เป็นรหัสสินค้า วิธีนี้ดีสำหรับสร้าง unique ID แบบอัตโนมัติครับ 😎
เครื่องหมาย & ทำงานเหมือน CONCATENATE แต่เขียนง่ายกว่า ไม่ต้องใช้ฟังก์ชัน ไม่จำกัดจำนวน ส่วนตัวผมใช้ & มากกว่า CONCATENATE เยอะครับ 💡
CONCATENATE แปลงตัวเลขเป็นข้อความอัตโนมัติ ไม่ต้องใช้ TEXT ถ้าไม่ต้องการ format พิเศษ สะดวกดีครับ
CONCAT (Excel 2019+) รับ Range หรือ Array ได้ ต่างจาก CONCATENATE ที่ต้องใส่ทีละเซลล์ ที่เจ๋งคือถ้ามีข้อมูลเยอะ ใช้ CONCAT สะดวกกว่าเยอะ
TEXTJOIN (Excel 2019+) กำหนดตัวคั่น (", ") และ TRUE = ข้ามเซลล์ว่าง เอาจริงๆ นะครับ วิธีนี้สะดวกกว่า CONCATENATE มากมาย แนะนำให้ใช้สำหรับงานใหม่ๆ เลยครับ ✨
ผลลัพธ์เหมือนกัน แต่ & เขียนง่ายกว่า ไม่ต้องพิมพ์ชื่อฟังก์ชัน และไม่จำกัดจำนวน
ส่วน 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 จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
ฟังก์ชันที่แปลงอาร์เรย์หรือช่วงเซลล์ให้เป็นข้อความเดียว โดยสามารถเลือกรูปแบบการแสดงผล (อ่านง่ายหรือ Strict Format)
แปลงตัวเลขเป็นคำอ่านภาษาไทย (บาท และสตางค์) ใช้สำหรับเอกสารทางการเงินที่ต้องระบุจำนวนเงินเป็นตัวอักษร
CHAR แปลงรหัสตัวอักษร (1-255) เป็นตัวอักษรจริง มีประโยชน์สำหรับแทรกอักขระพิเศษที่พิมพ์ยาก เช่น การขึ้นบรรทัดใหม่
CONCAT รวมข้อความจากหลายเซลล์ หรือช่วงข้อมูลเข้าด้วยกัน โดยไม่มีตัวคั่นอัตโนมัติ ต่างจาก CONCATENATE ที่ต้องระบุทีละเซลล์ CONCAT ใช้ได้กับช่วง Range ทำให้การรวมข้อมูลขนาดใหญ่ง่ายกว่า
LEFT ดึงตัวอักษรจากด้านซ้ายสุดของข้อความตามจำนวนที่ต้องการ ถ้าไม่ระบุจำนวนจะดึงมา 1 ตัว ผลลัพธ์เป็น Text เสมอแม้ดึงตัวเลขออกมา
MID ตัดข้อความออกจากตำแหน่งเริ่มต้นที่คุณกำหนด โดยระบุความยาวของข้อความที่ต้องการ สะดวกมากสำหรับดึงข้อมูลบางส่วนจากข้อความที่ยาว เช่น รหัสสินค้า, รหัสพนักงาน, หรือวันที่ที่ฝังตัวในข้อความ
RIGHT จะคืนค่าเป็นข้อความ (Text) ที่ถูกตัดมาจากด้านขวาสุดของข้อความต้นฉบับตามจำนวนที่ระบุ ถ้าไม่ระบุจำนวน ฟังก์ชันจะดึงมาเพียง 1 ตัวอักษร
.
ที่เจ๋งคือสามารถใช้ร่วมกับ LEN หรือ FIND เพื่อตัดข้อความแบบไดนามิกได้ ผลลัพธ์ที่ได้จะเป็น Text เสมอ ถ้าต้องการนำไปคำนวณต่อ ต้องแปลงเป็นตัวเลขก่อนครับ
TEXT ใช้รหัสรูปแบบ (Format Codes) เช่น "dd/mm/yyyy" สำหรับวันที่ หรือ "#,##0.00" สำหรับตัวเลขมีทศนิยม ผลลัพธ์ที่ได้จะเป็นข้อความ (Text) เสมอ ไม่สามารถนำไปคำนวณต่อได้
TEXTJOIN รวมข้อความจากหลายเซลล์หรือทั้งช่วงเป็นข้อความเดียว โดยกำหนดตัวคั่นเองได้และสั่งข้ามเซลล์ว่างได้ในคำสั่งเดียว ต่างจาก CONCATENATE ที่ต้องพิมพ์ตัวคั่นและเชื่อมทีละเซลล์เอง งานที่ใช้บ่อยคือรวมที่อยู่หลายบรรทัด สร้างลิสต์คั่นด้วยคอมม่าไว้ส่งออก หรือรวมผลลัพธ์จาก FILTER ให้ออกมาเป็นข้อความเดียว
แปลงค่าใดๆ (ตัวเลข, วันที่, อาร์เรย์, หรือแม้กระทั่ง Error) ให้เป็นข้อความเพื่อใช้งานได้จริง
ISTEXT ตรวจสอบว่าค่าในเซลล์เป็นข้อความจริงหรือไม่ จุดเด่นของมันคือมันแยกความแตกต่างระหว่าง '123' (ข้อความ) กับ 123 (ตัวเลข) ซึ่งช่วยเมื่อต้องการตรวจสอบรูปแบบข้อมูลก่อนคำนวณ
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่