Menggunakan fungsi Excel REPLACE dan SUBSTITUTE - contoh formula

  • Berkongsi Ini
Michael Brown

Tutorial menerangkan fungsi Excel REPLACE dan SUBSTITUTE dengan contoh penggunaan. Lihat cara menggunakan fungsi REPLACE dengan rentetan teks, nombor dan tarikh serta cara menyusun beberapa fungsi REPLACE atau SUBSTITUTE dalam satu formula.

Minggu lepas kami membincangkan pelbagai cara menggunakan fungsi FIND dan CARI dalam satu formula. lembaran kerja Excel anda. Hari ini, kita akan melihat lebih mendalam pada dua fungsi lain untuk menggantikan teks dalam sel berdasarkan lokasinya atau menggantikan satu rentetan teks dengan yang lain berdasarkan kandungan. Seperti yang anda duga, saya bercakap tentang fungsi Excel REPLACE dan SUBSTITUTE.

    Fungsi Excel REPLACE

    Fungsi REPLACE dalam Excel membolehkan anda menukar satu atau beberapa aksara dalam rentetan teks dengan aksara lain atau satu set aksara.

    REPLACE(old_text, start_num, num_chars, new_text)

    Seperti yang anda lihat, fungsi Excel REPLACE mempunyai 4 argumen, kesemuanya diperlukan.

    • Old_text - teks asal (atau rujukan kepada sel dengan teks asal) yang anda mahu menggantikan beberapa aksara.
    • Start_num - kedudukan aksara pertama dalam old_text yang anda mahu gantikan.
    • Num_chars - bilangan aksara yang anda mahu gantikan.
    • New_text - teks gantian.

    Sebagai contoh, untuk menukar perkataan " matahari " kepada " anak ", anda boleh menggunakan yang berikutformula:

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

    Dan jika anda meletakkan perkataan asal dalam beberapa sel, sebut A2, anda boleh membekalkan rujukan sel yang sepadan dalam argumen old_text:

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

    Nota. Jika argumen start_num atau num_chars adalah negatif atau bukan angka, formula Excel Replace mengembalikan nilai #VALUE! ralat.

    Menggunakan fungsi Excel REPLACE dengan nilai angka

    Fungsi REPLACE dalam Excel direka bentuk untuk berfungsi dengan rentetan teks. Sudah tentu, anda boleh menggunakannya untuk menggantikan aksara angka yang merupakan sebahagian daripada rentetan teks, contohnya:

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

    Perhatikan bahawa kami melampirkan "2016 " dalam petikan berganda seperti yang biasa anda lakukan dengan nilai teks.

    Dengan cara yang sama, anda boleh menggantikan satu atau lebih digit dalam nombor. Contohnya:

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

    Dan sekali lagi, anda perlu menyertakan nilai gantian dalam petikan berganda ("6").

    Catatan. Formula REPLACE Excel sentiasa mengembalikan rentetan teks , bukan nombor. Dalam tangkapan skrin di atas, perhatikan penjajaran kiri nilai teks yang dikembalikan dalam B2 dan bandingkannya dengan nombor asal yang dijajarkan ke kanan dalam A2. Dan kerana ia adalah nilai teks, anda tidak akan dapat menggunakannya dalam pengiraan lain melainkan anda menukarnya kembali kepada nombor, contohnya dengan mendarab dengan 1 atau dengan menggunakan mana-mana kaedah lain yang diterangkan dalam Cara menukar teks kepada nombor.

    Menggunakan fungsi Excel REPLACE dengan tarikh

    Seperti yang baru anda lihat, fungsi REPLACE berfungsi dengan baik dengannombor, kecuali ia mengembalikan rentetan teks :) Mengingati bahawa dalam sistem Excel dalaman, tarikh disimpan sebagai nombor, anda boleh cuba menggunakan beberapa formula Ganti pada tarikh. Keputusan agak memalukan.

    Sebagai contoh, anda mempunyai tarikh dalam A2, katakan 1-Okt-14 dan anda mahu menukar " Okt " kepada " Nov ". Jadi, anda tulis formula REPLACE(A2, 4, 3, "Nov") yang memberitahu Excel untuk menggantikan 3 aksara dalam sel A2 bermula dengan aksara ke-4… dan mendapat hasil berikut:

    Kenapa begitu? Kerana "01-Okt-14" hanyalah perwakilan visual nombor siri asas (41913) yang mewakili tarikh. Jadi, formula Ganti kami menukar 3 digit terakhir dalam nombor siri di atas kepada " Nov " dan mengembalikan rentetan teks "419Nov".

    Untuk mendapatkan fungsi Excel REPLACE berfungsi dengan betul tarikh, anda boleh menukar tarikh kepada rentetan teks terlebih dahulu dengan menggunakan fungsi TEXT atau mana-mana teknik lain yang ditunjukkan dalam Cara menukar tarikh kepada teks dalam Excel. Sebagai alternatif, anda boleh membenamkan fungsi TEXT terus dalam argumen old_text bagi fungsi REPLACE:

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

    Sila ingat bahawa hasil formula di atas ialah rentetan teks , dan oleh itu penyelesaian ini hanya berfungsi jika anda tidak merancang untuk menggunakan tarikh yang diubah suai dalam pengiraan selanjutnya. Jika anda memerlukan tarikh dan bukannya rentetan teks, gunakan fungsi DATEVALUE untuk menukar nilai yang dikembalikanfungsi Excel REPLACE kembali ke tarikh:

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

    Fungsi NEsted REPLACE untuk melakukan beberapa penggantian dalam sel

    Agak kerap, anda mungkin perlu melakukan lebih daripada satu penggantian dalam sel yang sama. Sudah tentu, anda boleh melakukan satu penggantian, mengeluarkan hasil perantaraan ke dalam lajur tambahan, dan kemudian menggunakan fungsi REPLACE sekali lagi. Walau bagaimanapun, cara yang lebih baik dan lebih profesional ialah menggunakan fungsi REPLACE bersarang yang membolehkan anda melakukan beberapa penggantian dengan satu formula. Dalam konteks ini, "bersarang" bermaksud meletakkan satu fungsi dalam yang lain.

    Pertimbangkan contoh berikut. Andainya anda mempunyai senarai nombor telefon dalam lajur A yang diformatkan sebagai "123456789" dan anda mahu menjadikannya lebih kelihatan seperti nombor telefon dengan menambahkan tanda sempang. Dalam erti kata lain, matlamat anda ialah menukar "123456789" kepada "123-456-789".

    Memasukkan sempang pertama adalah mudah. Anda menulis formula Excel Replace biasa yang menggantikan sifar aksara dengan tanda sempang, iaitu menambah sempang di kedudukan ke-4 dalam sel:

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

    Hasil daripada di atas Gantikan formula adalah seperti berikut:

    Baiklah, dan sekarang kita perlu memasukkan satu lagi tanda sempang di kedudukan ke-8. Untuk melakukan ini, anda meletakkan formula di atas dalam fungsi Excel REPLACE yang lain. Lebih tepat lagi, anda membenamkannya dalam argumen old_text bagi fungsi lain, supaya fungsi REPLACE kedua akan mengendalikan nilai yang dikembalikan olehGANTIKAN dahulu, dan bukan nilai dalam sel A2:

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

    Hasilnya, anda mendapat nombor telefon dalam pemformatan yang diingini:

    Dengan cara yang sama, anda boleh menggunakan fungsi REPLACE bersarang untuk menjadikan rentetan teks kelihatan seperti tarikh dengan menambahkan garis miring ke hadapan (/) jika sesuai:

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

    Selain itu, anda boleh menukar rentetan teks kepada tarikh sebenar dengan membungkus formula REPLACE di atas dengan fungsi DATEVALUE:

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

    Dan secara semulajadi, anda tidak terhad dalam bilangan fungsi anda boleh bersarang dalam satu formula (versi moden Excel 2010, 2013 dan 2016 membenarkan sehingga 8192 aksara dan sehingga 64 fungsi bersarang dalam formula).

    Sebagai contoh, anda boleh menggunakan 3 fungsi REPLACE bersarang untuk mempunyai nombor dalam A2 kelihatan seperti tarikh dan masa:

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

    Menggantikan rentetan yang muncul dalam kedudukan berbeza dalam setiap sel

    Setakat ini, dalam semua contoh kita telah berurusan dengan nilai yang serupa dan telah membuat penggantian dalam positi yang sama pada setiap sel. Tetapi tugas kehidupan sebenar selalunya lebih rumit daripada itu. Dalam lembaran kerja anda, aksara yang akan diganti mungkin tidak semestinya muncul di tempat yang sama dalam setiap sel, dan oleh itu anda perlu mencari kedudukan aksara pertama yang perlu diganti. Contoh berikut akan menunjukkan perkara yang saya perkatakan.

    Andaikan anda mempunyai senarai e-melalamat dalam lajur A. Dan nama satu syarikat telah bertukar daripada "ABC" kepada, katakan, "BCA". Jadi, anda perlu mengemas kini semua alamat e-mel pelanggan dengan sewajarnya.

    Tetapi masalahnya ialah nama pelanggan mempunyai panjang yang berbeza, dan itulah sebabnya anda tidak boleh menentukan dengan tepat di mana nama syarikat itu bermula. Dalam erti kata lain, anda tidak tahu nilai apa yang perlu dibekalkan dalam argumen start_num fungsi Excel REPLACE. Untuk mengetahuinya, gunakan fungsi Excel FIND untuk menentukan kedudukan aksara pertama dalam rentetan "@abc":

    =FIND("@abc",A2)

    Dan kemudian, berikan fungsi FIND di atas dalam angka_mula hujah formula REPLACE anda:

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

    Petua. Kami memasukkan "@" dalam formula Cari dan Ganti Excel kami untuk mengelakkan penggantian secara tidak sengaja dalam bahagian nama alamat e-mel. Sudah tentu, terdapat peluang yang sangat tipis bahawa padanan seperti itu akan berlaku, dan masih anda mungkin mahu berada di pihak yang selamat.

    Seperti yang anda lihat dalam tangkapan skrin berikut, formula tidak mempunyai masalah untuk mencari dan menggantikan teks lama dengan yang baharu. Walau bagaimanapun, jika rentetan teks yang akan diganti tidak dijumpai, formula mengembalikan #VALUE! ralat:

    Dan kami mahu formula mengembalikan alamat e-mel asal dan bukannya ralat. Jadi, mari sertakan FIND & GANTIKAN formula dalam fungsi IFERROR:

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

    Dan formula yang dipertingkat ini berfungsi dengan sempurna, bukan?

    Satu lagi praktikalpenggunaan fungsi REPLACE adalah untuk menggunakan huruf besar huruf pertama dalam sel. Setiap kali anda berurusan dengan senarai nama, produk dan seumpamanya, anda boleh menggunakan formula yang dipautkan di atas untuk menukar huruf pertama kepada HURUF BESAR.

    Petua. Jika anda ingin membuat penggantian dalam data asal, cara yang lebih mudah ialah menggunakan dialog Excel FIND dan REPLACE.

    Fungsi SUBSTITUTE Excel

    Fungsi SUBSTITUTE dalam Excel menggantikan satu atau lebih kejadian daripada aksara tertentu atau rentetan teks dengan aksara tertentu.

    Sintaks fungsi SUBSTITUTE Excel adalah seperti berikut:

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

    Tiga argumen pertama diperlukan dan yang terakhir adalah pilihan.

    • Teks - teks asal yang anda mahu menggantikan aksara. Boleh dibekalkan sebagai rentetan ujian, rujukan sel atau hasil formula lain.
    • Old_text - aksara yang anda mahu gantikan.
    • New_text - aksara baharu untuk menggantikan old_text dengan.
    • Instance_num - kemunculan old_text yang anda mahu gantikan. Jika ditinggalkan, setiap kemunculan teks lama akan ditukar kepada teks baharu.

    Sebagai contoh, semua formula di bawah menggantikan "1" dengan "2" dalam sel A2, tetapi mengembalikan hasil yang berbeza bergantung pada nombor yang anda bekalkan dalam hujah terakhir:

    =SUBSTITUTE(A2, "1", "2", 1) - Gantikan kejadian pertama "1" dengan"2".

    =SUBSTITUTE(A2, "1", "2", 2) - Menggantikan kejadian kedua "1" dengan "2".

    =SUBSTITUTE(A2, "1", "2") - Menggantikan semua kejadian "1" dengan "2".

    Dalam amalan, fungsi SUBSTITUTE juga digunakan untuk mengalih keluar aksara yang tidak diingini daripada sel. Untuk contoh kehidupan sebenar, sila lihat:

    • Cara mengalih keluar aksara atau perkataan daripada rentetan
    • Cara memadam aksara yang tidak diingini daripada sel

    Nota. Fungsi SUBSTITUTE dalam Excel ialah sensitif huruf besar/kecil . Sebagai contoh, formula berikut menggantikan semua kejadian huruf besar "X" dengan "Y" dalam sel A2, tetapi ia tidak akan menggantikan sebarang kejadian huruf kecil "x".

    Ganti berbilang nilai dengan formula tunggal (GANTIAN bersarang)

    Seperti yang berlaku dengan fungsi Excel REPLACE, anda boleh menyusun beberapa fungsi SUBSTITUTE dalam formula tunggal untuk melakukan beberapa penggantian pada satu masa, iaitu menggantikan beberapa aksara atau subrentetan dengan formula tunggal.

    Andaikan anda mempunyai rentetan teks seperti " PR1, ML1, T1 " dalam sel A2, di mana "PR" bermaksud "Projek, "ML " bermaksud "Milestone" dan "T" bermaksud "Task". Apa yang anda mahukan ialah menggantikan tiga kod dengan nama penuh. Untuk mencapai ini, anda boleh menulis 3 formula PENGGANTI yang berbeza:

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

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

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

    Dan kemudian sarangkan antara satu sama lain:

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

    Perhatikan bahawa kami telah menambah ruang pada penghujung setiap argumen new_text untuk lebih baikkebolehbacaan.

    Untuk mengetahui cara lain menggantikan berbilang nilai pada satu masa, sila lihat Cara melakukan pencarian dan penggantian massa dalam Excel.

    Excel REPLACE vs . Excel SUBSTITUTE

    Fungsi Excel REPLACE dan SUBSTITUTE sangat serupa antara satu sama lain kerana kedua-duanya direka untuk menukar rentetan teks. Perbezaan antara kedua-dua fungsi adalah seperti berikut:

    • GANTIKAN menggantikan satu atau lebih kejadian aksara tertentu atau rentetan teks. Jadi, jika anda tahu teks yang akan diganti, gunakan fungsi SUBSTITUTE Excel.
    • GANTIKAN menukar aksara dalam kedudukan rentetan teks yang ditentukan. Jadi, jika anda mengetahui kedudukan aksara yang akan diganti, gunakan fungsi Excel REPLACE.
    • Fungsi SUBSTITUTE dalam Excel membenarkan menambah parameter pilihan (instance_num) yang menentukan berlaku daripada old_text hendaklah ditukar kepada new_text.

    Ini adalah cara anda menggunakan fungsi SUBSTITUTE dan REPLACE dalam Excel. Mudah-mudahan, contoh-contoh ini akan berguna dalam menyelesaikan tugasan anda. Saya berterima kasih kerana membaca dan berharap dapat melihat di blog kami minggu depan!

    Muat turun buku kerja latihan

    GANTIKAN dan GANTIKAN contoh formula (fail.xlsx)

    Michael Brown ialah peminat teknologi yang berdedikasi dengan semangat untuk memudahkan proses kompleks menggunakan alat perisian. Dengan lebih sedekad pengalaman dalam industri teknologi, beliau telah mengasah kemahirannya dalam Microsoft Excel dan Outlook, serta Helaian Google dan Dokumen. Blog Michael berdedikasi untuk berkongsi pengetahuan dan kepakarannya dengan orang lain, menyediakan petua dan tutorial yang mudah diikuti untuk meningkatkan produktiviti dan kecekapan. Sama ada anda seorang profesional berpengalaman atau pemula, blog Michael menawarkan pandangan berharga dan nasihat praktikal untuk memanfaatkan sepenuhnya alatan perisian penting ini.