HÜCRE İÇİNDEKİ VERİLERİ TOPLAMA

stier_22

Altın Üye
Katılım
15 Eylül 2009
Mesajlar
147
Excel Vers. ve Dili
excel 2016
Altın Üyelik Bitiş Tarihi
04-01-2028
Selam arkadaşlar,

Elimde bir liste var ve içerisinde yer alan verileri toplam olarak görmek istiyorum yanında adet veya kg olarak görerek

örnek 1,1,1 ad olan veriyi 3 ad olarak toplamını almam gerekiyor dosyam ektedir yardımcı olur musunuz (yanındaki birimleri de almasını istiyorum ad, kg, mt)
 

Ekli dosyalar

babaof

Altın Üye
Katılım
29 Eylül 2007
Mesajlar
31
Excel Vers. ve Dili
.
Altın Üyelik Bitiş Tarihi
29-08-2025
Örnek bakabilirsiniz.. istediğiniz böylemi?
 

Ekli dosyalar

stier_22

Altın Üye
Katılım
15 Eylül 2009
Mesajlar
147
Excel Vers. ve Dili
excel 2016
Altın Üyelik Bitiş Tarihi
04-01-2028
Örnek bakabilirsiniz.. istediğiniz böylemi?
Tam olarak yaptığınızı anlayamadım ben hücre içindeki veriyi toplamasını istiyorum sizin dosyanızda herhangi bir formül göremedim

Yani 258,10 KİLOGRAM,796,20 KİLOGRAM,1312,10 KİLOGRAM,239,20 KİLOGRAM diye yazan bir hücrede bunların toplam kilosunu versin , adet ,ise adetini versin yanında adet ve kiloda yazsın istiyorum toplamın yanında
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,256
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bu arada verileriniz hem virgülle ayrılmış hem de ondalık ayıracı olarak virgül kullanılmış.

Yanında birim olmayanlarda toplanacak mı?
 

stier_22

Altın Üye
Katılım
15 Eylül 2009
Mesajlar
147
Excel Vers. ve Dili
excel 2016
Altın Üyelik Bitiş Tarihi
04-01-2028
Bu arada verileriniz hem virgülle ayrılmış hem de ondalık ayıracı olarak virgül kullanılmış.

Yanında birim olmayanlarda toplanacak mı?
evet birim olmayanlarda toplanacak üstat o eksikleri manuel düzelticem
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,256
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

Kodları boş bir modüle ekleyip kullanabilirsiniz.


C++:
Option Explicit

Sub Birime_Gore_Topla()
    Dim Veri As Variant, Son As Long, X As Long, Kriter As Variant, Y As Integer, Zaman As Double
    Dim Toplam_Adet As Double, Toplam_Kg As Double, Toplam As Double, Miktar As Double
   
    Zaman = Timer
   
    Son = Cells(Rows.Count, 1).End(3).Row
    If Son = 1 Then Son = 2
   
    Veri = Range("A1:A" & Son).Value
   
    For X = LBound(Veri) To UBound(Veri)
        If Veri(X, 1) <> "" Then
            If InStr(1, Veri(X, 1), "ADET") > 0 Then
                Kriter = Split(Veri(X, 1), "ADET")
                For Y = LBound(Kriter) To UBound(Kriter)
                    If Left(Kriter(Y), 1) = "," Then
                        Miktar = Mid(Kriter(Y), 2, Len(Kriter(Y)))
                    Else
                        Miktar = IIf(Kriter(Y) = "", 0, Replace(Kriter(Y), ",", "."))
                    End If
                    Toplam_Adet = Toplam_Adet + Miktar
                Next
            ElseIf InStr(1, Veri(X, 1), "KİLOGRAM") > 0 Then
                Kriter = Split(Veri(X, 1), "KİLOGRAM")
                For Y = LBound(Kriter) To UBound(Kriter)
                    If Left(Kriter(Y), 1) = "," Then
                        Miktar = Mid(Kriter(Y), 2, Len(Kriter(Y)))
                    Else
                        Miktar = IIf(Kriter(Y) = "", 0, Replace(Kriter(Y), ",", "."))
                    End If
                    Toplam_Kg = Toplam_Kg + Miktar
                Next
            Else
                Kriter = Split(Veri(X, 1), ",")
                For Y = LBound(Kriter) To UBound(Kriter)
                    If Left(Kriter(Y), 1) = "," Then
                        Miktar = Mid(Kriter(Y), 2, Len(Kriter(Y)))
                    Else
                        Miktar = IIf(Kriter(Y) = "", 0, Replace(Kriter(Y), ",", "."))
                    End If
                    Toplam = Toplam + IIf(Kriter(Y) = "", 0, Kriter(Y))
                Next
            End If
        End If
    Next
   
    Range("C1") = "Toplam"
    Range("C2") = "Toplam_Adet"
    Range("C3") = "Toplam_Kg"
   
    Range("D1") = Toplam
    Range("D2") = Toplam_Adet
    Range("D3") = Toplam_Kg
   
    MsgBox "İşleminiz tamamlanmıştır." & Chr(10) & Chr(10) & _
           "İşlem süresi ; " & Format(Timer - Zaman, "0.00") & " Saniye", vbInformation
