Toplama işlemi

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
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

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
Dosyanız ektedir;

.
 

Ekli dosyalar

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
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

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
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.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Sayın @Haluk "=Toplam" işlevi nasıl çalışıyor? Toplamı nasıl alıyorsunuz?
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
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.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Ama yardımcı sütunda sadece =Topla yazıyor. Bunu yazınca çalışan herhangi bir kod da yok. Ben bunu merak ettim.
 

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
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
.
 

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

Ekli dosyalar

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
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
 

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
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ı?

.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
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.
 

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. 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:

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
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 .
 

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
Siz de boş hücreyi seçmeyin....

.
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Anladım, ilginize çok teşekkür ediyorum.

Hayırlı çalışmalar diliyorum.
 

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
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:

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Sayın Haluk Bey, şimdi oldu çok teşekkür ediyorum.
 
Üst