Skip to main content

AccessTr.neT


Metin Ve Sayıların Olduğu Hücre

Metin Ve Sayıların Olduğu Hücre

Çözüldü #1
Metin ve sayıların olduğu hücreden toplamları almak için formülle yapılabilir mi acaba?
.7z Metin ve sayıların olduğu hücre.7z (Dosya Boyutu: 8,51 KB | İndirme Sayısı: 4)
yyhy, 18-05-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
#2
Kod ile isterseniz split ,replace vb... kodlarla basitçe yapılır.
Ayrıca kod ile KTF olarakta yapılıp formül gibi kullanabilirsiniz.
Cevapla
#3
Sayın @feraz bey KTF olarak kullanmayı düşünüyorum.
=TOPLA.ÇARPIM(--KIRP(PARÇAAL(YERİNEKOY(G2;",";YİNELE(" ";UZUNLUK(G2)));1+((SATIR(DOLAYLI("$1:"&(1+UZUNLUK(G2)-UZUNLUK(YERİNEKOY(G2;",";"")))))-1)*UZUNLUK(G2));UZUNLUK(G2))))
ve
=EĞERHATA(TOPLA(EĞER(EĞERHATA(MBUL("#";"#"&YERİNEKOY(G2;", ";"#")&"#";SATIR(KAYDIR(A$1;;;UZUNLUK("#"&YERİNEKOY(G2;", ";"#")&"#")-1;1)));"")<>EĞERHATA(MBUL("#";"#"&YERİNEKOY(G2;", ";"#")&"#";SATIR(KAYDIR(A$2;;;UZUNLUK("#"&YERİNEKOY(G2;", ";"#")&"#")-1;1)));"");EĞERHATA(PARÇAAL("#"&YERİNEKOY(G2;", ";"#")&"#";EĞERHATA(MBUL("#";"#"&YERİNEKOY(G2;", ";"#")&"#";SATIR(KAYDIR(A$1;;;UZUNLUK("#"&YERİNEKOY(G2;", ";"#")&"#")-1;1)));"")+1;EĞERHATA(MBUL("#";"#"&YERİNEKOY(G2;", ";"#")&"#";SATIR(KAYDIR(A$2;;;UZUNLUK("#"&YERİNEKOY(G2;", ";"#")&"#")-1;1)));"")-EĞERHATA(MBUL("#";"#"&YERİNEKOY(G2;", ";"#")&"#";SATIR(KAYDIR(A$1;;;UZUNLUK("#"&YERİNEKOY(G2;", ";"#")&"#")-1;1)));"")-1)*1;"");""));"")

Arkadaşların yardımları ile çözüldü. Ama hem forumda hem de bizlerde örnek olması hasabiyle çeşitli alternatifler olsa iyi olur. Emeği geçenlere çok teşekkür ederim.
yyhy, 18-05-2009 tarihinden beri AccessTr.neT üyesidir.
Son Düzenleme: 10/11/2023, 09:24, Düzenleyen: yyhy.
Cevapla
#4
Ktf olarak akşama doğru yapıp eklerim.
Cevapla
#5
(10/11/2023, 12:36)feraz yazdı: Ktf olarak akşama doğru yapıp eklerim.

=ToplaKTF(G2;",")
Alttaki kodu boş bir modüle ekleyip yukardaki gibi hücreye ekleyin.

PHP Kod:
Function ToplaKTF(hucre As Rangeayrac As String) As Double
    Dim topla 
As DoublekesAs Long
    Application
.Volatile
    ToplaKTF 
0
    kes 
Replace(hucre" """)
    
kes Split(kesayrac)
    
    For 
0 To UBound(kes)
      If 
IsNumeric(kes(i)) = True Then topla topla CDbl(kes(i))
    
Next
    
    ToplaKTF 
topla
End 
Function 
Cevapla
#6
=ToplaKTF(G2)

Yada alttaki gibi olabilir ama çok fazla satır olacaksa mesela 1 den 5bine kadar satır.O zaman yavaş çalışıyor.Kullanımıda yukardaki gibi.
PHP Kod:
Function ToplaKTF(hucre As Range) As Double
    Dim topla 
As DoublearrAs Long
    Application
.Volatile
    ToplaKTF 
0
    
    With CreateObject
("vbscript.regexp")
        .
Pattern "[^0-9]"
        
.Global = True
        
.IgnoreCase True
        arr 
Split(Trim(.Replace(hucre.Value" ")), " ")
    
End With
        
    
For 0 To UBound(arr)
      If 
IsNumeric(arr(i)) = True Then topla topla CDbl(arr(i))
    
Next
    
    ToplaKTF 
topla
End 
Function 
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task