• DİKKAT

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

Toplama işlemi

Katılım
15 Temmuz 2012
Mesajlar
2,802
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Herkese hayırlı cumalar.

Ekte gönderdiğim hücreler içerisinde sayılar var, bunları toplamak istiyorum, ama sonuç alamıyorum.
Bazı hücrelerde birden çok sayı mevcut.

Yardımcı olur musunuz?
 

Ekli dosyalar

Dosyanız ektedir;

.
 

Ekli dosyalar

Excel'in yerleşik fonksiyonları ile yapılamaz diye düşünüyorum.
Eğer kod ile yapmak isterseniz dosyanızda yeni bir "Module" ekleyin aşağıdaki kodu kopyalayın.

Kod:
Public Function Topla_Test(Aralık As Range)
    Dim Bak As Range
    Dim Ayir As Integer
    Dim Toplam As Double
    Dim Deger As Variant
    For Each Bak In Aralık
        Deger = Split(Bak, vbLf)
        For Ayir = 0 To UBound(Deger)
            If IsNumeric(Deger(Ayir)) Then
                Toplam = Toplam + Deger(Ayir)
            End If
        Next
    Next
    Topla_Test = Toplam
End Function

şimdi excel sayfanızı açın şu formülü kullanabilirsiniz

Kod:
=Topla_Test(A1:A3)
 

Ekli dosyalar

Sayın Haluk Bey ve Sayın dalgalikur ellerinize sağlık, çok teşekkür ediyorum.

Her ikiside tam istediğim gibi çalışıyor.
Hayırlı çalışmalar diliyorum.
 
Sayın @Haluk "=Toplam" işlevi nasıl çalışıyor? Toplamı nasıl alıyorsunuz?
 
Sayın Haluk Bey, yardımcı sütun kullanmış, siz topla fonksiyon makrosu tanımlamışsınız.

Sizin formül benim işime daha çok yaradı, çok teşekkür ediyorum.
 
Ama yardımcı sütunda sadece =Topla yazıyor. Bunu yazınca çalışan herhangi bir kod da yok. Ben bunu merak ettim.
 
Sayın @Haluk "=Toplam" işlevi nasıl çalışıyor? Toplamı nasıl alıyorsunuz?

Dosyada ufak bir "Excel4 makrosu" kullanılmıştır..... Ufak olmakla birlikte sizin VBA koduyla eşdeğerdir ;)

İncelemek için A1 hücresini seçin, sonra menülerden Formulas >> Name Maneger'ı tıklayın....


Aşağıdaki resimde detayları görebilirsiniz.



Capture.PNG
.
 
Yapılamaz derken haklıymışım. Bu uzunlukta formüller "Toplam" formülü içine yazılsa çok uzun bir formül elde edilir ki bu da yapılamaz olmasa da en azından yapılmamalı anlamına geliyor. :D
 
Yapılamaz derken haklıymışım. Bu uzunlukta formüller "Toplam" formülü içine yazılsa çok uzun bir formül elde edilir ki bu da yapılamaz olmasa da en azından yapılmamalı anlamına geliyor. :D

9 No'lu mesaj ekindeki dosya için mi söylüyorsunuz bunları?

.
 
Evet. Yeni bir kolon ekleniyor ve her satırda çok fazla formül var.
Bir de yeni kolon eklenmeden tek bir hücrede =Toplam() fonksiyonu içinde imkansız gibi bir şey oluyor.
 
Evet. Yeni bir kolon ekleniyor ve her satırda çok fazla formül var.
Bir de yeni kolon eklenmeden tek bir hücrede =Toplam() fonksiyonu içinde imkansız gibi bir şey oluyor.

Yardımcı sütun kullanmadan, 1 adet formülle hazırlanan çözüm ekli dosyadadır...




Not: @ASLAN7410 bunun haricinde, sayfada kullanım şekli aşağıdaki gibi olan;
Kod:
=ToplamHD(A1:A3)


VBA ile alternatif bir Kullanıcı Tanımlı Fonksiyon da kullanabilirsiniz:
Kod:
Function ToplamHD(Veriler As Range)
    myArr = Application.Transpose(Veriler)
    ToplamHD = Evaluate(Replace(Application.Transpose(Join(myArr, vbLf)), vbLf, "+"))
End Function

.
 

Ekli dosyalar

Son düzenleme:
Sayın Haluk Bey, ellerinize sağlık çok teşekkür ediyorum.

=ToplamHD(A1:A3) bu formülü
=ToplamHD(A1:A10) bu şekilde yazıyorum hücre aralığının en son hücresi boş ise DEĞER hatası veriyor .
 
Siz de boş hücreyi seçmeyin....

.
 
Anladım, ilginize çok teşekkür ediyorum.

Hayırlı çalışmalar diliyorum.
 
Ya da, aşağıdaki revizyonu kullanın...

Kod:
Function ToplamHD(Veriler As Range)
    myArr = Application.Transpose(Veriler)
    ToplamHD = Evaluate(Replace(Application.Transpose(Join(myArr, vbLf)), vbLf, "+") & "+ 0")
End Function

.
 
Son düzenleme:
Sayın Haluk Bey, şimdi oldu çok teşekkür ediyorum.
 
Geri
Üst