• DİKKAT

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

Şartlı toplam ile Satır numarası almak

Katılım
3 Kasım 2015
Mesajlar
10
Excel Vers. ve Dili
2007
deneme.jpg


Arkadaşlar mrb..

a2 hücresinden a 17 hücresine kadar olan alanda ücretler var.a18 hücresinde de toplamı. c2 hücresine elle bir ücret girip bu girdiğim ücret toplamına a2 ile a17 arasındaki hücrelerden ulaşarak hangi satırları kullandığını E2 hücresine yazdırmasını istiyorum. Örnek ekteki resimde mevcut.

Şimdiden Allah sizden razı olsun
 
Merhaba
Örneği inceleyin, (3 den fazla hücrede tam sonuç olsada en yakın toplamı verir.)
http://s3.dosya.tc/server6/tmo6ie/hesap.zip.html
Kod:
Sub hesapla()
For z = 2 To Cells(Rows.Count, "c").End(3).Row
If Cells(z, "c") <> "" And IsNumeric(Cells(z, "c")) = True Then
Cells(z, "e") = ""
Set r = [a2:a17].Find(Cells(z, "c"), lookat:=xlWhole)
If Not r Is Nothing Then
e = r.Address
Cells(z, "e") = Replace(e, "$", "")
Else
For a = 2 To 16
For b = a + 1 To 17
s = Application.Sum(Range("a" & a & "," & "a" & b))
If x <= s And s <= Cells(z, "c") Then
e = Range("a" & a & "," & "a" & b).Address
Cells(z, "e") = Replace(e, "$", "")
x = s
If s = Cells(z, "c") Then Cells(z, "D") = "": GoTo ç
If s < Cells(z, "c") Then Cells(z, "D") = "YAKIN"
End If
Next: Next
For a = 2 To 15
For b = a + 1 To 16
For c = b + 1 To 17
s = Application.Sum(Range("a" & a & "," & "a" & b & "," & "a" & c))
If x <= s And s <= Cells(z, "c") Then
e = Range("a" & a & "," & "a" & b & "," & "a" & c).Address
Cells(z, "e") = Replace(e, "$", "")
x = s
If s = Cells(z, "c") Then Cells(z, "D") = "": GoTo ç
If s < Cells(z, "c") Then Cells(z, "D") = "YAKIN"
End If
Next: Next: Next
ç:
End If: End If:
Set r = Nothing: e = Empty: s = 0: x = 0
Next
End Sub
 
Çok çok teşekkür ederim. Son bir sorum daha olacak; bunu 3 hücre olarak sınırlamasak nasıl bir değişiklik gerekir acaba? Yaklaşık toplama ulaşmak için 9 hücre toplaması gerekiyorsa gibi..
 
Çok çok teşekkür ederim. Son bir sorum daha olacak; bunu 3 hücre olarak sınırlamasak nasıl bir değişiklik gerekir acaba? Yaklaşık toplama ulaşmak için 9 hücre toplaması gerekiyorsa gibi..

Yukarıdaki kodlardaki döngüleri çoğaltarak en yakın kombinasyon aranabilir.
Eklediğiniz resimde olduğu gibi asıl dosyanızda da satır sayısı az ise ek dosyayı (9 hücreye kadar) inceleyin; satır sayısı çok artacaksa başka çözüm bulmak gerekir.
http://s6.dosya.tc/server4/hs8vvb/hesap2.zip.html
 
A sütununda bulunan satır sayısı çok fazla (ort 3000-4000 satır gibi). Ayrıca döndrülen hücre sayısını 3 ile kısıtlamak istemiyorum? Teşekkürler
 
Geri
Üst