Thep Excel

REPLACEแทนที่ข้อความตามตำแหน่ง

REPLACE แทนที่ข้อความจากตำแหน่งที่กำหนด โดยระบุตำแหน่งเริ่มต้น จำนวนตัวอักษรที่ต้องการลบ และข้อความใหม่ที่จะใส่แทน แตกต่างจาก SUBSTITUTE ที่ค้นหาคำที่ตรงตามความพึงพอใจ REPLACE ใช้ตำแหน่งแน่นอน

fx
=REPLACE(old_text, start_num, num_chars, new_text)

ความนิยม6/10
ความยาก3/10
ประโยชน์6/10

อัปเดต 14 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
old_text Text ข้อความต้นฉบับที่ต้องการแทนที่ (หรือเซลล์ที่มีข้อความ)
start_num Number ตำแหน่งตัวอักษรที่เริ่มแทนที่ (1 = ตัวแรก, 2 = ตัวที่สอง เป็นต้น)
num_chars Number จำนวนตัวอักษรที่ต้องการลบออก (ถ้า 0 จะเป็นการแทรกข้อความโดยไม่ลบ)
new_text Text ข้อความใหม่ที่จะใส่แทนตำแหน่งที่ลบออก

ฟังก์ชัน REPLACE ใน Excel ช่วยแทนที่ข้อความโดยระบุตำแหน่งเริ่มต้นและจำนวนตัวอักษรที่ต้องการแทนที่ เหมาะสำหรับการทำความสะอาดข้อมูลและซ่อนข้อมูลส่วนตัว

How it works

ปกป้องข้อมูลส่วนตัว (Masking)

ซ่อนเบอร์บัตรประชาชน เบอร์บัญชีธนาคาร หรือเบอร์โทรศัพท์ โดยแทนที่ส่วนกลางด้วย * หรือ X เพื่อแสดงในรายงานเท่านั้น

อัปเดตข้อมูลที่มีรูปแบบคงที่

เปลี่ยนปี รหัสสาขา หรือคำนำหน้าในข้อมูลที่มีรูปแบบ เช่น "BKK-2023-0001" เป็น "BKK-2024-0001"

ทำความสะอาดข้อมูล (Data Cleaning)

ลบเครื่องหมายหรือช่องว่างที่ไม่ต้องการออกจากข้อความ เช่น ลบ "-" ออกจากหมายเลขโทรศัพท์

Examples

ตัวอย่างที่ 1: เปลี่ยนปีในข้อความREPLACE("2023-Data", 1, 4, "2024")

แทนที่ตั้งแต่ตัวที่ 1 จำนวน 4 ตัว ("2023") ด้วย "2024" ผลลัพธ์คือ "2024-Data" เหมาะสำหรับการอัปเดตปีในข้อมูลสำคัญ

fx
=REPLACE("2023-Data", 1, 4, "2024")

ผลลัพธ์2024-Data
ตัวอย่างที่ 2: ซ่อนเบอร์โทรศัพท์เพื่อความเป็นส่วนตัวREPLACE("081-234-5678", 5, 3, "***")

เริ่มตั้งแต่ตำแหน่ง 5 แทนที่ 3 ตัว ("234") ด้วย "***" เพื่อซ่อนตัวเลขกลาง มีประโยชน์ในการปกป้องข้อมูลเบี้ยวน้อย

fx
=REPLACE("081-234-5678", 5, 3, "***")

ผลลัพธ์081-***-5678
ตัวอย่างที่ 3: แทนที่คำในตำแหน่งท้ายREPLACE("Hello World", 7, 5, "Excel")

เริ่มตั้งแต่ตำแหน่ง 7 (ที่ "W") แทนที่ 5 ตัว ("World") ด้วย "Excel" ได้ผลลัพธ์เป็น "Hello Excel"

fx
=REPLACE("Hello World", 7, 5, "Excel")

ผลลัพธ์Hello Excel
ตัวอย่างที่ 4: แทรกข้อความโดยไม่ลบREPLACE("123456", 3, 0, "-")

เมื่อ num_chars = 0 ฟังก์ชันจะแทรกข้อความใหม่โดยไม่ลบตัวอักษร สูตรนี้แทรกขีด (-) ที่ตำแหน่งที่ 3

fx
=REPLACE("123456", 3, 0, "-")

ผลลัพธ์12-3456
ตัวอย่างที่ 5: ลบ characters โดยใส่ข้อความว่างREPLACE("Hello, World!", 6, 2, "")

แทนที่ตำแหน่ง 6 จำนวน 2 ตัว (", ") ด้วยข้อความว่าง ผลลัพธ์คือ "HelloWorld!" โดยลบเครื่องหมายจุลภาค

fx
=REPLACE("Hello, World!", 6, 2, "")

ผลลัพธ์HelloWorld!

FAQs

ความแตกต่างระหว่าง REPLACE กับ SUBSTITUTE คืออะไร?+

REPLACE ใช้ตำแหน่งและจำนวนตัวอักษร ส่วน SUBSTITUTE ค้นหาคำที่ตรงตามข้อความและแทนที่ (case-sensitive) REPLACE ดีกว่าเมื่อข้อมูลมีรูปแบบคงที่ เช่น "BKK-2023" เสมอที่ตำแหน่งเดียวกัน

ถ้า start_num มากกว่าความยาวข้อความจะเกิดอะไร?+

ฟังก์ชันจะคืนข้อความต้นฉบับออกมาตามเดิม ไม่มีข้อผิดพลาด เช่น =REPLACE("Hi", 10, 1, "X") จะได้ "Hi" เพราะตำแหน่ง 10 อยู่นอกขอบเขต