End Sub
 

stier_22

Altın Üye
Katılım
15 Eylül 2009
Mesajlar
147
Excel Vers. ve Dili
excel 2016
Altın Üyelik Bitiş Tarihi
04-01-2028
Deneyiniz.

Kodları boş bir modüle ekleyip kullanabilirsiniz.


C++:
Option Explicit

Sub Birime_Gore_Topla()
    Dim Veri As Variant, Son As Long, X As Long, Kriter As Variant, Y As Integer, Zaman As Double
    Dim Toplam_Adet As Double, Toplam_Kg As Double, Toplam As Double, Miktar As Double
  
    Zaman = Timer
  
    Son = Cells(Rows.Count, 1).End(3).Row
    If Son = 1 Then Son = 2
  
    Veri = Range("A1:A" & Son).Value
  
    For X = LBound(Veri) To UBound(Veri)
        If Veri(X, 1) <> "" Then
            If InStr(1, Veri(X, 1), "ADET") > 0 Then
                Kriter = Split(Veri(X, 1), "ADET")
                For Y = LBound(Kriter) To UBound(Kriter)
                    If Left(Kriter(Y), 1) = "," Then
                        Miktar = Mid(Kriter(Y), 2, Len(Kriter(Y)))
                    Else
                        Miktar = IIf(Kriter(Y) = "", 0, Replace(Kriter(Y), ",", "."))
                    End If
                    Toplam_Adet = Toplam_Adet + Miktar
                Next
            ElseIf InStr(1, Veri(X, 1), "KİLOGRAM") > 0 Then
                Kriter = Split(Veri(X, 1), "KİLOGRAM")
                For Y = LBound(Kriter) To UBound(Kriter)
                    If Left(Kriter(Y), 1) = "," Then
                        Miktar = Mid(Kriter(Y), 2, Len(Kriter(Y)))
                    Else
                        Miktar = IIf(Kriter(Y) = "", 0, Replace(Kriter(Y), ",", "."))
                    End If
                    Toplam_Kg = Toplam_Kg + Miktar
                Next
            Else
                Kriter = Split(Veri(X, 1), ",")
                For Y = LBound(Kriter) To UBound(Kriter)
                    If Left(Kriter(Y), 1) = "," Then
                        Miktar = Mid(Kriter(Y), 2, Len(Kriter(Y)))
                    Else
                        Miktar = IIf(Kriter(Y) = "", 0, Replace(Kriter(Y), ",", "."))
                    End If
                    Toplam = Toplam + IIf(Kriter(Y) = "", 0, Kriter(Y))
                Next
            End If
        End If
    Next
  
    Range("C1") = "Toplam"
    Range("C2") = "Toplam_Adet"
    Range("C3") = "Toplam_Kg"
  
    Range("D1") = Toplam
    Range("D2") = Toplam_Adet
    Range("D3") = Toplam_Kg
  
    MsgBox "İşleminiz tamamlanmıştır." & Chr(10) & Chr(10) & _
           "İşlem süresi ; " & Format(Timer - Zaman, "0.00") & " Saniye", vbInformation
End Sub
bu kodu makro kaydet diyerek yapacağım değil mi sonra da çalıştır diyeceğim?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,256
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Mesajımda 3 link paylaştım. Onları incelerseniz bilgi sahibi olabilirsiniz.
 

kulomer46

Altın Üye
Katılım
23 Mart 2007
Mesajlar
1,513
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
08-06-2027
Merhaba

Alternatif olarak Ek 'teki dosyayı ekliyorum.

Dosyada Hücre içerisindeki Dağınık Sayıların Birimli Toplanması, Kullanıcı Tanımlı Fonksiyon yazılarak Formül ile sağlanmıştır.

Formül kullanılınca kullanıcının analiz edilecek hücreyi kendisinin belirlemesi ve
analiz sonucunuda kendi belirleyeceği dilediği hücreye yazdırabilmesi mümkündür.

Eğer tercih edilirse Formül ile kullanıcıya kullanım esnekliği sağlanmaktadır.

Selamlar...

İlgili Resim
222144
 

