• DİKKAT

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

Çözüldü Birime göre Toplama

Katılım
17 Haziran 2008
Mesajlar
1,874
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Merhaba arkadaşlar

N34:N44 arasıdan birim etiketleri var. ve ( 11 sayfalık bir kitap. )

N34: m³
N35: m³
N36: m³
N37: m³
...
N43: m²
N44: m²


gibi... M34:M44 aralığında da , sayılar var. (54,20 185,12 36,12 gibi...)

yapmak istediğim;

birimi(etiketi) aynı olan verileri Toplayarak ( her sayfadaki adresler aynıdır. ) Icmal sayfasında belirlediğim hücreye toplamı yazdırmak.

Bunu nasıl yapabilirim ?


yardımcı arkadaşa şimdiden teşekkürler.
 
Merhaba

=TOPLA.ÇARPIM((N34:N44=N34)*(M34:M44))
 
Bunu tüm sayfalara yönelik bir çalışma olması gerekiyor. Icmal sayfası üzerinden diğer sayfalardaki değerleri getirip, toplatmalıyım.
 
Formülde 11 koşul yazmak sıkıntı olacağı için ufak bir yardımcı alanla kolaylıkla halledilebilir.
Resimde sarı alanla gözüken sayfa listesi istediğiniz herhangi bir yerde durmalı. Kırmızı işaretli formüller için dosyayı inceleyiniz. Örneğime göre formül şuydu.

=TOPLA.ÇARPIM(ÇOKETOPLA(DOLAYLI("'"&$D$2:$D$4&"'!"&"B:B");DOLAYLI("'"&$D$2:$D$4&"'!"&"A:A");A2))

Ekleme : Harici indirme Link

248429
 

Ekli dosyalar

Son düzenleme:
Arkadaşlar çok teşekkür ederim. Vba ile çözdüm.
 
Merhaba, forum üyelerinin ve ziyaretçilerinde faydalanması için çözümünüzü paylaşır mısınız?



C#:
Sub IcmalHesapla()
    Dim wb As Workbook
    Dim icmalWs As Worksheet
    Dim birimRange As Range
    Dim sayiRange As Range
    Dim birimCell As Range
    Dim sayiCell As Range
    Dim icmalCellAdres As String
    Dim icmalCell As Range
    Dim toplam As Double
    Dim birimEtiket As String
    Dim ws As Worksheet
    
  
    Set wb = ThisWorkbook
    Set icmalWs = wb.Sheets("icmal")
    
    
    birimEtiket = InputBox("Lütfen birim etiketini girin:", "Birim Etiketi")
    icmalCellAdres = InputBox("Lütfen Icmal sayfasındaki hedef hücrenin adresini girin (örneğin, A1):", "Hedef Hücre")
    

    Set icmalCell = icmalWs.Range(icmalCellAdres)
    
 
    toplam = 0
    
 
    For Each ws In wb.Sheets
 
        If ws.Name <> icmalWs.Name Then
        
            Set birimRange = ws.Range("N34:N44") ' Birim etiketlerinin bulunduğu aralık
            Set sayiRange = ws.Range("M34:M44") ' Sayıların bulunduğu aralık
            
        
            For Each birimCell In birimRange
                If birimEtiket = birimCell.Value Then
                    toplam = toplam + birimCell.Offset(, -1).Value
                End If
            Next birimCell
        End If
    Next ws
    
 
    icmalCell.Value = toplam
End Sub
 
Geri
Üst