• DİKKAT

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

en çok satan ürün

aydgur

Altın Üye
Katılım
31 Ekim 2005
Mesajlar
455
Excel Vers. ve Dili
Excel 2007 Türkçe
1563787039643.png
1563787186624.png
Merhaba . 1.resimde satılan ürünleri müşteri adına göre sıraladım.2.resimde saydır makrosu ile her satılan üründen kaç kg satılmış buldum. kg.liste makrosu ile en çok satn kg.ye göre dizdim. Eklemek istediğim şu . 2.resimde her ürünün yanına o ürünü en çok alan müşteri adını yazdırmak istiyorum.Dosyayı büyük yüklemedim. Bunu makro ile yada bir excel formülü ile çözülebilir mi ?
 
İyi akşamlar , acaba soruyu mu yanlış sordum bilemedim. Yardımcı olabilmeniz mümkün mü ?
 
Sanırım 2 ayrı sayfa sayfa adları belirsiz.Sorunuz da toplamda mı ençok alan bir seferde mi? belirsiz.Resim yerine dosyanızın küçük bir örneğini paylaşsanız çözüm bulunurdu.
 
Örnek bir dosyayı ekledim. Pivot tablo yapsamda maalesef diğer kullanıcılar kullanamayacak . Formül yada makro olabilse mükemmel olur.
 
Kusura bakmayın yükledi zannettim , dosya büyük diyor. Birde böyle deniyorum
 

Ekli dosyalar

Aşağıdaki makroyu bir modüle kopyalayıp deneyiniz. Makro LİSTE sayfasında K sütununa en çok alan müşteri adını ve L sütununa o müşterinin aldığı miktarı kaydeder. Her ürün ve müşteri için iki defa döngü yapıldığından verilerinizin çokluğuna göre işlem uzun sürebilir:

PHP:
Sub kim()
Set s1 = Sheets("SATIŞLAR")
Set s2 = Sheets("LİSTE")

son1 = s1.Cells(Rows.Count, "B").End(3).Row
son2 = s1.Cells(Rows.Count, "H").End(3).Row

For urun = 2 To son2
    For musteri = 2 To son1
        If WorksheetFunction.SumIfs(s1.Range("E2:E" & son1), s1.Range("B2:B" & son1), s1.Cells(musteri, "B"), _
            s1.Range("D2:D" & son1), s2.Cells(urun, "H")) > 0 Then
                If s2.Cells(urun, "K") = "" Then
                    s2.Cells(urun, "K") = s1.Cells(musteri, "B")
                    s2.Cells(urun, "L") = WorksheetFunction.SumIfs(s1.Range("E2:E" & son1), s1.Range("B2:B" & son1), s1.Cells(musteri, "B"), _
                                                s1.Range("D2:D" & son1), s2.Cells(urun, "H"))
                Else
                    If WorksheetFunction.SumIfs(s1.Range("E2:E" & son1), s1.Range("B2:B" & son1), s1.Cells(musteri, "B"), _
                        s1.Range("D2:D" & son1), s2.Cells(urun, "H")) > s2.Cells(urun, "L") Then
                             s2.Cells(urun, "K") = s1.Cells(musteri, "B")
                             s2.Cells(urun, "L") = WorksheetFunction.SumIfs(s1.Range("E2:E" & son1), s1.Range("B2:B" & son1), s1.Cells(musteri, "B"), _
                                                         s1.Range("D2:D" & son1), s2.Cells(urun, "H"))
                    End If
                End If
        End If
    Next
Next
End Sub
 
Kusura bakmayın hastam vardı cevap veremedim.
Her ikiside çok güzel çalıştı , emeğinize aklınıza sağlıklar diler çok çok teşekkür ederim.
 
Geçmiş olsun, Allah şifa versin.

.
 
Geri
Üst