ทำไมต้องใช้ REPLACE แทนที่จะแก้ไขตรงๆ?+

เพราะ REPLACE ทำให้สามารถอัปเดตข้อมูลได้อัตโนมัติในสูตร แล้วสามารถคัดลอกลงมาอีกแถว ถ้าแก้ไขตรงๆ คุณต้องแก้ไขทีละเซลล์ซึ่งช้าและมีโอกาสผิดพลาดสูง

สามารถใช้ REPLACE ซ้อนกันได้ไหม?+

ได้ครับ สามารถซ้อน REPLACE ไว้ในอีกอันหนึ่งได้ เช่น =REPLACE(REPLACE("2023-BKK-001", 1, 4, "2024"), 6, 3, "CGM") จะแทนที่ปีและสาขาพร้อมกัน

ผลลัพธ์จาก REPLACE เป็นตัวเลขหรือข้อความ?+

เป็นข้อความ (Text) เสมอ แม้ว่าข้อมูลต้นฉบับเป็นตัวเลขก็ตาม หากต้องการนำไปคำนวณ ต้องแปลงเป็นตัวเลขก่อนด้วย VALUE()

REPLACE ใช้ได้กับภาษาไทยไหม?+

ได้ครับ REPLACE นับตำแหน่งตัวอักษรตามปกติ ดังนั้นใช้ได้ทั้งภาษาไทยและภาษาอื่นๆ เช่น =REPLACE("สวัสดี", 1, 2, "ยินดี") ได้ "ยินดีสดี"

Resources & Related

ฟังก์ชันที่ผู้เขียนโยงไว้กับ REPLACE จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้REPLACEText
Text (8)
FIND

FIND ค้นหาตำแหน่งเริ่มต้นของคำที่ต้องการภายในข้อความหลัก โดยสนใจตัวพิมพ์เล็ก-ใหญ่ (เช่น "A" ไม่เหมือนกับ "a") ถ้าค้นหาไม่เจอจะคืนค่า Error #VALUE! มักใช้ร่วมกับ MID, LEFT, RIGHT เพื่อตัดคำตามตำแหน่ง

LEFT

LEFT ดึงตัวอักษรจากด้านซ้ายสุดของข้อความตามจำนวนที่ต้องการ ถ้าไม่ระบุจำนวนจะดึงมา 1 ตัว ผลลัพธ์เป็น Text เสมอแม้ดึงตัวเลขออกมา

MID

MID ตัดข้อความออกจากตำแหน่งเริ่มต้นที่คุณกำหนด โดยระบุความยาวของข้อความที่ต้องการ สะดวกมากสำหรับดึงข้อมูลบางส่วนจากข้อความที่ยาว เช่น รหัสสินค้า, รหัสพนักงาน, หรือวันที่ที่ฝังตัวในข้อความ

REGEXREPLACE

REGEXREPLACE ค้นหาและแทนที่ข้อความจากรูปแบบ Regular Expression ใช้สำหรับ Data Cleaning ที่ซับซ้อน เหมาะสำหรับ Excel 365 รองรับ backreferences

RIGHT

RIGHT จะคืนค่าเป็นข้อความ (Text) ที่ถูกตัดมาจากด้านขวาสุดของข้อความต้นฉบับตามจำนวนที่ระบุ ถ้าไม่ระบุจำนวน ฟังก์ชันจะดึงมาเพียง 1 ตัวอักษร
.
ที่เจ๋งคือสามารถใช้ร่วมกับ LEN หรือ FIND เพื่อตัดข้อความแบบไดนามิกได้ ผลลัพธ์ที่ได้จะเป็น Text เสมอ ถ้าต้องการนำไปคำนวณต่อ ต้องแปลงเป็นตัวเลขก่อนครับ

SEARCH

SEARCH ค้นหาตำแหน่งของคำที่ต้องการในข้อความหลัก ถ้าเจอคืนตัวเลขตำแหน่งที่พบ ถ้าไม่เจอคืน #VALUE! ต่างจาก FIND ตรงที่ไม่แยกแยะตัวพิมพ์เล็ก-ใหญ่ (A=a) และใช้ wildcard (* กับ ?) ค้นหาแบบมีรูปแบบได้ เอาไปต่อกับ ISNUMBER ก็กลายเป็นสูตรเช็คว่าเซลล์มีคำนี้อยู่หรือไม่ ซึ่งเป็นวิธีที่ใช้กันบ่อยที่สุดในงานจัดหมวดหมู่หรือกรองข้อมูลจากคำสำคัญ

SUBSTITUTE

SUBSTITUTE ค้นหาคำเก่า (old_text) ในข้อความแล้วแทนที่ด้วยคำใหม่ (new_text) โดยแยกแยะตัวพิมพ์เล็ก-ใหญ่ (case-sensitive) และเลือกได้ว่าจะแทนที่ทุกจุดที่เจอ หรือเฉพาะลำดับที่ระบุผ่าน instance_num งานที่ใช้บ่อยคือลบตัวคั่นออกจากตัวเลขที่ถูกเก็บเป็นข้อความ เปลี่ยนโดเมนอีเมลหลังรีแบรนด์ หรือล้างอักขระที่พิมพ์มาผิดรูปแบบก่อนนำไปคำนวณต่อ

TEXT

TEXT ใช้รหัสรูปแบบ (Format Codes) เช่น "dd/mm/yyyy" สำหรับวันที่ หรือ "#,##0.00" สำหรับตัวเลขมีทศนิยม ผลลัพธ์ที่ได้จะเป็นข้อความ (Text) เสมอ ไม่สามารถนำไปคำนวณต่อได้

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่