การใช้ฟังก์ชัน Excel REPLACE และ SUBSTITUTE - ตัวอย่างสูตร

  • แบ่งปันสิ่งนี้
Michael Brown

บทช่วยสอนอธิบายฟังก์ชัน Excel REPLACE และ SUBSTITUTE พร้อมตัวอย่างการใช้งาน ดูวิธีใช้ฟังก์ชัน REPLACE กับสตริงข้อความ ตัวเลข และวันที่ และวิธีซ้อนฟังก์ชัน REPLACE หรือ SUBSTITUTE หลายๆ ฟังก์ชันไว้ในสูตรเดียว

สัปดาห์ที่แล้วเราได้พูดถึงวิธีต่างๆ ในการใช้ฟังก์ชัน FIND และ SEARCH ภายใน แผ่นงาน Excel ของคุณ วันนี้เราจะพิจารณาฟังก์ชันอื่นอีกสองฟังก์ชันอย่างละเอียดยิ่งขึ้นเพื่อแทนที่ข้อความในเซลล์ตามตำแหน่งหรือแทนที่สตริงข้อความหนึ่งด้วยอีกสตริงหนึ่งตามเนื้อหา อย่างที่คุณเดา ฉันกำลังพูดถึงฟังก์ชัน REPLACE และ SUBSTITUTE ของ Excel

    ฟังก์ชัน REPLACE ของ Excel

    ฟังก์ชัน REPLACE ใน Excel ช่วยให้คุณสามารถสลับฟังก์ชันหนึ่งหรือหลายฟังก์ชัน อักขระในสตริงข้อความที่มีอักขระอื่นหรือชุดของอักขระ

    REPLACE(old_text, start_num, num_chars, new_text)

    อย่างที่คุณเห็น ฟังก์ชัน Excel REPLACE มีอาร์กิวเมนต์ 4 ตัว ซึ่งจำเป็นต้องมีทั้งหมด

    • Old_text - ข้อความต้นฉบับ (หรือการอ้างอิงไปยังเซลล์ที่มีข้อความต้นฉบับ) ที่คุณต้องการแทนที่อักขระบางตัว
    • Start_num - ตำแหน่งของอักขระตัวแรกภายใน old_text ที่คุณต้องการแทนที่
    • Num_chars - จำนวนอักขระที่คุณต้องการแทนที่
    • New_text - ข้อความแทนที่

    ตัวอย่างเช่น หากต้องการเปลี่ยนคำว่า " ดวงอาทิตย์ " เป็น " ลูกชาย " คุณสามารถใช้ข้อความต่อไปนี้สูตร:

    =REPLACE("sun", 2, 1, "o")

    และถ้าคุณใส่คำต้นฉบับในบางเซลล์ เช่น A2 คุณสามารถระบุการอ้างอิงเซลล์ที่เกี่ยวข้องในอาร์กิวเมนต์ old_text:

    =REPLACE(A2, 2, 1, "o") <3

    หมายเหตุ ถ้าอาร์กิวเมนต์ start_num หรือ num_chars เป็นค่าลบหรือไม่ใช่ตัวเลข สูตรแทนที่ด้วย Excel จะส่งกลับ #VALUE! ข้อผิดพลาด

    การใช้ฟังก์ชัน REPLACE ของ Excel ด้วยค่าตัวเลข

    ฟังก์ชัน REPLACE ใน Excel ออกแบบมาเพื่อทำงานกับสตริงข้อความ แน่นอน คุณสามารถใช้เพื่อแทนที่อักขระตัวเลขที่เป็นส่วนหนึ่งของสตริงข้อความ เช่น:

    =REPLACE(A2, 7, 4, "2016")

    โปรดสังเกตว่าเราใส่ "2016" " ในเครื่องหมายอัญประกาศคู่เหมือนที่คุณมักจะทำกับค่าข้อความ

    ในลักษณะที่คล้ายกัน คุณสามารถแทนที่ตัวเลขตั้งแต่หนึ่งหลักขึ้นไปภายในตัวเลข ตัวอย่างเช่น:

    =REPLACE(A4, 4, 4,"6")

    และอีกครั้ง คุณต้องใส่ค่าแทนที่ในเครื่องหมายคำพูดคู่ ("6")

    บันทึก. สูตร Excel REPLACE จะส่งคืน สตริงข้อความ เสมอ ไม่ใช่ตัวเลข ในภาพหน้าจอด้านบน ให้สังเกตการจัดชิดซ้ายของค่าข้อความที่ส่งกลับใน B2 และเปรียบเทียบกับตัวเลขดั้งเดิมที่จัดชิดขวาใน A2 และเนื่องจากเป็นค่าข้อความ คุณจะไม่สามารถใช้ค่านี้ในการคำนวณอื่นๆ ได้ เว้นแต่คุณจะแปลงค่ากลับเป็นตัวเลข เช่น คูณด้วย 1 หรือใช้วิธีอื่นที่อธิบายไว้ในวิธีแปลงข้อความเป็นตัวเลข

    การใช้ฟังก์ชัน REPLACE ของ Excel ด้วยวันที่

    อย่างที่คุณเพิ่งเห็น ฟังก์ชัน REPLACE ทำงานได้ดีกับตัวเลข ยกเว้นว่าจะส่งคืนสตริงข้อความ :) โปรดจำไว้ว่าในระบบ Excel ภายใน วันที่จะถูกจัดเก็บเป็นตัวเลข คุณอาจลองใช้สูตรแทนที่วันที่ ผลลัพธ์ค่อนข้างน่าอาย

    เช่น คุณมีวันที่ใน A2 เช่น 1-ต.ค.-14 และคุณต้องการเปลี่ยน " ต.ค. " เป็น " พ.ย. ". ดังนั้น คุณจึงเขียนสูตร REPLACE(A2, 4, 3, "Nov") ที่บอกให้ Excel แทนที่ 3 chars ในเซลล์ A2 โดยเริ่มจาก 4th char… และได้ผลลัพธ์ดังต่อไปนี้:

    ทำไมล่ะ เนื่องจาก "01-Oct-14" เป็นเพียงการแสดงภาพของหมายเลขประจำเครื่อง (41913) ที่แสดงถึงวันที่ ดังนั้น สูตรแทนที่ของเราจะเปลี่ยนตัวเลข 3 หลักสุดท้ายในหมายเลขซีเรียลด้านบนเป็น " พ.ย. " และส่งกลับสตริงข้อความ "419 พ.ย."

    เพื่อให้ฟังก์ชัน Excel REPLACE ทำงานได้อย่างถูกต้อง วันที่ คุณสามารถแปลงวันที่เป็นสตริงข้อความก่อนได้โดยใช้ฟังก์ชัน TEXT หรือเทคนิคอื่นๆ ที่แสดงใน วิธีแปลงวันที่เป็นข้อความใน Excel หรือคุณสามารถฝังฟังก์ชัน TEXT โดยตรงในอาร์กิวเมนต์ old_text ของฟังก์ชัน REPLACE:

    =REPLACE(TEXT(A2, "dd-mmm-yy"), 4, 3, "Nov")

    โปรดจำไว้ว่าผลลัพธ์ของสูตรข้างต้นคือ สตริงข้อความ ดังนั้นโซลูชันนี้จึงใช้ได้ก็ต่อเมื่อคุณไม่ได้วางแผนที่จะใช้วันที่แก้ไขในการคำนวณเพิ่มเติม หากคุณต้องการวันที่แทนสตริงข้อความ ให้ใช้ฟังก์ชัน DATEVALUE เพื่อเปลี่ยนค่าที่ส่งคืนฟังก์ชัน REPLACE ของ Excel ย้อนกลับไปเป็นวันที่:

    =DATEVALUE(REPLACE(TEXT(A2, "dd-mmm-yy"), 4, 3, "Nov"))

    ฟังก์ชัน REPLACE ที่ซ้อนกันเพื่อแทนที่หลายรายการในเซลล์หนึ่ง

    ค่อนข้างบ่อย คุณอาจต้องทำการแทนที่มากกว่าหนึ่งครั้งใน เซลล์เดียวกัน แน่นอน คุณสามารถทำการแทนที่หนึ่งครั้ง แสดงผลผลลัพธ์ระหว่างกลางในคอลัมน์เพิ่มเติม จากนั้นใช้ฟังก์ชัน REPLACE อีกครั้ง อย่างไรก็ตาม วิธีที่ดีและเป็นมืออาชีพกว่าคือการใช้ ฟังก์ชัน REPLACE ที่ซ้อนกัน ที่ให้คุณทำการแทนที่หลายรายการด้วยสูตรเดียว ในบริบทนี้ "การซ้อน" หมายถึงการวางฟังก์ชันหนึ่งไว้ในอีกฟังก์ชันหนึ่ง

    พิจารณาตัวอย่างต่อไปนี้ สมมติว่าคุณมีรายการหมายเลขโทรศัพท์ในคอลัมน์ A ซึ่งจัดรูปแบบเป็น "123456789" และคุณต้องการทำให้ดูเหมือนหมายเลขโทรศัพท์มากขึ้นโดยการเพิ่มเครื่องหมายยัติภังค์ กล่าวคือ เป้าหมายของคุณคือเปลี่ยน "123456789" เป็น "123-456-789"

    การใส่ยัติภังค์ตัวแรกนั้นง่ายมาก คุณเขียนสูตรการแทนที่ของ Excel ตามปกติซึ่งแทนที่ อักขระศูนย์ ด้วยยัติภังค์ เช่น เพิ่มยัติภังค์ในตำแหน่งที่ 4 ในเซลล์:

    =REPLACE(A2,4,0,"-")

    ผลลัพธ์ของ สูตรแทนที่ด้านบนมีดังนี้:

    เอาล่ะ และตอนนี้เราต้องแทรกยัติภังค์อีกหนึ่งตัวในตำแหน่งที่ 8 ในการทำเช่นนี้ ให้คุณวางสูตรข้างต้นไว้ในฟังก์ชัน REPLACE อื่นของ Excel ให้แม่นยำยิ่งขึ้น คุณฝังไว้ในอาร์กิวเมนต์ old_text ของฟังก์ชันอื่น เพื่อให้ฟังก์ชัน REPLACE ที่สองจัดการกับค่าที่ส่งกลับโดยแทนที่ก่อน ไม่ใช่ค่าในเซลล์ A2:

    =REPLACE(REPLACE(A2,4,0,"-"),8,0,"-")

    ด้วยเหตุนี้ คุณจะได้หมายเลขโทรศัพท์ในรูปแบบที่ต้องการ:

    ในลักษณะที่คล้ายกัน คุณสามารถใช้ฟังก์ชัน REPLACE ที่ซ้อนกันเพื่อทำให้สตริงข้อความดูเหมือนวันที่โดยเพิ่มเครื่องหมายทับ (/) ตามความเหมาะสม:

    =(REPLACE(REPLACE(A2,3,0,"/"),6,0,"/"))

    นอกจากนี้ คุณสามารถแปลงสตริงข้อความเป็นวันที่จริงได้โดยการรวมสูตร REPLACE ด้านบนด้วยฟังก์ชัน DATEVALUE:

    =DATEVALUE(REPLACE(REPLACE(A2,3,0,"/"),6,0,"/"))

    และแน่นอนว่าคุณไม่จำกัดจำนวนฟังก์ชัน คุณสามารถซ้อนภายในสูตรเดียว (เวอร์ชันปัจจุบันของ Excel 2010, 2013 และ 2016 อนุญาตให้มีอักขระได้สูงสุด 8,192 ตัวและฟังก์ชันที่ซ้อนกันสูงสุด 64 ฟังก์ชันในสูตรหนึ่งๆ)

    ตัวอย่างเช่น คุณสามารถใช้ฟังก์ชัน REPLACE ที่ซ้อนกัน 3 ฟังก์ชันเพื่อ มีตัวเลขใน A2 ปรากฏเป็นวันที่และเวลา:

    =REPLACE(REPLACE(REPLACE(REPLACE(A2,3,0,"/") ,6,0,"/"), 9,0, " "), 12,0, ":")

    การแทนที่สตริงที่ปรากฏในตำแหน่งอื่นในแต่ละเซลล์

    จนถึงตอนนี้ ในตัวอย่างทั้งหมด เราได้จัดการกับค่าที่มีลักษณะคล้ายกัน และได้ทำการแทนที่ในตำแหน่งเดียวกัน ในแต่ละเซลล์ แต่งานในชีวิตจริงมักจะซับซ้อนกว่านั้น ในเวิร์กชีตของคุณ อักขระที่จะแทนที่อาจไม่จำเป็นต้องปรากฏในตำแหน่งเดียวกันในแต่ละเซลล์ ดังนั้น คุณจะต้อง ค้นหาตำแหน่งของอักขระตัวแรก ที่ควรแทนที่ ตัวอย่างต่อไปนี้จะแสดงให้เห็นถึงสิ่งที่ฉันกำลังพูดถึง

    สมมติว่าคุณมีรายชื่ออีเมลที่อยู่ในคอลัมน์ A และชื่อของบริษัทหนึ่งได้เปลี่ยนจาก "ABC" เป็น "BCA" ดังนั้น คุณต้องอัปเดตที่อยู่อีเมลของลูกค้าทั้งหมดให้สอดคล้องกัน

    แต่ปัญหาคือชื่อลูกค้ามีความยาวต่างกัน และนั่นเป็นสาเหตุที่คุณไม่สามารถระบุได้อย่างชัดเจนว่าชื่อบริษัทเริ่มต้นที่ใด กล่าวอีกนัยหนึ่งคือ คุณไม่ทราบว่าจะต้องระบุค่าใดในอาร์กิวเมนต์ start_num ของฟังก์ชัน Excel REPLACE หากต้องการทราบ ให้ใช้ฟังก์ชัน FIND ของ Excel เพื่อกำหนดตำแหน่งของอักขระตัวแรกในสตริง "@abc":

    =FIND("@abc",A2)

    จากนั้น ให้ระบุฟังก์ชัน FIND ข้างต้นใน start_num อาร์กิวเมนต์ของสูตร REPLACE ของคุณ:

    =REPLACE(A2, FIND("@abc",A2), 4, "@bca")

    เคล็ดลับ เรารวม "@" ไว้ในสูตรค้นหาและแทนที่ของ Excel เพื่อหลีกเลี่ยงการแทนที่โดยไม่ตั้งใจในส่วนของชื่อที่อยู่อีเมล แน่นอนว่ามีโอกาสน้อยมากที่การจับคู่ดังกล่าวจะเกิดขึ้น และคุณยังคงต้องการความปลอดภัย

    ตามที่คุณเห็นในภาพหน้าจอต่อไปนี้ สูตรไม่มีปัญหาในการค้นหาและแทนที่ ข้อความเก่ากับข้อความใหม่ อย่างไรก็ตาม หากไม่พบสตริงข้อความที่จะแทนที่ สูตรจะส่งกลับ #VALUE! ข้อผิดพลาด:

    และเราต้องการให้สูตรส่งคืนที่อยู่อีเมลเดิมแทนข้อผิดพลาด ดังนั้นเรามารวม FIND & amp; REPLACE สูตรในฟังก์ชัน IFERROR:

    =IFERROR(REPLACE(A2, FIND("@abc",A2), 4, "@bca"),A2)

    และสูตรที่ปรับปรุงใหม่นี้ก็ใช้ได้อย่างสมบูรณ์แบบใช่ไหม

    อีกสูตรที่ใช้ได้จริงการประยุกต์ใช้ฟังก์ชัน REPLACE คือการทำให้ตัวอักษรตัวแรกในเซลล์เป็นตัวพิมพ์ใหญ่ เมื่อใดก็ตามที่คุณจัดการกับรายชื่อ ผลิตภัณฑ์ และอื่นๆ คุณสามารถใช้สูตรที่ลิงก์ด้านบนเพื่อเปลี่ยนตัวอักษรตัวแรกเป็น UPPERCASE ได้

    เคล็ดลับ หากคุณต้องการแทนที่ในข้อมูลต้นฉบับ วิธีที่ง่ายกว่าคือการใช้กล่องโต้ตอบ Excel FIND and REPLACE

    ฟังก์ชัน SUBSTITUTE ของ Excel

    ฟังก์ชัน SUBSTITUTE ใน Excel จะแทนที่อินสแตนซ์ตั้งแต่หนึ่งรายการขึ้นไป ของอักขระหรือสตริงข้อความที่กำหนดด้วยอักขระที่ระบุ

    ไวยากรณ์ของฟังก์ชัน SUBSTITUTE ของ Excel เป็นดังนี้:

    SUBSTITUTE(text, old_text, new_text, [instance_num])

    อาร์กิวเมนต์สามตัวแรกจำเป็นและอาร์กิวเมนต์สุดท้ายเป็นตัวเลือก

    • ข้อความ - ข้อความต้นฉบับที่คุณต้องการแทนที่อักขระ สามารถระบุเป็นสตริงทดสอบ การอ้างอิงเซลล์ หรือผลลัพธ์ของสูตรอื่น
    • Old_text - อักขระที่คุณต้องการแทนที่
    • New_text - อักขระใหม่ที่จะแทนที่ old_text ด้วย
    • Instance_num - การเกิดขึ้นของ old_text ที่คุณต้องการแทนที่ หากละเว้น ข้อความเก่าทุกรายการจะเปลี่ยนเป็นข้อความใหม่

    ตัวอย่างเช่น สูตรด้านล่างทั้งหมดจะแทนที่ "1" ด้วย "2" ในเซลล์ A2 แต่กลับให้ผลลัพธ์ที่แตกต่างกัน ขึ้นอยู่กับจำนวนที่คุณระบุในอาร์กิวเมนต์สุดท้าย:

    =SUBSTITUTE(A2, "1", "2", 1) - แทนที่ "1" ที่เกิดขึ้นครั้งแรกด้วย"2"

    =SUBSTITUTE(A2, "1", "2", 2) - แทนที่ "1" ครั้งที่สองด้วย "2"

    =SUBSTITUTE(A2, "1", "2") - แทนที่ "1" ทั้งหมดด้วย "2"

    <0

    ในทางปฏิบัติ ฟังก์ชัน SUBSTITUTE ยังใช้สำหรับการลบอักขระที่ไม่ต้องการออกจากเซลล์ด้วย สำหรับตัวอย่างในชีวิตจริง โปรดดู:

    • วิธีลบอักขระหรือคำออกจากสตริง
    • วิธีลบอักขระที่ไม่ต้องการออกจากเซลล์

    หมายเหตุ ฟังก์ชัน SUBSTITUTE ใน Excel คือ คำนึงถึงตัวพิมพ์เล็กและใหญ่ ตัวอย่างเช่น สูตรต่อไปนี้แทนที่อินสแตนซ์ทั้งหมดของ "X" ตัวพิมพ์ใหญ่ด้วย "Y" ในเซลล์ A2 แต่จะไม่แทนที่อินสแตนซ์ใดๆ ของ "x" ตัวพิมพ์เล็ก

    แทนค่าหลายค่าด้วยสูตรเดียว (SUBSTITUTE ที่ซ้อนกัน)

    ในกรณีของฟังก์ชัน REPLACE ของ Excel คุณสามารถซ้อนฟังก์ชัน SUBSTITUTE หลายๆ ฟังก์ชันภายในสูตรเดียวเพื่อทำการแทนที่หลายรายการพร้อมกัน เช่น แทนที่ อักขระหรือสตริงย่อยหลายตัวด้วยสูตรเดียว

    สมมติว่าคุณมีสตริงข้อความเช่น " PR1, ML1, T1 " ในเซลล์ A2 โดยที่ "PR" หมายถึง "Project, "ML " ย่อมาจาก "Milestone" และ "T" หมายถึง "งาน" สิ่งที่คุณต้องการคือแทนที่โค้ดทั้งสามด้วยชื่อเต็ม เพื่อให้บรรลุเป้าหมายนี้ คุณสามารถเขียนสูตร SUBSTITUTE ที่แตกต่างกัน 3 สูตร:

    =SUBSTITUTE(A2,"PR", "Project ")

    =SUBSTITUTE(A2, "ML", "Milestone ")

    =SUBSTITUTE(A2, "T", "Task ")

    จากนั้นจึงรวมเข้าด้วยกัน:

    =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"PR","Project "),"ML","Milestone "),"T","Task ")

    โปรดสังเกตว่าเราได้เพิ่มช่องว่างที่ส่วนท้ายของ แต่ละอาร์กิวเมนต์ new_text ให้ดียิ่งขึ้นอ่านง่าย

    หากต้องการเรียนรู้วิธีอื่นๆ ในการแทนที่ค่าหลายค่าพร้อมกัน โปรดดูวิธีค้นหาและแทนที่จำนวนมากใน Excel

    Excel REPLACE vs . Excel SUBSTITUTE

    ฟังก์ชัน Excel REPLACE และ SUBSTITUTE นั้นคล้ายคลึงกันมากตรงที่ฟังก์ชันทั้งสองนี้ออกแบบมาเพื่อสลับสตริงข้อความ ความแตกต่างระหว่างสองฟังก์ชันมีดังนี้:

    • SUBSTITUTE แทนที่ อินสแตนซ์ ของอักขระที่กำหนดหรือสตริงข้อความหนึ่งตัวหรือมากกว่า ดังนั้น หากคุณทราบข้อความที่จะแทนที่ ให้ใช้ฟังก์ชัน SUBSTITUTE ของ Excel
    • REPLACE จะเปลี่ยนอักขระใน ตำแหน่ง ที่ระบุของสตริงข้อความ ดังนั้น หากคุณทราบตำแหน่งของอักขระที่จะถูกแทนที่ ให้ใช้ฟังก์ชัน REPLACE ของ Excel
    • ฟังก์ชัน SUBSTITUTE ใน Excel อนุญาตให้เพิ่มพารามิเตอร์ทางเลือก (instance_num) ซึ่งระบุว่า เหตุการณ์ใด ของ old_text ควรเปลี่ยนเป็น new_text

    นี่คือวิธีที่คุณใช้ฟังก์ชัน SUBSTITUTE และ REPLACE ใน Excel หวังว่าตัวอย่างเหล่านี้จะเป็นประโยชน์ในการแก้ปัญหางานของคุณ ฉันขอขอบคุณสำหรับการอ่านและหวังว่าจะได้เห็นในบล็อกของเราในสัปดาห์หน้า!

    ดาวน์โหลดสมุดงานแบบฝึกหัด

    ตัวอย่างสูตร REPLACE และ SUBSTITUTE (ไฟล์ .xlsx)

    Michael Brown เป็นผู้ที่ชื่นชอบเทคโนโลยีโดยเฉพาะและมีความหลงใหลในการทำให้กระบวนการที่ซับซ้อนง่ายขึ้นโดยใช้เครื่องมือซอฟต์แวร์ ด้วยประสบการณ์กว่าทศวรรษในอุตสาหกรรมเทคโนโลยี เขาได้ฝึกฝนทักษะของเขาใน Microsoft Excel และ Outlook รวมถึง Google ชีตและเอกสาร บล็อกของ Michael ทุ่มเทให้กับการแบ่งปันความรู้และความเชี่ยวชาญของเขากับผู้อื่น โดยให้คำแนะนำและแบบฝึกหัดที่ทำตามได้ง่ายเพื่อปรับปรุงผลิตภาพและประสิทธิภาพ ไม่ว่าคุณจะเป็นมืออาชีพที่ช่ำชองหรือมือใหม่ บล็อกของ Michael นำเสนอข้อมูลเชิงลึกอันมีค่าและคำแนะนำที่เป็นประโยชน์สำหรับการใช้ประโยชน์สูงสุดจากเครื่องมือซอฟต์แวร์ที่จำเป็นเหล่านี้