Hücredeki rakamı ayırmak..

Katılım
25 Haziran 2010
Mesajlar
14
Excel Vers. ve Dili
2003 ve 2007 Türkçe ve İngilizce her ikisinide kullanmaktayım.
Merhaba arkadaşlar. Aranıza yeni katıldım. Sorunum başlıkta yazıyor açıklayacağım ama lütfen forumda arayın demeyin çünkü sorunum başlıktakinden biraz farklı ..

Ben örneğin :
a1 hücresine > 124x SonsuzEmpati yazdım.
a2 hücresinde > x SonsuzEmpati görünsün istiyorum.
a3 hücresinde > 124 görülmesini istiyorum..

http://www.excel.web.tr/showthread.php?t=37706

Bu konudaki ali arkadaşımız (Mesaj 5 de) açıklamış çok guzel çalışıyor ellerine aklına sağlık .. Ama sorunum şu SonsuzEmpati x124 yazarsam doğru çalışıyor.

124x SonsuzEmpati yazarsam çalışmıyor. (Sayılar ve isimler değişik tabiki ben sadece örnek vermek için bu ikisini kullanıyorum..)

Yardımcı olursanız çok sevinirim şimdiden teşekkürler .. Konuyu takip edeceğim.
 
Katılım
25 Haziran 2010
Mesajlar
14
Excel Vers. ve Dili
2003 ve 2007 Türkçe ve İngilizce her ikisinide kullanmaktayım.
Beni şaşırtan şuydu ..

SonsuzEmpati x50 yazdığımda çalışıyor

ama

50x SonsuzEmpati yazdığımda Çalışmıyor ..

İsterseniz video çekeyim ..
 
Katılım
19 Mart 2008
Mesajlar
76
Excel Vers. ve Dili
Excel 2003
Sn.SonsuzEmpati

Ekte gönderdiğim dosyanın işinize yarayacağını düşünüyorum. Daha önce forumda paylaşılmıştı. Umarım faydalı olur...
 

Ekli dosyalar

Katılım
25 Haziran 2010
Mesajlar
14
Excel Vers. ve Dili
2003 ve 2007 Türkçe ve İngilizce her ikisinide kullanmaktayım.
Bakıyorum .. Teşekkür ederim baktıktan sonra bildireceğim.


