Excel'de Bir Dizedeki Herhangi Bir Özel Karakter Nasıl Bulunur?

İçindekiler:

Anonim

TRIM ve CLEAN Excel işlevlerinin, yazdırılamayan karakterleri ve dizelerdeki fazladan boşlukları temizlemek için kullanıldığını biliyoruz, ancak @ veya ! vb. Bu gibi durumlarda UDF'leri kullanırız.

Bu nedenle, bir dizenin herhangi bir özel karakter içerip içermediğini bilmek istiyorsanız, bunu yapacak herhangi bir Excel formülü veya işlevi bulamazsınız. Klavyede bulunan özel karakterleri elle yazarak bulabiliriz ancak dizede sembol olup olmadığını bilemezsiniz.

Herhangi bir özel karakter bulmak, veri temizleme amaçları için çok önemli olabilir. Ve bazı durumlarda yapılması gerekir. Peki bunu Excel'de nasıl yaparız? Bir dizenin herhangi bir özel karakter içerip içermediğini nasıl bilebiliriz? Bunu yapmak için UDF kullanabiliriz.

Herhangi bir hücre 1'den 0'a ve A'dan Z'ye (her iki durumda da) dışında herhangi bir karakter içeriyorsa, aşağıdaki formül DOĞRU değerini döndürür. Herhangi bir özel karakter bulamazsa YANLIŞ döndürür.

Genel Formül

=İçerirÖzel Karakterler(dize)

Sicim: Özel karakterleri kontrol etmek istediğiniz dize.

Bu formülün çalışması için aşağıdaki kodu çalışma kitabınızın modülüne koymanız gerekecektir.

Öyleyse Excel'i açın. VBE'yi açmak için ALT+F11 tuşlarına basın. Ekle menüsünden bir modül ekleyin. Aşağıdaki kodu kopyalayın ve modüle yapıştırın.

İşlev İçerirSpecialCharacters(str As String) As Boolean For I = 1 To Len(str) ch = Mid(str, I, 1) Select Case ch Case "0" To "9", "A" To "Z", "a " To "z", " "cludeSpecialCharacters = False Case Else ContentCharacters = Son için True Exit Select Next End Fonksiyonu

Artık fonksiyon kullanıma hazırdır.
Kontrol etmek istediğiniz dizeleri içeren çalışma kitabındaki çalışma sayfasına gidin.

Aşağıdaki formülü C2 hücresine yazın:

=Özel Karakterler İçerir(B13)

Özel bir karakter içerdiğinden ilk dize için TRUE değerini döndürür. Formülü aşağıya kopyaladığınızda, B14 dizesi için YANLIŞ gösterir vb.

Ama garip bir şekilde, son "Exceltip.com" dizesi için TRUE gösteriyor. Bunun nedeni nokta (.) içermesidir. Ama neden öyle? Anlamak için kodu inceleyelim.

İşlev nasıl çalışır?

VBA'nın For döngüsü ve mid işlevini kullanarak dizenin tüm karakterlerini yineliyoruz. Mid işlevi, dizeden her seferinde bir karakter çıkarır ve onu ch değişkeninde saklar.

I = 1 için Len(str) ch = Mid(str, I, 1) için 

Şimdi asıl kısım geliyor. ch değişkeninin ne içerdiğini kontrol etmek için select case ifadesini kullanırız.

VBA'ya ch'nin tanımlanan değerlerden herhangi birini içerip içermediğini kontrol etmesini söyleriz. 0'dan 9'a, A'dan Z'ye, a'dan z'ye ve " " (boşluk) tanımladım. eğer c
h bunlardan herhangi birini içeriyorsa, değerini False olarak ayarladık.

Durum Seç ch Durum "0" ila "9", "A" ila "Z", "a" ila "z", " " İçerirSpecialCharacters = False 

Listede nokta (.) olmadığını görebilirsiniz ve bu nedenle nokta içeren dize için DOĞRU alıyoruz. Formülden muaf olmak için listeye istediğiniz karakteri ekleyebilirsiniz.

ch, listelenen karakterlerden başka bir karakter içeriyorsa, işlevin sonucunu True olarak ayarlar ve döngüyü orada bitiririz.

Case Else IçerirSpecialCharacters = True Exit For 

Yani evet bu nasıl çalışır. Ancak özel karakterleri temizlemek istiyorsanız, fonksiyonda bazı değişiklikler yapmanız gerekecektir.

Excel'de Dizelerden Özel Karakterler Nasıl Temizlenir?

Excel'deki bir dizeden özel karakterleri temizlemek için VBA'da başka bir özel işlev oluşturdum. Fonksiyonun sözdizimi şöyledir:

=TemizÖzelKarakterler(dize)

