• DİKKAT

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

Teke Düşürerek Toplama alma

Katılım
10 Kasım 2006
Mesajlar
399
Excel Vers. ve Dili
microsoft office 2007-2010-2013-2019-2021
İyi günler,
Elimde tabloda olduğu gibi yaklaşık 10.000 kişiden oluşan bir listem var, personel isimleri farklı yıllarda veya aynı yıl içerisnde mükerrer yani tekrar edilerek yazılabiliyor.
Sizden istediğim yardım, C:C sütununda yer alan isimlerin G:G sütununa göre J sütununda yer alan bilgilerin karşısana teke düşürerek toplaması.
Örnek: Ahmet Yılmaz isimli kişi 2018 yılında üç kez tekrar yazılmış bunu teke düşürerek son satırın H sütunundan alarak toplayacak, yani enson veri ÇALIŞIYOR ondan önce PASİF ise ÇALIŞIYOR'u baz alarak toplayacak, aynı şekilde diğer kişiler ve yıllar içinde geçerli. Dosya ektedir.

Yardımlarınız için şimdiden teşekkür ederim.
 

Ekli dosyalar

C++:
Sub Özetle()
Range("K2:M5").ClearContents
SonSat = Range("C2").End(xlDown).Row
For i = 2 To Range("C2").End(xlDown).Row
    Son = WorksheetFunction.CountIf(Range("G" & i, "G" & SonSat), Range("G" & i)) + i - 1
    If WorksheetFunction.CountIf(Range("C" & i, "C" & Son), Range("C" & i)) = 1 Then
        x = WorksheetFunction.Match(Range("G" & i), Range("K1:M1"), 0)
        y = WorksheetFunction.Match(Range("H" & i), Range("J2:J5"), 0)
        Range("J1").Offset(y, x) = Range("J1").Offset(y, x) + 1
    End If
Next i
End Sub
 
Kod:
let
    Source = Excel.CurrentWorkbook(){[Name="Tablo1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"ADI SOYADI", type text}, {"CİNSİYET", type text}, {"DOĞUM TARİHİ", Int64.Type}, {"ÇALIŞTIĞI BİRİM", type text}, {"YIL DURUMU", Int64.Type}, {"AKTİF/PASİF", type text}}),
    #"Removed Columns" = Table.RemoveColumns(#"Changed Type",{"CİNSİYET", "DOĞUM TARİHİ", "ÇALIŞTIĞI BİRİM"}),
    #"Grouped Rows" = Table.Group(#"Removed Columns", {"ADI SOYADI", "YIL DURUMU"}, {{"Count", each _, type table}}),
    #"Added Custom" =      Table.AddColumn(#"Grouped Rows" , "Last", each List.Last([Count][#"AKTİF/PASİF"])),
    #"Sorted Rows" = Table.Sort(#"Added Custom",{{"ADI SOYADI", Order.Ascending}, {"YIL DURUMU", Order.Ascending}}),
    #"Removed Columns1" = Table.RemoveColumns(#"Sorted Rows",{"Count", "ADI SOYADI"}),
    #"Reordered Columns" = Table.ReorderColumns(#"Removed Columns1",{"Last", "YIL DURUMU"}),
    #"Grouped Rows1" = Table.Group(#"Reordered Columns", {"Last", "YIL DURUMU"}, {{"Count", each Table.RowCount(_), type number}}),
    #"Pivoted Column" = Table.Pivot(Table.TransformColumnTypes(#"Grouped Rows1", {{"YIL DURUMU", type text}}, "tr-TR"), List.Distinct(Table.TransformColumnTypes(#"Grouped Rows1", {{"YIL DURUMU", type text}}, "tr-TR")[#"YIL DURUMU"]), "YIL DURUMU", "Count", List.Sum)
in
    #"Pivoted Column"


test.gif
 
Sayın Nextlevel ve Sayın VeyselEmre çok teşekkür ederim emeğinize sağlık.
 
Sayın Nextlevel bu toplamı MİKTAR sayfasına yapabilir miyiz. Bu konuda yardımcı olursanız sevinirim.
 
C++:
Sub Özetle()
Set Sh1 = Worksheets("Güncel")
Set Sh2 = Worksheets("MİKTAR")
Sh2.Range("K2:M5").ClearContents
SonSat = Sh1.Range("C2").End(xlDown).Row
For i = 2 To SonSat
    Son = WorksheetFunction.CountIf(Sh1.Range("G" & i, "G" & SonSat), Sh1.Range("G" & i)) + i - 1
    If WorksheetFunction.CountIf(Sh1.Range("C" & i, "C" & Son), Sh1.Range("C" & i)) = 1 Then
        x = WorksheetFunction.Match(Sh1.Range("G" & i), Sh2.Range("K1:M1"), 0)
        y = WorksheetFunction.Match(Sh1.Range("H" & i), Sh2.Range("J2:J5"), 0)
        Sh2.Range("J1").Offset(y, x) = Sh2.Range("J1").Offset(y, x) + 1
    End If
Next i
End Sub
 
Rahatsızlığım nedeni ile giriş yapamamıştım kusura bakmayın. Çok teşekkür ederim.
 
Geçmiş olsun. Sağlıcakla kalın.
 
Geri
Üst