Metinden aynı formatta sayı çekmek

mersilen

Destek Ekibi
Destek Ekibi
Katılım
31 Aralık 2009
Mesajlar
1,103
Excel Vers. ve Dili
excel 2007 türkçe
Excel Vers. ve Dili Ofis 2003
Merhabalar
Aşağıdaki metinlerdeki sayıları sutünlara nasıl alabilirim.


Metal: 1.559mKristal: 467.946Deuterium: 363.085Kaynaklar: 2.39m

Metal: 1.109mKristal: 426.574Deuterium: 219.183Kaynaklar: 1.755m

Metal: 1.109mKristal: 426.522Deuterium: 219.158Kaynaklar: 1.754m

Metal: 1.524mKristal: 588.563Deuterium: 280.457Kaynaklar: 2.393m

Metal: 1.489mKristal: 428.466Deuterium: 203.553Kaynaklar: 2.121m

Metal: 345.390Kristal: 173.819Deuterium: 51.024Kaynaklar: 570.233

Metal: 1.352mKristal: 592.119Deuterium: 241.344Kaynaklar: 2.185m




Metal: Kristal: Deuterium: Kaynaklar:
1559000 467946 363085 2390000
1109000 426574 219183 1755000
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
En kolay yolu;

1) "Metni Sütunlara Çevir" metodunu kullanmak (Ayraç olarak ":" işareti kullanılacak)

2) Daha sonra "Bul/değiştir" ile "mKristal , "Deuterium", "Kaynaklar" ... kelimelerini ortadan kaldıracaksınız....

.
 

mersilen

Destek Ekibi
Destek Ekibi
Katılım
31 Aralık 2009
Mesajlar
1,103
Excel Vers. ve Dili
excel 2007 türkçe
Excel Vers. ve Dili Ofis 2003
Unutmuşum
makro ile yapılacak
cevap için teşekkürler
nokta ve m (milyon) işi karıştırıyor.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Makroyla yapmak istiyorsanız, bence en kolayı "Regular Expressions" kullanmanız olur... Forumda arama yapabilirsiniz...


2 No'lu mesajımda belirttiğim yönteme ilişkin animasyon aşağıdaki linktedir.



.
 
Son düzenleme:

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
"Regular Expressions" ile çözüm ektedir...

.
 

Ekli dosyalar

mersilen

Destek Ekibi
Destek Ekibi
Katılım
31 Aralık 2009
Mesajlar
1,103
Excel Vers. ve Dili
excel 2007 türkçe
Excel Vers. ve Dili Ofis 2003
Hocam m (milyonlar) sorun var
2.39m
239 olmuş
doğrusu 2390000
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
"m" ifadesi "milyon" demek ... anlamamıştım...

O zaman, şöyle deneyin,

Kod:
Function SplitData(myRange As Range, i As Integer)
'   Haluk - 05/03/2020
'   sa4truss@gmail.com

    Set regExp = CreateObject("VBScript.RegExp")
    
    regExp.IgnoreCase = True
    regExp.Global = True
    
    regExp.Pattern = "Metal: (.+)Kristal: (.+)Deuterium: (.+)Kaynaklar: (.+)"
    If regExp.Test(myRange.Text) Then
        Set objMatches = regExp.Execute(myRange.Text)
        tempData = Replace(objMatches.Item(0).Submatches(i), ".", ",")
        If Right(tempData, 1) = "m" Then tempData = Replace(tempData, "m", "") * 1000000
        SplitData = tempData
    End If
    
    Set objMatches = Nothing
    Set regExp = Nothing
End Function
.
 

mersilen

Destek Ekibi
Destek Ekibi
Katılım
31 Aralık 2009
Mesajlar
1,103
Excel Vers. ve Dili
excel 2007 türkçe
Excel Vers. ve Dili Ofis 2003
Teşekkürler
 
Katılım
28 Nisan 2010
Mesajlar
182
Excel Vers. ve Dili
2007 Türkçe
Altın Üyelik Bitiş Tarihi
15/10/2022
Metal: 1.559mKristal: 467.946Deuterium: 363.085Kaynaklar: 2.39m
Metal: 1.109mKristal: 426.574Deuterium: 219.183Kaynaklar: 1.755m
Metal: 1.109mKristal: 426.522Deuterium: 219.158Kaynaklar: 1.754m
Metal: 1.524mKristal: 588.563Deuterium: 280.457Kaynaklar: 2.393m
Metal: 1.489mKristal: 428.466Deuterium: 203.553Kaynaklar: 2.121m
Metal: 345.390Kristal: 173.819Deuterium: 51.024Kaynaklar: 570.233
Metal: 1.352mKristal: 592.119Deuterium: 241.344Kaynaklar: 2.185m