Bu işlev, kendisine iletilen dizenin temizlenmiş bir sürümünü döndürür. Yeni dize özel karakterlerden hiçbirini içermeyecektir.

Bu fonksiyonun kodu şu şekildedir:

Function CleanSpecialCharacters(str As String) Dim nstr As String nstr = str For I = 1 To Len(str) ch = Mid(str, I, 1) Select Case ch Case "0" To "9", "A" To " Z", "a" To "z", " " 'Hiçbir şey yapma Büyük Harf Else nstr = Değiştir(nstr, ch, "") Son Sonrakini Seç CleanSpecialCharacters = nstr Bitiş Fonksiyonu 

Bunu, yukarıdaki kodda kopyaladığınız modüle kopyalayın.

Bu formülü dizelerde kullandığınızda sonuçlar şöyle olacaktır:

Nokta dahil her özel karakterin dizeden kaldırıldığını görebilirsiniz.

O nasıl çalışır?

Yukarıdaki fonksiyonla aynı şekilde çalışır. Tek fark, bu işlevin her özel karakteri boş bir karakterle değiştirmesidir. Yeni bir dize oluşturur ve bu dizeyi döndürür.

Select Case ch Case "0" To "9", "A" To "Z", "a" To "z", " " 'ContainsSpecialCharacters = False Case Else nstr = Değiştir(nstr, ch, "") Son Seç 

Herhangi bir karakteri temizlemekten muaf tutmak istiyorsanız, koddaki listeye ekleyebilirsiniz. Excel bu özel karakteri affedecektir.

Evet arkadaşlar, Excel'deki bir dizedeki özel karakterleri bu şekilde bulabilir ve değiştirebilirsiniz. Umarım yeterince açıklayıcı ve yardımcı olmuştur. Sorununuzu çözmenize yardımcı olmazsa, aşağıdaki yorumlar bölümünde bize bildirin.

Excel'de TRIM işlevi nasıl kullanılır: TRIM işlevi, dizeleri kırpmak ve dizedeki sondaki veya baştaki boşlukları temizlemek için kullanılır. Bu, verilerin temizlenmesi sürecinde bize çok yardımcı olur.

Excel'de TEMİZ işlevi nasıl kullanılır: Temizleme işlevi, dizeden yazdırılamayan karakterleri temizlemek için kullanılır. Bu işlev çoğunlukla, içe aktarılan yabancı verileri temizlemek için TRIM işleviyle birlikte kullanılır.

Değişken konumdan başlayarak bir dizenin sonundaki metni değiştirin: Dizenin sonundaki metni değiştirmek için DEĞİŞTİR işlevini kullanırız. DEĞİŞTİR işlevi, dizedeki metnin konumunu değiştirmek için kullanır.

Bir dizenin Excel'deki birçok metinden birini içerip içermediğini kontrol etme: Bir dizenin birden çok metin içerip içermediğini kontrol etmek için bu formülü kullanırız. Tüm eşleşmeleri toplamak için SUM işlevini kullanırız ve ardından dizenin birden çok dizeden herhangi birini içerip içermediğini kontrol etmek için bir mantık gerçekleştiririz.

Belirli bir metin içeren Hücreleri Say: Basit bir COUNTIF işlevi sihri yapacak. Belirli bir dizeyi içeren birden çok hücrenin sayısını saymak için EĞERSAY işleviyle joker karakter operatörünü kullanırız.

Excel DEĞİŞTİR ve İKAME işlevi: DEĞİŞTİR ve DEĞİŞTİR işlevleri en yanlış anlaşılan işlevlerdir. Belirli bir metni bulmak ve değiştirmek için SUBSTITUTE işlevini kullanırız. DEĞİŞTİR, dizedeki bir dizi karakteri değiştirmek için kullanıldığında…

Popüler Makaleler:

Verimliliğinizi Artıracak 50 Excel Kısayolu | Görevinizde daha hızlı olun. Bu 50 kısayol, Excel'de daha da hızlı çalışmanızı sağlayacaktır.

Excel DÜŞEYARA İşlevi nasıl kullanılır?| Bu, farklı aralıklardan ve sayfalardan değer aramak için kullanılan excel'in en çok kullanılan ve popüler işlevlerinden biridir.

Excel nasıl kullanılır EĞERSAY İşlevi| Bu şaşırtıcı işlevi kullanarak değerleri koşullarla sayın. Belirli değerleri saymak için verilerinizi filtrelemeniz gerekmez. Gösterge tablonuzu hazırlamak için Countif işlevi gereklidir.

Excel'de SUMIF İşlevi Nasıl Kullanılır | Bu, başka bir gösterge panosu temel işlevidir. Bu, belirli koşullardaki değerleri özetlemenize yardımcı olur.