• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

bul ve değiştir (ctl+f)

Katılım
17 Nisan 2016
Mesajlar
85
Excel Vers. ve Dili
Excel 2010
Merhaba arkadaşlar.Örnek verecek olursak bir hücrede ab45678sdsd2555 içeren karakterler var.Ben bu hücreyi harflerden arındırarak sadece rakamların kalmasını istiyorum.Bunun için ctrl+f fonksiyonundan harfleri tek te yazıp yerinedeğiştiriyorum.Buraya bulup değştirelecek kısma komple harfleri yazıp değiştirme yapabilirmiyim.
 
BUL (Ctrl+F) penceresinde böyle bir özellik bulunmuyor.

Alternatif; makro ile farklı yöntemlerle çözüm üretilebilir.
 
Başka bir alternatif de;

Excel'de sözkonusu hücre veya hücreleri Word'e kopyalayıp, orada Bul-Değiştir ile tek seferde yaptıktan sonra, Excel'e kopyalayabilisiniz...

.
 
Teşekkür ederim üstadlar.Worlde kopyala yapıştır olarak yapamadım tekrardan deneyeceğim
 
Office 2013 ve üzeri için Excel'de Hızlı Doldurma (Flash Fill) özelliği var, kullanabilirsiniz. Kısayolu CTRL+E

yLuBr1.gif
 
Aşağıdaki formülü dener misiniz.

A1 hücresine yazdığınız ab45678sdsd2555 bu bilgiden sadece sayıları getirecektir.

=SUMPRODUCT(MID(0&A1; LARGE(INDEX(ISNUMBER(--MID(A1; ROW(INDIRECT("1:"&LEN(A1))); 1)) * ROW(INDIRECT("1:"&LEN(A1))); 0); ROW(INDIRECT("1:"&LEN(A1))))+1; 1) * 10^ROW(INDIRECT("1:"&LEN(A1)))/10)
 
Başka üyelerimizin ihtiyacı olabileceğini düşünerek ;


05-ECDAA
5567DN diye sayılarımız olsun ve sadece solunda yer alan sayıları alacaksak.

=LEFT(A2;SUM(LEN(A2)-LEN(SUBSTITUTE(A2;{"0";"1";"2";"3";"4";"5";"6";"7";"8";"9"};""))))

Tam tersini düşünelim bu defa sağ tarafındaki rakamları alacaksak
DN5567
ECDAA-05

=RIGHT(A2;SUM(LEN(A2) - LEN(SUBSTITUTE(A2; {"0";"1";"2";"3";"4";"5";"6";"7";"8";"9"};""))))

absdsdddfafa gibi bir değer var ve yukarıda ilk yazdığım formül 0 (sıfır) değeri döndürecektir.

onu da engellemek için aşağıdaki formülü kullanabilirsiniz.

=IF(SUM(LEN(A2)-LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"}, "")))>0, SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2,ROW(INDIRECT("$1:$"&LEN(A2))),1))* ROW(INDIRECT("$1:$"&LEN(A2))),0), ROW(INDIRECT("$1:$"&LEN(A2))))+1,1) * 10^ROW(INDIRECT("$1:$"&LEN(A2)))/10),"")
 
Bu da, kullanıcı tanımlı fonksiyon; (Yeni versiyon Excel kullanılmasını gerektirmez...)

Kod:
Function getNumeric(Data As String) As Double
    Dim RegExp As Object
    Set RegExp = CreateObject("VBScript.Regexp")
    RegExp.Pattern = "[^0-9]+"
    RegExp.Global = True
    getNumeric = RegExp.Replace(Data, "")
End Function



Kullanım şekli;

Kod:
=getNumeric(A1)

.
 
Son düzenleme:
Bu da, kullanıcı tanımlı fonksiyon; (Yeni versiyon Excel kullanılmasını gerektirmez...)

Kod:
Function getNumeric(Data As String) As Double
    Dim RegExp As Object
    Set RegExp = CreateObject("VBScript.Regexp")
    RegExp.Pattern = "[^0-9]+"
    RegExp.Global = True
    getNumeric = RegExp.Replace(Data, "")
End Function



Kullanım şekli;

Kod:
=getNumeric(A1)

.

Üstad, harfleri (A1) e veya (A2) ye ayıklamak istersek!?
 
Üstad, harfleri (A1) e veya (A2) ye ayıklamak istersek!?

Yapılır da, bir sürü harf var ... hangilerini ayıklayacağız?

Aşağıdaki gibi mi?


.
 
Senin yapmış olduğundaki gibi istiyorum. Atıyorum, bunun yerine "RegExp.Pattern = "[^0-9]+" bunu değiştiri gibi..
 
Özür dilerim. Çok kaba kabaca hitap etmişim.
Mümkünse isteğim, rakamlarlar ile hiç ilgilenmesin, sade harfleri getirsin.


Nümerik karakterler haricindekileri almak için;

Kod:
Function getString(Data As String) As String
    Dim RegExp As Object
    Set RegExp = CreateObject("VBScript.Regexp")
    RegExp.Pattern = "[0-9]+"
    RegExp.Global = True
    getString = RegExp.Replace(Data, "")
End Function

.
 
Teşekkür ederim..
 
Geri
Üst