• DİKKAT

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

bir aralıkta parantez içinde yazılmış sayıları toplatma

modoste

Altın Üye
Katılım
31 Mayıs 2008
Mesajlar
3,714
Excel Vers. ve Dili
Microsoft OFFİCE Ev ve İş 2019 TR
merhaba sayın hocalarım
A1:A50 arasında her hücrede bir ifade yada sayı yazılı iken başında sonunda yada ortasında (###.###.##0,000) formatında sayı yazıcam
örnek A1= 102,48 (45,650)
A2 = (0,126) ahmet ... gibi
istediğim ise A1:A50 arasında parantez içinde yazdığım aynı formattaki sayıların
B1 hücresinden itibaren altalta sıralanması
C1 hücresinde Toplamı
 
B1 hücresine aşağıdaki formülü uguyulayıp alt hücrelere sürükleyin. C1 hücresini siz halledersiniz.
Kod:
=EĞER(ESAYIYSA(PARÇAAL(A1;BUL("(";A1)+1;BUL(")";A1)-BUL("(";A1)-1)*1);PARÇAAL(A1;BUL("(";A1)+1;BUL(")";A1)-BUL("(";A1)-1)*1;0)
 
sayın Korhan Hocam
çözüm için teşekkür ederim
bir sorum daha olacaktı. ilk sorduğumda sayıların sıralamasını formülle buldurduğunuzdan toplaması yapılabiliyo.

ancak benim hazırlamakta olduğum rapor dosyasında veriler olcak ve toplamını almak için tek bir formüle ihtiyacım olcak.
şöyleki
A1 hücresinde 1200 m² (846,520 Ton)
B1 hücresi 1300 m² (1026,548 Ton)
C1 hücresi (2600 m² (1452,658 Ton) böyle devam edecek ve 31 sütun olcak yani ayın 1 inden 31 ine aylık rapor formatı
ilk sorumdan farklı olarak böyle devam eden verilerin toplamını nasıl alırım. parantez içini dikkate alacak "Ton" kısmını atacak ve sadece sayıları toplayacak.
 
Ekli dosyayı inceleyin

Toplam alan hücre KTF ile yapılmış olup hücre biçimlendirmeden isteği uyarlanmış kısmına
#.##0 " Ton" olan biçimlendiriniz,
Toplam almak istediğiniz aralığıa;
=KTOPLA(A1:A100) şeklinde aralığa göre uyarlayınız
 

Ekli dosyalar

Function KTOPLA(Alan As Range) As Double
Dim Veri As Range
Application.Volatile True
With CreateObject("Vbscript.Regexp")
.Pattern = "[a-zA-ZğüşiöçĞÜŞİÖÇ.;: ]+"
.Global = True
.IgnoreCase = True
For Each Veri In Alan
Debug.Print .Replace(Veri.Text, "")
If IsNumeric(.Replace(Veri.Text, "")) Then
KTOPLA = KTOPLA + .Replace(Veri.Text, "")
End If
Next
End With
End Function

=KTOPLA(B1:B31)& " Ton" Şeklinde de olabilir

KTF evvelce bu siteden temin edilen kodlardır
 
normal formülle yapılmasını beklemekteyim
sayın tahsinarat çözümünüzü arşivime aldım emeğinize sağlık.
 
aşağıdaki formülü kullanabilirsiniz
Kod:
=TOPLA(EĞER(ESAYIYSA(--YERİNEKOY(B1:B31;" Ton";""));--YERİNEKOY(B1:B31;" Ton";"");0))& " Ton"
Dizi formülüdür (hücrede ctrl+shift+Enter) yapmalısınız.
 
Not: Ton kelimesi birebir eşleşmeli, büyük küçük harf duyarlı, örneğimize göre formülde küçük harflerle ton olmalıydı. Bilgilerinize
 
sayın tahsinarat son verdiğiniz formülü uyguluyorum ancak hatalı sonuç alıyorum
sizin formülde veriler 156,240 Ton olunca yani birimi metin olarak "Ton" yazınca formül çalışıyo


D1 hücresine ali (156,240 Ton)
D2 hücresine 1000 (10,000 Ton)
yazıp sizin formülü uyguladığımda cevabın 156,24+10 = 166,24 olması için hangi formül kullanmalıyım
 
Merhaba,

Dizi formülüdür.

Kod:
=TOPLA(EĞER(ESAYIYSA(BUL("(";A1:D1))
 ;YERİNEKOY(DEĞİŞTİR(A1:D1;1;BUL("(";A1:D1);"");" Ton)";"")+0))

.
 
sayın Ömer hocam
formülü uyguladım tam sonuç aldım teşekkür ederim tüm hocalarıma emeklerine sağlık
 
Sayın Ömer hocam birşey sorucaktım
sayın yurttaş hocamın bu foruma eklediği örnek çalışmalarının olduğu kendi özel adresini paylaşmıştı
acaba sizinde excel ile ilgili yaptığınız tüm çalışmaların olduğu arşiv varsa paylaşırmısınız.
 
Hazırladığım ya da biriktirdiğim bir arşivim bulunmamaktadır.
 
Geri
Üst