Maliyet Hesaplama

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,715
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba,

Yemeklere ait maliyetlerin toplamını, diğer sayfaya almak istiyorum,

Teşekkür ederim.
 

Ekli dosyalar

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.

Aşağıdaki formülü YEMEK_MÖNÜ sayfası AL9 hücresine uygulayın ve aşağı doğru kopyalayın (yardımcı sütun/alan kullanılmasına lüzum yok).
.
Kod:
=[COLOR="red"]TOPLA[/COLOR]([COLOR="red"]DOLAYLI[/COLOR]("LİSTE!H"&[COLOR="red"]KAÇINCI[/COLOR]($AE9;LİSTE!$B:$B;0)&":H"&[COLOR="red"]EĞER[/COLOR]([COLOR="red"]EHATALIYSA[/COLOR]([COLOR="red"]KAÇINCI[/COLOR]([COLOR="red"]KAYDIR[/COLOR](LİSTE!$A$1;[COLOR="red"]KAÇINCI[/COLOR]($AE9;LİSTE!$B:$B;0)-1;0)+1;LİSTE!$A:$A;0)-1);[COLOR="red"]KAÇINCI[/COLOR]("ZZZ";LİSTE!$B:$B;1);[COLOR="red"]KAÇINCI[/COLOR]([COLOR="red"]KAYDIR[/COLOR](LİSTE!$A$1;[COLOR="Red"]KAÇINCI[/COLOR]($AE9;LİSTE!$B:$B;0)-1;0)+1;LİSTE!$A:$A;0)-1)))
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,715
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sayın Ömer BARAN merhaba,

Gösterdiğiniz ilgi ve çözüm için teşekkür ederim, formül fazlasıyla işimi görüyor.

Benim için çok gerekli ve acil olmasa da, makrolu çözümünü de öğrenmek isterim, müsait olduğunuz bir ara öğretirseniz memnun olurum.

Saygılarımla.
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,715
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sistemden kaynaklı mükerrer cevap olmuş, bu nedenle mesaj silindi.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Bilgisayar başında değilim.
Ancak ilk aklıma gelen; mönüde, listedeki son yemek olursa,
verdiğim formül sonuç vermez. Çünkü yemek adının solundaki sıra numarasını kullanarak çalışıyor.
Önce başlangıç satırı sulunuyor > burada sorin olmaz
Sonra bir sonraki zayının satırı bulunuyor > sorun burada çıkar çünkü son yemekten sonra bir sonraki sayı yok.
O nedenle formülün bu durumu da kavrayabilecek şekilde güncellenmesi gerekecek.
Bilgisayar başına geçtiğimde düzenleme yaparak cevap yazarım.
Makro konusuna da bakarım sorun değil.
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,715
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sayın Ömer BARAN tekrar merhaba,

Nezaketiniz ve bilgilendirme için teşekkür ederim.

Saygılarımla.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Önceki formül cevabımı güncelledim.
Makroya daha sonra bakarım.
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,715
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sayın Ömer BARAN merhaba,

Düzenlenen formülü dosyama uyguladım,

Formül sorunsuz çalışmaktadır, teşekkür ederim.

Saygılarımla.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Tekrar merhaba.

Aşağıdaki makro da aynı işlemi yapacaktır.
.
Kod:
[B]Sub MALIYETBUL()[/B]
Set y = Sheets("YEMEK_MÖNÜ"): Set l = Sheets("LİSTE")
lson = l.Cells(Rows.Count, "C").End(3).Row
For sat = 9 To 15
    If WorksheetFunction.CountIf(l.[B:B], y.Cells(sat, "AE")) > 0 Then
        If y.Cells(sat, "AE") <> "" Then
            ilk = WorksheetFunction.Match(y.Cells(sat, "AE"), l.[B:B], 0)
            If WorksheetFunction.CountIf(l.[A:A], l.Cells(ilk, "A") + 1) = 0 Then
                son = lson
            Else: son = WorksheetFunction.Match(l.Cells(ilk, "A") + 1, l.[A:A], 0) - 1
            End If
                For lsat = ilk To son
                    mlyt = mlyt + l.Cells(lsat, "H"): Next
                y.Cells(sat, "AL") = mlyt: mlyt = 0
            Else: y.Cells(sat, "AL") = ""
        End If
    Else: y.Cells(sat, "AL") = 0
    End If
Next
[B]End Sub[/B]
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Tekrar merhaba. (Özel Mesajlaşmayı devre dışı bıraktığınız için konu sayfasına yazıyorum)

Makro ile çözüm konusunda geri bildirimde bulunmadığınıza göre, cevabı fark etmemiş olmalısınız.
Olumlu/olumsuz sonuç bildirirseniz sevinirim.
.
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,715
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sayın Ömer BARAN merhaba,

Evet fark etmemişim, özür dilerim,

Kod gayet güzel çalışıyor, emek ve duyarlığınız için de çok teşekkür ederim.

Saygılarımla.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Kolay gelsin.
 
Üst