DEĞİŞTİR ile metnin belirli konumunu yenileme
Excel'de DEĞİŞTİR, İngilizce REPLACE işlevinin Türkçe adıdır. Metindeki bir başlangıç konumundan itibaren belirtilen sayıda karakteri başka bir metinle değiştirir. Eski parçanın içeriğini aramak yerine, konumu ve uzunluğu kullanır. Bu nedenle sabit düzenli seri numaraları, maskelenmiş gösterimler veya belge kodlarının alanlarını yenilemek için uygundur. Kaynağı değiştirerek üzerine yazmaz; başka hücrede yeni bir metin sonucu oluşturur.
Bir ürünün iç kodu ABC-2026-0042 olsun. Kodun ilk üç karakteri grubu temsil ediyor ve yeni grupta XYZ kullanılması gerekiyor. Yalnız grup alanını yenilemek için karakter konumu nettir. Aynı metnin başka bölümünde ABC geçse bile konuma dayalı değişim yalnız ilk alanı hedefleyebilir. Serbest açıklama metinlerinde ise konum sabit olmayabileceğinden farklı bir yöntem gerekebilir.
Dört zorunlu bağımsız değişken
İngilizce biçim =REPLACE(old_text,start_num,num_chars,new_text), Türkçe biçim =DEĞİŞTİR(eski_metin;başlangıç_sayısı;sayı_karakterler;yeni_metin) şeklindedir. Kaynak metin, başlangıç, çıkarılacak karakter sayısı ve eklenecek yeni metin zorunludur. İlk karakterin konumu birdir. Üçüncü değer bir bitiş adresi değildir; kaç karakterin kaldırılacağını belirler.
A2'deki örnek kod için =REPLACE(A2,1,3,"XYZ") sonucu XYZ-2026-0042 olur. Yeni metnin uzunluğu çıkarılan bölümle aynı olmak zorunda değildir. =REPLACE(A2,1,3,"X") sonucu X-2026-0042 şeklinde kısalır. Bu nedenle sabit uzunluk şartı olan dış sistemlerde, değişimden sonra toplam uzunluğu yeniden kontrol etmek önemlidir.
Yeni metin boş dize olduğunda seçilen bölüm silinir. =REPLACE(A2,1,4,"") ilk üç harfi ve çizgiyi kaldırarak 2026-0042 üretir. Çıkarılacak karakter sayısına ayırıcıyı dahil edip etmediğiniz sonucu değiştirir. Kaynaktaki ilk alanın uzunluğu değişirse bu sabit formül artık doğru noktadan kesmeyebilir; iş kuralının ne kadar sabit olduğunu doğrulayın.
Dinamik konum ve kontrollü maskeleme
Alan sınırı ayırıcıyla belirleniyorsa FIND/BUL ile konum hesaplanabilir. İlk çizgiye kadar olan öneki yenileyen =REPLACE(A2,1,FIND("-",A2)-1,"XYZ"), üç veya dört karakterli öneklerle çalışabilir. Ayırıcı yoksa içteki arama hata verir. Böyle bir kaydı varsayılan bir önekle düzeltmek yerine, biçimi kontrol edilecek satır olarak ayırmak daha güvenilir olur.
Maskelenmiş bir görünüm üretmek için A2'de 1234567890 metni varken =REPLACE(A2,1,6,"******") sonucu ******7890 olur. Bu, yalnız gösterim için yeni metin oluşturur. Ham değer çalışma kitabında kaldığı sürece veri anonimleştirilmiş sayılmaz; dosyayı paylaşırken kaynak sütun ve diğer kopyaların da değerlendirilmesi gerekir. Formül sonucunu güvenlik özelliği gibi sunmayın.
Hatalar, Unicode ve ürün uyumluluğu
Birden küçük başlangıç veya negatif karakter sayısı geçersizdir. Sonuç beklenenden kısa olduğunda önce yeni metnin uzunluğunu ve kaldırılan bölümün kapsamını inceleyin. Birden fazla dönüşüm yapıyorsanız önceki adımın değiştirdiği uzunluk, sonraki sabit konumları kaydırabilir. Ara çıktılarla denetlenmeyen bir değişim zinciri yanlış alana müdahale edebilir.
Microsoft'un ilgili belgesi Excel 2016, 2019, 2021, 2024 ve Microsoft 365'i listeler. REPLACEB kullanım dışıdır; Uyumluluk Sürümü 2'de Unicode vekil çiftlerinin sayımı değişebilir. Emoji içeren metinde görsel konumla karakter konumunu eşitlemeyin. Excel Online sitesinde HyperFormula 3.5.0 ile REPLACE ve DEĞİŞTİR desteklenir; bu yazıdaki ASCII kod değiştirme ve maskeleme örnekleri gerçek motorla doğrulanmıştır.
Kaynaklar ve teknik doğrulama
İşlev davranışı ve ürün farkları için başvurulan resmi belgeler: