• DİKKAT

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

En Çok ihale alan firmayı bulma.

Katılım
29 Ocak 2024
Mesajlar
13
Excel Vers. ve Dili
365- türkçe
merhaba arkadaşlar.
elimde bir excel tablosu var. bu excel tablosunda bir sütunda firmalar var. diğer sütunda o firmadan alınan ürünler var. firma isimleri ve alınan ürünlerin isimleri tekrar ediyor. benim istediğim şey şu, ben hangi üründen kaç adet aldım ve en çok hangi firmadan tedarik ettim.
mesela

A ürünü - 5 Adet- B firması gibi.
https://docs.google.com/spreadsheet...ouid=105914948777065269921&rtpof=true&sd=true
buradaki linkte excel tablosu mevcut.
yardımcı olabilirseniz çok sevinirim.
 
Link erişime kapalı...

.
 
Ekli dosyaya bir ara bakarsınız....


.
 
Ekli dosyaya bir ara bakarsınız....


.
Teşekkürler fakat şöyle bir problem var. Ocak ayında Malzeme / Hizmet Adı içerisinde tekrar eden veriler var. Ocak Ayı Alınan Ürünler sütununda ise "Malzeme / Hizmet Adı" isimli sütundan gelen tekrarlı verilerin silinmiş hali var (her bir kalem ürün tek bir defa gösteriliyor)
benim istediğim şu , ben "Malzeme / Hizmet Adı" adlı sütundaki ürünlerden kaç tane aldım , ve her bir kalem ürünün (örnek olarak 5 kalem ürün var ve bu 5 kalem ürünün 4 kalemini ben A firmasından aldım) en çok satın aldığım firmayı görmek istiyorum.
 
Su anda disaridayim, dondugumde musait olursam bakarim....

.
 
Baktım ama bir çözüm bulamadım ...

.
 
İstediğiniz sonuçlar, linkte yer alan dosyadaki gibi mi?


.
 
hayır malesef.. çabalarınız için teşekkür ederim. aşağıdaki şekilde bir makro yazdım.
Sub EnCokAlinanFirmaADO()
Dim conn As Object
Dim rs As Object
Dim strSQL As String
Dim ws As Worksheet
Dim wsResult As Worksheet
Dim malzemeAdi As String
Dim adet As Double
Dim ilgiliFirma As String
Dim sheetName As String

' Bağlantı oluştur
Set conn = CreateObject("ADODB.Connection")
conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=Excel 12.0;"
conn.Open

' Tüm sayfalar için döngü
For Each ws In ThisWorkbook.Sheets
If Left(ws.Name, 1) <> "_" Then ' '_' ile başlayan sayfaları atla (sonuç sayfalarını)
' SQL sorgusunu oluştur
strSQL = "SELECT [Malzeme / Hizmet Adı], MAX([Adet]) AS MaxAdet, MAX([İlgili]) AS IlgiliFirma " & _
"FROM [" & ws.Name & "$] " & _
"GROUP BY [Malzeme / Hizmet Adı]"

' Sorguyu çalıştır
Set rs = CreateObject("ADODB.Recordset")
rs.Open strSQL, conn, 1, 3

' Sonuçları yazdır
Set wsResult = Sheets.Add(After:=Sheets(Sheets.Count))
wsResult.Name = "EnCokAlinanFirmaADO_" & ws.Name

Do While Not rs.EOF
malzemeAdi = rs.Fields("Malzeme / Hizmet Adı").Value
adet = rs.Fields("MaxAdet").Value
ilgiliFirma = rs.Fields("IlgiliFirma").Value

' Sonuçları yazdır
wsResult.Cells(wsResult.Rows.Count, 1).End(xlUp).Offset(1, 0).Value = malzemeAdi
wsResult.Cells(wsResult.Rows.Count, 2).End(xlUp).Offset(1, 0).Value = adet
wsResult.Cells(wsResult.Rows.Count, 3).End(xlUp).Offset(1, 0).Value = ilgiliFirma

rs.MoveNext
Loop

' Kayıtları kapat
rs.Close
End If
Next ws

' Bağlantıyı kapat
conn.Close
Set conn = Nothing
End Sub

bu şekilde sayfalarda ay ay olarak bölünen verilerden rapor oluşturabiliyorum
 
Sağlık olsun.... Umarım elde ettiğiniz sonuçlar doğrudur.

.
 
Üstte ki mesajıma harici link ekledim..
 
Görebildiğim kadarıyla Korhan Beyin alternatifi ile benim 10.mesajdaki dosyadaki sonuçlar (Ocak ayı için) birbiriyle örtüşüyor.

Siz daha iyi bilirsiniz tabii....

.
 
Geri
Üst