Bildirim:
Hayır demek istediğim bu değil. Demek istediğim şu ..
Kod:
A1-A2-A3 Hücrelerine
24x Alp
50x SonsuzEmpati
gibi birşey yazıcam .. (Rakamlar ve sayıların uzunluğu farklı oolucak bu yüzden belirli bir sayıdan başlamayacak yani .. A1;1;5 gibi bir şey değil a1 içindekini 1. harften başla 5 e kadar al gibi birşey olmayacak.

Neyse a1 ve a2 ye bunları yazdm diyelm

Kod:
B1 ve b2 hücresinde
Benim a1 ve a2 de yazdığım sayıllar görünecek.
Kod:
c1 ve c2 'de ise yazdığım kelime görülecek 
mesela
c1 de = x Alp
c2 de = x SonsuzEmpati
gibi eğer isterseniz video olarak çekip gösterebilirim ne demek istediğimi ..
 
Son düzenleme:
İ

İhsan Tank

Misafir
merhaba
istediğinizi Syn : Ali Uzman'ın yazdığı bir Kullanıcı Tanımlı Fonksiyon ( KTF ) ile çözmeye çalıştım

bu harfleri almak için
Kod:
Function HarfAl(Hücre)
Dim Karakter, i As Integer
Dim Sonuc
For i = 1 To Len(Hücre)
Karakter = Mid(Hücre, i, 1)
If IsNumeric(Karakter) = False Then
Sonuc = Sonuc & Karakter
End If
Next i
HarfAl = Sonuc
End Function
bunu harf için Hücreye yazın
Kod:
=HarfAl(A1)
buda Rakamları Ayırmak için
Kod:
Function NumaraAl(hucre)
Dim i As Integer
For i = 1 To Len(hucre)
sayi = Mid(hucre, i, 1)
If IsNumeric(sayi) = True Then
NumaraAl = NumaraAl & sayi
End If
Next i
End Function
bunu rakamlar için hücreye yazın
Kod:
=NumaraAl(A1)
Önemli Not : Function ile Başlayan Kodları boş Bir Module Kopyalayınız
örnek dosya ekte inceleyiniz
 

Ekli dosyalar

Katılım
25 Haziran 2010
Mesajlar
14
Excel Vers. ve Dili
2003 ve 2007 Türkçe ve İngilizce her ikisinide kullanmaktayım.
İlginiz için teşekkür ederim.. Denemeye çalışacağım.. Bilgi veririm.


Çalışmadı kardeşim :(

2003 ve 2007 de denedim .. Değerleri değiştirdiğimde #AD? hatası alıyorum her hücrede ..
 
Son düzenleme:
İ

İhsan Tank

Misafir
İlginiz için teşekkür ederim.. Denemeye çalışacağım.. Bilgi veririm.


Çalışmadı kardeşim :(

2003 ve 2007 de denedim .. Değerleri değiştirdiğimde #AD? hatası alıyorum her hücrede ..
ben dosya da ekledim eğer o da çalışmadı ise
örnek dosya eklermisiniz dosyayı indirdiniz mi
#AD hatası aldınız doğru ise güvenlik ayarlarını düşürmelisiniz
2003 için bu link
2007 için bu link
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,727
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Alternatif olarak aşağıdaki formülleride kullanabilirsiniz.

Veriniz A1 hücresinde ise;

B1 hücresine; (Sayısal bölüm için)
Kod:
=EĞER(DEĞİL(EHATALIYSA(PARÇAAL(A1;BUL("x";A1)-1;1)+0>=0));PARÇAAL(A1;1;BUL("x";A1)-1);EĞER(DEĞİL(EHATALIYSA(PARÇAAL(A1;BUL("x";A1)+1;1)+0>=0));PARÇAAL(A1;BUL("x";A1)+1;255);""))
C1 hücresine; (Metinsel bölüm için)
Kod:
=EĞER(DEĞİL(EHATALIYSA(PARÇAAL(A1;BUL("x";A1)-1;1)+0>=0));PARÇAAL(A1;BUL("x";A1);255);EĞER(DEĞİL(EHATALIYSA(PARÇAAL(A1;BUL("x";A1)+1;1)+0>=0));PARÇAAL(A1;1;BUL("x";A1));""))
Eğer değerleriniz için büyük karakterle yazılmış X lerde varsa doğru sonuç almak için formülde geçen BUL yerine MBUL formülünü kullanın.
 
Katılım
25 Haziran 2010
Mesajlar
14
Excel Vers. ve Dili
2003 ve 2007 Türkçe ve İngilizce her ikisinide kullanmaktayım.
Sn. Korhan Ayhan,
Çok teşekkür ederim çok güzel çalışıyor eğer müsait iseniz bu formulun ne anlama geldiğini ve açıklayabilirmisiniz? Amaç sadece bişeyi yapmak değildir. Yaparken öğrenelimde aynı zamanda değilmi :)
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,727
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Birinci formülün ilk bölümünün çalışma mantığı;

1 - Veri içinde "x" karakteri aranıyor.
Kod:
BUL("x";A1)
2 - Bulunan "x" değerinden bir önceki karakterin değerinin sıfırdan büyük olup olmadığı sorgulanıyor.
Kod:
PARÇAAL(A1;BUL("x";A1)-1;1)+0>=0
3 - Bu sorguda eğer "x" değerinden önceki veri sayı değilde metin olursa formül hata değeri üretecektir. Bize sayısal verinin bulunduğu yer lazım olduğu için sorgumuzun hata değeri üretmemesi gerekiyor. Bu durumuda aşağıdaki yöntemle kontrol edebiliyoruz.
Kod:
DEĞİL(EHATALIYSA(PARÇAAL(A1;BUL("x";A1)-1;1)+0>=0))
4 - Eğer sorgumuz hata üretmiyorsa ve sorguladığımız karakter sıfırdan büyük yada eşitse aradığımız değere ulaştık (sayısal veri) demektir. Bu değeride aşağıdaki bölümle elde ediyoruz.
Kod:
PARÇAAL(A1;1;BUL("x";A1)-1)
Birinci formülün ikinci bölümüde "x" değerinden sonraki karakterinin sayı olup olmadığını sorgulamaktadır.

Formül neden iki bölümden oluşuyor diye sorabilirsiniz. Çünkü siz mesajlarınızda farklı yazım şekillerinden bahsetmişsiniz.

SonsuzEmpati x124
124x SonsuzEmpati

Gördüğünüz gibi kırmızı değerler "x" değerinin sağında ve solunda yer almaktadır. İşte bu değerler sorgulanarak sonuca gidiliyor.

İkinci formülde aynı mantıkla metinsel değerleri veri içinden almaktadır.
 
Üst