Bu konuyu formül ile çözmek mümkün mü?
 
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Verilerin A1 Hücresinden başladığı kabul edilmişdir.
B1 Hücresine kopyalayınız.Aşağı doğru çoğaltınız.
Kod:
=ARA(9,99999999999999E+307;--SOLDAN(YERİNEKOY(YERİNEKOY(A1;"Metal:";"");".";",");SATIR($A$1:$A$1027)))
C1 Hücresine kopyalayınız.Aşağı doğru çoğaltınız.
Kod:
=ARA(9,99999999999999E+307;--SOLDAN(YERİNEKOY(YERİNEKOY(KIRP(PARÇAAL($A1;MBUL("Kristal:";$A1);UZUNLUK($A1)));"Kristal:";"");".";",");SATIR($A$1:$A$1027)))
D1 Hücresine kopyalayınız.Aşağı doğru çoğaltınız.
Kod:
=ARA(9,99999999999999E+307;--SOLDAN(YERİNEKOY(YERİNEKOY(KIRP(PARÇAAL($A1;MBUL("Deuterium:";$A1);UZUNLUK($A1)));"Deuterium:";"");".";",");SATIR($A$1:$A$1027)))
E1 Hücresine kopyalayınız.Aşağı doğru çoğaltınız.
Kod:
=ARA(9,99999999999999E+307;--SOLDAN(YERİNEKOY(YERİNEKOY(KIRP(PARÇAAL($A1;MBUL("Kaynaklar:";$A1);UZUNLUK($A1)));"Kaynaklar:";"");".";",");SATIR($A$1:$A$1024)))
 
Katılım
28 Nisan 2010
Mesajlar
182
Excel Vers. ve Dili
2007 Türkçe
Altın Üyelik Bitiş Tarihi
15/10/2022
Sayın Çıtır çok teşekkür ederim. İzniniz varsa birşey daha öğrenmek istiyorum.
9,99999999999999E+307 mantığını söyleyebilir misiniz?
 
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Excel 15 basamakdan sonra sayının sonuna 0 ekleyerek E+ ile başlayan bir sayı ekler bu o sayıdır.Yani excele yazılabileçek en son pozitif sayıdır.Excelin sayı duyarşığı 15 basamakdır.
 
Katılım
28 Nisan 2010
Mesajlar
182
Excel Vers. ve Dili
2007 Türkçe
Altın Üyelik Bitiş Tarihi
15/10/2022
Çok özür dileyerek; bu sayıyı yazarak ne elde etmek istiyoruz. Yani bize nasıl bir kolaylık sağlıyor?
 
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Çekinmeden sorabilirsiniz.Bildiğimiz kadar açıklamaya çalışırım.
ilgil hücrede Excelde yazılabileçek enbüyük sayıya kadar olan sayı var mı? onu arıyoruz.
 
Katılım
28 Nisan 2010
Mesajlar
182
Excel Vers. ve Dili
2007 Türkçe
Altın Üyelik Bitiş Tarihi
15/10/2022
Tamam da ara formülünün ilk basamağı "Aranan Değer" kısmıdır. Biz burada ne aradığımız belli değil ki? Biz neyi arıyoruz. herhangi bir sayı mı?
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Aslında; söz konusu bahsedilen "en büyük sayıya" yakın olan sayıyı arıyoruz.... Sonuçta; ilgili metin parçası içerisindeki bulabileceğimiz en büyük sayıyı buluyoruz.

LOOKUP - ARA fonksiyonu aradığımız "en büyük sayıyı" bulamazsa, idare edelim diye bize bulabileceği en yakın sayıyı buluyor. Hiç sayı bulamazsa, uygun bir hata mesajı verir.

.
 
Katılım
28 Nisan 2010
Mesajlar
182
Excel Vers. ve Dili
2007 Türkçe
Altın Üyelik Bitiş Tarihi
15/10/2022
Yani herhangi bir sayı arıyor
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Evet .... bu soruda, zaten amacımız; aradığımız ilgili metin parçasında, kriterlere göre "herhangi bir" sayı arıyoruz.

.
 
Katılım
28 Nisan 2010
Mesajlar
182
Excel Vers. ve Dili
2007 Türkçe
Altın Üyelik Bitiş Tarihi
15/10/2022
Çok teşekkür ederim.
 
Üst