REPLACE แทนที่ข้อความจากตำแหน่งที่กำหนด โดยระบุตำแหน่งเริ่มต้น จำนวนตัวอักษรที่ต้องการลบ และข้อความใหม่ที่จะใส่แทน แตกต่างจาก SUBSTITUTE ที่ค้นหาคำที่ตรงตามความพึงพอใจ REPLACE ใช้ตำแหน่งแน่นอน
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| old_text | Text | ข้อความต้นฉบับที่ต้องการแทนที่ (หรือเซลล์ที่มีข้อความ) |
| start_num | Number | ตำแหน่งตัวอักษรที่เริ่มแทนที่ (1 = ตัวแรก, 2 = ตัวที่สอง เป็นต้น) |
| num_chars | Number | จำนวนตัวอักษรที่ต้องการลบออก (ถ้า 0 จะเป็นการแทรกข้อความโดยไม่ลบ) |
| new_text | Text | ข้อความใหม่ที่จะใส่แทนตำแหน่งที่ลบออก |
ฟังก์ชัน REPLACE ใน Excel ช่วยแทนที่ข้อความโดยระบุตำแหน่งเริ่มต้นและจำนวนตัวอักษรที่ต้องการแทนที่ เหมาะสำหรับการทำความสะอาดข้อมูลและซ่อนข้อมูลส่วนตัว
ซ่อนเบอร์บัตรประชาชน เบอร์บัญชีธนาคาร หรือเบอร์โทรศัพท์ โดยแทนที่ส่วนกลางด้วย * หรือ X เพื่อแสดงในรายงานเท่านั้น
เปลี่ยนปี รหัสสาขา หรือคำนำหน้าในข้อมูลที่มีรูปแบบ เช่น "BKK-2023-0001" เป็น "BKK-2024-0001"
ลบเครื่องหมายหรือช่องว่างที่ไม่ต้องการออกจากข้อความ เช่น ลบ "-" ออกจากหมายเลขโทรศัพท์
แทนที่ตั้งแต่ตัวที่ 1 จำนวน 4 ตัว ("2023") ด้วย "2024" ผลลัพธ์คือ "2024-Data" เหมาะสำหรับการอัปเดตปีในข้อมูลสำคัญ
เริ่มตั้งแต่ตำแหน่ง 5 แทนที่ 3 ตัว ("234") ด้วย "***" เพื่อซ่อนตัวเลขกลาง มีประโยชน์ในการปกป้องข้อมูลเบี้ยวน้อย
เริ่มตั้งแต่ตำแหน่ง 7 (ที่ "W") แทนที่ 5 ตัว ("World") ด้วย "Excel" ได้ผลลัพธ์เป็น "Hello Excel"
เมื่อ num_chars = 0 ฟังก์ชันจะแทรกข้อความใหม่โดยไม่ลบตัวอักษร สูตรนี้แทรกขีด (-) ที่ตำแหน่งที่ 3
แทนที่ตำแหน่ง 6 จำนวน 2 ตัว (", ") ด้วยข้อความว่าง ผลลัพธ์คือ "HelloWorld!" โดยลบเครื่องหมายจุลภาค
REPLACE ใช้ตำแหน่งและจำนวนตัวอักษร ส่วน SUBSTITUTE ค้นหาคำที่ตรงตามข้อความและแทนที่ (case-sensitive) REPLACE ดีกว่าเมื่อข้อมูลมีรูปแบบคงที่ เช่น "BKK-2023" เสมอที่ตำแหน่งเดียวกัน
ฟังก์ชันจะคืนข้อความต้นฉบับออกมาตามเดิม ไม่มีข้อผิดพลาด เช่น =REPLACE("Hi", 10, 1, "X") จะได้ "Hi" เพราะตำแหน่ง 10 อยู่นอกขอบเขต
เพราะ REPLACE ทำให้สามารถอัปเดตข้อมูลได้อัตโนมัติในสูตร แล้วสามารถคัดลอกลงมาอีกแถว ถ้าแก้ไขตรงๆ คุณต้องแก้ไขทีละเซลล์ซึ่งช้าและมีโอกาสผิดพลาดสูง
ได้ครับ สามารถซ้อน REPLACE ไว้ในอีกอันหนึ่งได้ เช่น =REPLACE(REPLACE("2023-BKK-001", 1, 4, "2024"), 6, 3, "CGM") จะแทนที่ปีและสาขาพร้อมกัน
เป็นข้อความ (Text) เสมอ แม้ว่าข้อมูลต้นฉบับเป็นตัวเลขก็ตาม หากต้องการนำไปคำนวณ ต้องแปลงเป็นตัวเลขก่อนด้วย VALUE()
ได้ครับ REPLACE นับตำแหน่งตัวอักษรตามปกติ ดังนั้นใช้ได้ทั้งภาษาไทยและภาษาอื่นๆ เช่น =REPLACE("สวัสดี", 1, 2, "ยินดี") ได้ "ยินดีสดี"
ฟังก์ชันที่ผู้เขียนโยงไว้กับ REPLACE จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
FIND ค้นหาตำแหน่งเริ่มต้นของคำที่ต้องการภายในข้อความหลัก โดยสนใจตัวพิมพ์เล็ก-ใหญ่ (เช่น "A" ไม่เหมือนกับ "a") ถ้าค้นหาไม่เจอจะคืนค่า Error #VALUE! มักใช้ร่วมกับ MID, LEFT, RIGHT เพื่อตัดคำตามตำแหน่ง
LEFT ดึงตัวอักษรจากด้านซ้ายสุดของข้อความตามจำนวนที่ต้องการ ถ้าไม่ระบุจำนวนจะดึงมา 1 ตัว ผลลัพธ์เป็น Text เสมอแม้ดึงตัวเลขออกมา
MID ตัดข้อความออกจากตำแหน่งเริ่มต้นที่คุณกำหนด โดยระบุความยาวของข้อความที่ต้องการ สะดวกมากสำหรับดึงข้อมูลบางส่วนจากข้อความที่ยาว เช่น รหัสสินค้า, รหัสพนักงาน, หรือวันที่ที่ฝังตัวในข้อความ
REGEXREPLACE ค้นหาและแทนที่ข้อความจากรูปแบบ Regular Expression ใช้สำหรับ Data Cleaning ที่ซับซ้อน เหมาะสำหรับ Excel 365 รองรับ backreferences
RIGHT จะคืนค่าเป็นข้อความ (Text) ที่ถูกตัดมาจากด้านขวาสุดของข้อความต้นฉบับตามจำนวนที่ระบุ ถ้าไม่ระบุจำนวน ฟังก์ชันจะดึงมาเพียง 1 ตัวอักษร
.
ที่เจ๋งคือสามารถใช้ร่วมกับ LEN หรือ FIND เพื่อตัดข้อความแบบไดนามิกได้ ผลลัพธ์ที่ได้จะเป็น Text เสมอ ถ้าต้องการนำไปคำนวณต่อ ต้องแปลงเป็นตัวเลขก่อนครับ
SEARCH ค้นหาตำแหน่งของคำที่ต้องการในข้อความหลัก ถ้าเจอคืนตัวเลขตำแหน่งที่พบ ถ้าไม่เจอคืน #VALUE! ต่างจาก FIND ตรงที่ไม่แยกแยะตัวพิมพ์เล็ก-ใหญ่ (A=a) และใช้ wildcard (* กับ ?) ค้นหาแบบมีรูปแบบได้ เอาไปต่อกับ ISNUMBER ก็กลายเป็นสูตรเช็คว่าเซลล์มีคำนี้อยู่หรือไม่ ซึ่งเป็นวิธีที่ใช้กันบ่อยที่สุดในงานจัดหมวดหมู่หรือกรองข้อมูลจากคำสำคัญ
SUBSTITUTE ค้นหาคำเก่า (old_text) ในข้อความแล้วแทนที่ด้วยคำใหม่ (new_text) โดยแยกแยะตัวพิมพ์เล็ก-ใหญ่ (case-sensitive) และเลือกได้ว่าจะแทนที่ทุกจุดที่เจอ หรือเฉพาะลำดับที่ระบุผ่าน instance_num งานที่ใช้บ่อยคือลบตัวคั่นออกจากตัวเลขที่ถูกเก็บเป็นข้อความ เปลี่ยนโดเมนอีเมลหลังรีแบรนด์ หรือล้างอักขระที่พิมพ์มาผิดรูปแบบก่อนนำไปคำนวณต่อ
TEXT ใช้รหัสรูปแบบ (Format Codes) เช่น "dd/mm/yyyy" สำหรับวันที่ หรือ "#,##0.00" สำหรับตัวเลขมีทศนิยม ผลลัพธ์ที่ได้จะเป็นข้อความ (Text) เสมอ ไม่สามารถนำไปคำนวณต่อได้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่