İçindekiler
Bu eğitimde Excel DEĞİŞTİR ve YERİNE KOY işlevleri kullanım örnekleriyle birlikte açıklanmaktadır. DEĞİŞTİR işlevinin metin dizeleri, sayılar ve tarihlerle nasıl kullanılacağını ve birden fazla DEĞİŞTİR veya YERİNE KOY işlevinin tek bir formülde nasıl iç içe yerleştirileceğini görün.
Geçen hafta Excel çalışma sayfalarınızda BUL ve ARA işlevlerini kullanmanın çeşitli yollarını tartıştık. Bugün, bir hücredeki metni konumuna göre değiştirmek veya içeriğe göre bir metin dizesini başka bir metin dizesiyle değiştirmek için diğer iki işleve daha derinlemesine bakacağız. Tahmin edebileceğiniz gibi, Excel DEĞİŞTİR ve YERİNE KOY işlevlerinden bahsediyorum.
Excel REPLACE işlevi
Excel'deki DEĞİŞTİR işlevi, bir metin dizesindeki bir veya birkaç karakteri başka bir karakterle veya bir karakter kümesiyle değiştirmenize olanak tanır.
REPLACE(old_text, start_num, num_chars, new_text)Gördüğünüz gibi, Excel REPLACE işlevinin tümü gerekli olan 4 bağımsız değişkeni vardır.
- Old_text - Bazı karakterleri değiştirmek istediğiniz orijinal metin (veya orijinal metnin bulunduğu bir hücreye referans).
- Start_num - old_text içinde değiştirmek istediğiniz ilk karakterin konumu.
- Num_chars - değiştirmek istediğiniz karakter sayısı.
- Yeni_metin - değiştirme metni.
Örneğin, kelimeyi değiştirmek için " güneş " ile " Oğlum " için aşağıdaki formülü kullanabilirsiniz:
=REPLACE("sun", 2, 1, "o")
Orijinal sözcüğü A2 gibi bir hücreye koyarsanız, old_text bağımsız değişkeninde ilgili hücre referansını sağlayabilirsiniz:
=REPLACE(A2, 2, 1, "o")
Not. start_num veya num_chars bağımsız değişkeni negatifse veya sayısal değilse, Excel Değiştirme formülü #DEĞER! hatası döndürür.
Excel REPLACE işlevini sayısal değerlerle kullanma
Excel'deki REPLACE işlevi metin dizeleriyle çalışmak üzere tasarlanmıştır. Elbette, örneğin bir metin dizesinin parçası olan sayısal karakterleri değiştirmek için kullanabilirsiniz:
=REPLACE(A2, 7, 4, "2016")
Metin değerlerinde genellikle yaptığınız gibi "2016" ifadesini çift tırnak içine aldığımıza dikkat edin.
Benzer şekilde, bir sayı içindeki bir veya daha fazla rakamı değiştirebilirsiniz. Örneğin:
=REPLACE(A4, 4, 4, "6")
Ve yine, değiştirme değerini çift tırnak ("6") içine almanız gerekir.
Not: Bir Excel DEĞİŞTİR formülü her zaman bir metin dizesi Yukarıdaki ekran görüntüsünde, B2'de döndürülen metin değerinin sola hizalandığına dikkat edin ve A2'deki sağa hizalanmış orijinal sayı ile karşılaştırın. Bu bir metin değeri olduğu için, örneğin 1 ile çarparak veya Metni sayıya dönüştürme bölümünde açıklanan başka bir yöntemi kullanarak tekrar sayıya dönüştürmediğiniz sürece başka hesaplamalarda kullanamazsınız.
Excel REPLACE işlevini tarihlerle kullanma
Az önce gördüğünüz gibi, REPLACE işlevi bir metin dizesi döndürmesi dışında sayılarla iyi çalışır :) Dahili Excel sisteminde tarihlerin sayı olarak saklandığını hatırlayarak, tarihler üzerinde bazı Değiştir formülleri kullanmayı deneyebilirsiniz. Sonuçlar oldukça utanç verici olacaktır.
Örneğin A2'de 1-Ekim-14 gibi bir tarihiniz var ve " Ekim " ile " Kasım "Böylece, Excel'e A2 hücrelerindeki 3 karakteri 4. karakterden başlayarak değiştirmesini söyleyen DEĞİŞTİR(A2, 4, 3, "Kasım") formülünü yazarsınız... ve aşağıdaki sonucu alırsınız:
Çünkü "01-Ekim-14", tarihi temsil eden temel seri numarasının (41913) yalnızca görsel bir temsilidir. Dolayısıyla, Değiştir formülümüz yukarıdaki seri numarasının son 3 rakamını " Kasım " ve "419Nov" metin dizesini döndürür.
Excel REPLACE işlevinin tarihlerle doğru şekilde çalışmasını sağlamak için, önce TEXT işlevini veya Excel'de tarihi metne dönüştürme bölümünde gösterilen başka bir tekniği kullanarak tarihleri metin dizelerine dönüştürebilirsiniz. Alternatif olarak, TEXT işlevini doğrudan REPLACE işlevinin old_text bağımsız değişkenine gömebilirsiniz:
=REPLACE(TEXT(A2, "dd-mmm-yy"), 4, 3, "Nov")
Lütfen yukarıdaki formülün sonucunun bir metin dizesi Bu nedenle, bu çözüm yalnızca değiştirilen tarihleri başka hesaplamalarda kullanmayı planlamıyorsanız işe yarar. Metin dizeleri yerine tarihlere ihtiyacınız varsa, Excel REPLACE işlevi tarafından döndürülen değerleri tekrar tarihlere dönüştürmek için DATEVALUE işlevini kullanın:
=DATEVALUE(REPLACE(TEXT(A2, "dd-mmm-yy"), 4, 3, "Nov"))
Bir hücrede birden fazla değiştirme yapmak için iç içe REPLACE işlevleri
Çoğu zaman, aynı hücrede birden fazla değiştirme yapmanız gerekebilir. Elbette, bir değiştirme yapabilir, ara sonucu ek bir sütuna çıktı olarak verebilir ve ardından REPLACE işlevini tekrar kullanabilirsiniz. Ancak, daha iyi ve daha profesyonel bir yol iç içe REPLACE işlevleri tek bir formülle birkaç değiştirme gerçekleştirmenize olanak tanır. Bu bağlamda, "iç içe yerleştirme" bir işlevi diğerinin içine yerleştirmek anlamına gelir.
Aşağıdaki örneği ele alalım: A sütununda "123456789" olarak biçimlendirilmiş bir telefon numaraları listeniz olduğunu ve kısa çizgiler ekleyerek bunların daha çok telefon numarası gibi görünmesini istediğinizi varsayalım. Başka bir deyişle, amacınız "123456789 "u "123-456-789 "a dönüştürmektir.
İlk kısa çizgiyi eklemek kolaydır. Şunları değiştiren normal bir Excel Değiştir formülü yazarsınız sıfır karakter bir tire ile, yani bir hücredeki 4. konuma bir tire ekler:
=REPLACE(A2,4,0,"-")
Yukarıdaki Değiştirme formülünün sonucu aşağıdaki gibidir:
Tamam, şimdi 8. konuma bir kısa çizgi daha eklememiz gerekiyor. Bunu yapmak için, yukarıdaki formülü başka bir Excel DEĞİŞTİR işlevinin içine yerleştirirsiniz. Daha doğrusu, bunu old_text argümanına göre değiştirilir, böylece ikinci DEĞİŞTİR işlevi A2 hücresindeki değeri değil, ilk DEĞİŞTİR tarafından döndürülen değeri işler:
=REPLACE(REPLACE(A2,4,0,"-"),8,0,"-")
Sonuç olarak, telefon numaralarını istediğiniz formatta alırsınız:
Benzer şekilde, metin dizelerinin tarihlere benzemesini sağlamak için uygun yerlere eğik çizgi (/) ekleyerek iç içe REPLACE işlevlerini kullanabilirsiniz:
=(REPLACE(REPLACE(A2,3,0,"/"),6,0,"/"))
Ayrıca, yukarıdaki REPLACE formülünü DATEVALUE işleviyle sararak metin dizelerini gerçek tarihlere dönüştürebilirsiniz:
=DATEVALUE(REPLACE(REPLACE(A2,3,0,"/"),6,0,"/"))
Ve doğal olarak, bir formülde iç içe yerleştirebileceğiniz işlev sayısı sınırlı değildir (Excel 2010, 2013 ve 2016'nın modern sürümleri, bir formülde 8192 karaktere ve 64 adede kadar iç içe geçmiş işleve izin verir).
Örneğin, A2'deki bir sayının tarih ve saat gibi görünmesini sağlamak için iç içe geçmiş 3 REPLACE işlevi kullanabilirsiniz:
=REPLACE(REPLACE(REPLACE(A2,3,0,"/") ,6,0,"/"), 9,0, " "), 12,0, ":")
Her hücrede farklı bir konumda görünen bir dizeyi değiştirme
Şimdiye kadar, tüm örneklerde benzer nitelikteki değerlerle uğraştık ve her hücrede aynı konumda değiştirmeler yaptık. Ancak gerçek hayattaki görevler genellikle bundan daha karmaşıktır. Çalışma sayfalarınızda, değiştirilecek karakterler her hücrede aynı yerde görünmeyebilir ve bu nedenle şunları yapmanız gerekecektir ilk karakterin konumunu bulur Aşağıdaki örnek neden bahsettiğimi gösterecektir.
Diyelim ki A sütununda bir e-posta adresleri listeniz var ve bir şirketin adı "ABC "den "BCA "ya değişti. Dolayısıyla, tüm müşterilerin e-posta adreslerini buna göre güncellemeniz gerekir.
Ancak sorun, müşteri adlarının farklı uzunlukta olması ve bu nedenle şirket adının tam olarak nerede başladığını belirleyememenizdir. Başka bir deyişle, Excel REPLACE işlevinin start_num bağımsız değişkeninde hangi değeri sağlayacağınızı bilmiyorsunuz. Bunu bulmak için, "@abc" dizesindeki ilk karakterin konumunu belirlemek üzere Excel FIND işlevini kullanın:
=FIND("@abc",A2)
Ardından, yukarıdaki BUL işlevini DEĞİŞTİR formülünüzün başlangıç_sayısı bağımsız değişkeninde sağlayın:
=REPLACE(A2, FIND("@abc",A2), 4, "@bca")
İpucu: E-posta adreslerinin ad kısmında yanlışlıkla yapılan değiştirmeleri önlemek için Excel Bul ve Değiştir formülümüze "@" ekliyoruz. Elbette, bu tür eşleşmelerin gerçekleşme olasılığı çok düşüktür ve yine de güvenli tarafta olmak isteyebilirsiniz.
Aşağıdaki ekran görüntüsünde gördüğünüz gibi, formül eski metni bulup yenisiyle değiştirirken sorun yaşamıyor. Ancak, değiştirilecek metin dizesi bulunamazsa, formül #DEĞER! hatası döndürür:
Ve formülün hata yerine orijinal e-posta adresini döndürmesini istiyoruz. Bu nedenle, BUL & DEĞİŞTİR formülümüzü IFERROR işlevinin içine alalım:
=IFERROR(REPLACE(A2, FIND("@abc",A2), 4, "@bca"),A2)
Ve bu geliştirilmiş formül mükemmel çalışıyor, değil mi?
REPLACE işlevinin bir başka pratik uygulaması da bir hücredeki ilk harfi büyük harf yapmaktır. Adlar, ürünler ve benzerlerinden oluşan bir listeyle uğraştığınızda, ilk harfi BÜYÜK HARF olarak değiştirmek için yukarıdaki bağlantılı formülü kullanabilirsiniz.
İpucu: Değiştirmeleri orijinal verilerde yapmak istiyorsanız, Excel BUL ve DEĞİŞTİR iletişim kutusunu kullanmak daha kolay bir yol olacaktır.
Excel SUBSTITUTE işlevi
Excel'deki SUBSTITUTE işlevi, belirli bir karakterin veya metin dizesinin bir veya daha fazla örneğini belirtilen karakter(ler)le değiştirir.
Excel SUBSTITUTE işlevinin sözdizimi aşağıdaki gibidir:
SUBSTITUTE(text, old_text, new_text, [instance_num])İlk üç bağımsız değişken gerekli, sonuncusu ise isteğe bağlıdır.
- Metin - karakterleri değiştirmek istediğiniz orijinal metin. Test dizesi, hücre başvurusu veya başka bir formülün sonucu olarak sağlanabilir.
- Old_text - değiştirmek istediğiniz karakter(ler).
- Yeni_metin - old_text yerine kullanılacak yeni karakter(ler).
- Instance_num - Değiştirmek istediğiniz old_text oluşumu. Atlanırsa, eski metnin her oluşumu yeni metinle değiştirilecektir.
Örneğin, aşağıdaki formüllerin tümü A2 hücresinde "1" yerine "2" koyar, ancak son bağımsız değişkende hangi sayıyı sağladığınıza bağlı olarak farklı sonuçlar döndürür:
=SUBSTITUTE(A2, "1", "2", 1)
- "1 "in ilk geçtiği yeri "2" ile değiştirir.
=SUBSTITUTE(A2, "1", "2", 2)
- "1 "in ikinci geçtiği yeri "2" ile değiştirir.
=SUBSTITUTE(A2, "1", "2")
- "1 "in tüm geçtiği yerleri "2" ile değiştirir.
Uygulamada, SUBSTITUTE işlevi hücrelerden istenmeyen karakterleri kaldırmak için de kullanılır. Gerçek hayattan örnekler için lütfen bkz:
- Dizeden karakterler veya kelimeler nasıl kaldırılır
- Hücrelerden istenmeyen karakterler nasıl silinir?
Not: Excel'deki SUBSTITUTE işlevi büyük/küçük harfe duyarlı Örneğin, aşağıdaki formül A2 hücresindeki büyük "X" harfinin tüm örneklerini "Y" ile değiştirir, ancak küçük "x" harfinin hiçbir örneğini değiştirmez.
Tek bir formülle birden çok değerin yerini alma (iç içe SUBSTITUTE)
Excel DEĞİŞTİR işlevinde olduğu gibi, tek bir formülde birkaç SUBSTITUTE işlevini iç içe yerleştirerek bir seferde birkaç değiştirme yapabilir, yani tek bir formülle birkaç karakteri veya alt dizeyi değiştirebilirsiniz.
" gibi bir metin dizesine sahip olduğunuzu varsayalım PR1, ML1, T1 "PR" Proje, "ML" Kilometre Taşı ve "T" Görev anlamına gelir. İstediğiniz şey, üç kodu tam adlarla değiştirmektir. Bunu başarmak için 3 farklı SUBSTITUTE formülü yazabilirsiniz:
=SUBSTITUTE(A2, "PR", "Proje ")
=SUBSTITUTE(A2, "ML", "Kilometre Taşı ")
=SUBSTITUTE(A2, "T", "Görev ")
Ve sonra onları iç içe geçirin:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, "PR", "Proje "), "ML", "Kilometre Taşı "), "T", "Görev ")
Daha iyi okunabilirlik için her new_text argümanının sonuna bir boşluk eklediğimize dikkat edin.
Aynı anda birden çok değeri değiştirmenin diğer yollarını öğrenmek için lütfen Excel'de toplu bulma ve değiştirme nasıl yapılır bölümüne bakın.
Excel REPLACE ile Excel SUBSTITUTE
Excel REPLACE ve SUBSTITUTE işlevleri, her ikisinin de metin dizelerini değiştirmek için tasarlanmış olması bakımından birbirine çok benzer. İki işlev arasındaki farklar aşağıdaki gibidir:
- SUBSTITUTE bir veya daha fazla örnekler Bu nedenle, değiştirilecek metni biliyorsanız, Excel SUBSTITUTE işlevini kullanın.
- REPLACE belirtilen karakterleri değiştirir pozisyon Bu nedenle, değiştirilecek karakter(ler)in konumunu biliyorsanız, Excel REPLACE işlevini kullanın.
- Excel'deki SUBSTITUTE işlevi, aşağıdaki parametrelerden hangisinin kullanılacağını belirten isteğe bağlı bir parametre (instance_num) eklenmesine olanak tanır Oluşum eski_metnin yeni_metin olarak değiştirilmesi gerekir.
Excel'de SUBSTITUTE ve REPLACE işlevlerini bu şekilde kullanabilirsiniz. Umarım bu örnekler görevlerinizi çözmede faydalı olur. Okuduğunuz için teşekkür eder, gelecek hafta blogumuzda görüşmek dileğiyle!
Alıştırma çalışma kitabını indirin
REPLACE ve SUBSTITUTE formül örnekleri (.xlsx dosyası)