Ekli dosyalar

NADİR YILDIZ

Altın Üye
Katılım
7 Ocak 2006
Mesajlar
1,339
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
09-02-2026
sayın kulomer aynı hücre içinde adet kg metre litre brimli ürünler var bunları yan sütunlara brime göre ayrı ayrı döküm alabilirmiyiz
 

kulomer46

Altın Üye
Katılım
23 Mart 2007
Mesajlar
1,513
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
08-06-2027
sayın kulomer aynı hücre içinde adet kg metre litre brimli ürünler var bunları yan sütunlara brime göre ayrı ayrı döküm alabilirmiyiz
Merhaba

Talebiniz ve çalıştığınız durum farklı formatta olabilir.

Örnek dosya eklerseniz talebinizi daha rahat inceleme fırsatı olur.

Selamlar...
 

NADİR YILDIZ

Altın Üye
Katılım
7 Ocak 2006
Mesajlar
1,339
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
09-02-2026
sizin örneğinizde sarı alanlardaki gibi brime göre ilgili sütunda toplam alabilirmiyiz ?
daha sonra değişik brimler eklenebileceği gözönüne alınırsa sütun sayısını 15 brime kadar uygulanabilir mi ?

teşekkür eder.
iyi çalışmalar dilerim.....
 

Ekli dosyalar

kulomer46

Altın Üye
Katılım
23 Mart 2007
Mesajlar
1,513
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
08-06-2027
Merhaba

Talebinizi anladım. Çözüm için sakin kafa ve biraz boş vakit gerekiyor.
Çözüm için kodları toparlayabilirsem eklemeye çalışırım.

Bazen biraz uğraşıpta sonuç çıkmazsa insan sıkılıyor ve başka konularla uğraşmaya başlıyor.

Selamlar..
 

NADİR YILDIZ

Altın Üye
Katılım
7 Ocak 2006
Mesajlar
1,339
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
09-02-2026
sorun değil sayın kulomer uygun bir zamanda ilgilenirseniz sevinirim

iyi çalışmalar
 

stier_22

Altın Üye
Katılım
15 Eylül 2009
Mesajlar
147
Excel Vers. ve Dili
excel 2016
Altın Üyelik Bitiş Tarihi
04-01-2028
Merhaba

Alternatif olarak Ek 'teki dosyayı ekliyorum.

Dosyada Hücre içerisindeki Dağınık Sayıların Birimli Toplanması, Kullanıcı Tanımlı Fonksiyon yazılarak Formül ile sağlanmıştır.

Formül kullanılınca kullanıcının analiz edilecek hücreyi kendisinin belirlemesi ve
analiz sonucunuda kendi belirleyeceği dilediği hücreye yazdırabilmesi mümkündür.

Eğer tercih edilirse Formül ile kullanıcıya kullanım esnekliği sağlanmaktadır.

Selamlar...

İlgili Resim
Ekli dosyayı görüntüle 222144
Üstat elinize emeğinize sağlık muhteşem olmuş gerçekten diğer yardım eden üstatlara da çok teşekkür ederim.
Ben bu formülü ana dosyama kopyaladım ama #AD? hatası verdi mecburen örnek dosyaya kopyaladım birimleri orda formülüze edip 12 aylık 12 tane dosyaya ayrı ayrı kopyaladım Bu hatayı neden almış olabilirim acaba
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,256
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Dosya içindeki kodları kendi dosyanıza aktarıp kullanabilirsiniz. Tabi bu durumda dosyanızı "Makro içerebilen excel dosyası" biçiminde kaydetmeniz gerekecektir. Ya da kodları eklenti haline getirip ve aktifleştirip tüm excel dosyalarınızda kullanabilirsiniz.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Alternatif olsun.

İmleç 1. satırdayken aşağıdaki işlemleri uygulayın.

Ad Tanımlama girin ve HESAPLA adını vererek ( bu adı değiştirebilirsiniz.) aşağıdaki formülü tanımlayın ve tamam ile işlemi bitirin.
Kod:
=DEĞERBİÇ(YERİNEKOY(YERİNEKOY(YERİNEKOY($A1;"KİLOGRAM";" ");"ADET";" ");" ,";"+"))


B1 hücresine aşağıdaki formülü yazarak alt satırlara kopyalayın.
Kod:
=HESAPLA&" "&SAĞDAN(A1;UZUNLUK(A1)-BUL("*";YERİNEKOY(A1;" ";"*";UZUNLUK(A1)-UZUNLUK(YERİNEKOY(A1;" ";"")))))
Not: Dosyanızı "Makro içerebilen excel dosyası" biçiminde kaydetmeniz gerekir.
 
Üst