• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Çözüldü Yemek Maliyeti Hesaplama

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

activation

Yeni Üye
Katılım
6 Tem 2023
Mesajlar
47
Aldığı beğeni
8
Excel V
Office 2019 TR
Konu Sahibi
Merhaba,

Bir firma için yemek maliyeti hesaplama tablosu yapmaya çalışıyorum. Ancak burada bir konularda çıkmazda kaldım.

Hammadde fiyatları tablosunda, Yemeklerin isimlerini INDIS kodlaması yaparak, ayrı bir kolonda tekil isim hale çevirdim. Ancak sanırım kodun bir kısmında bir hata yaptım.

Yemek isimlerini yazmaya başladığı ilk satırdan sonra, 2. satırda 0 yazıyor ve buradaki sıfır yazan satırı bir türlü düzeltemiyorum.

Bu konuda bana yardımcı olabilir misiniz.
 
Konu Sahibi
Formül sonuç Y sütunundaysa alattakini veridoğrulamaya yapıştırın.

HTML:
C#:
İçeriği görebilmek için Giriş yap ya da Üye ol.
Çok teşekkür ederim.

Bu kodu uyguladığım zaman, boşluklar görünmez hale geldi.

Destek veren tüm arkadaşlar çok teşekkür ederim.
 
Alttaki gibi sınırlarsanız daha hızlı olur galiba.

=KAYDIR($Y$2;;;ARA(2;1/($Y$2:$Y$100<>"");SATIR($A$1:$A$100)))
Refaz Hocamın verdiği formül doğru.

Kısaltmak açısından belki alternatif olabilir
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
yerine direkt olarak
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
formülü kullanılabilir.

Bu durumda Veri Doğrulama için formül
HTML:
CSS:
İçeriği görebilmek için Giriş yap ya da Üye ol.
Bir de,
Eğer ki 12 nolu mesajdaki formül kullanılacaksa, yani A kolonundaki veriler zaten benzersizdir deniliyorsa
BAĞ_DEĞ_DOLU_SAY işlevi direkt olarak A kolonuna uygulanabilir.
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
KAÇINCI(2;1/($Y$2:$Y$100<>""))
Bunuda arşivime aldım hocam :)
Formülden fazla anlamıyorum ama zamanında ara ile olan formülleri arşivlemiştim ve A:A gibi olunca yavaş çalışıyordu hızlısını aramıştım bulamamıştım :(
Kaçıncı ile olan çok hızlı geldi bana elinize sağlık.

Kaçıncı ilede A:A olarak kullanınca hızlı çalışıyor.
 
Refaz Hocam
Çok teşekkür ediyorum...

Satır olarak, az sayıda veri varsa evet, A:A şeklinde bir kullanım hızlı sonuç verebilir. Ama, bu formül de tıpkı TOPLA.ÇARPIM, ARA işlevleri gibi dizi mantığında çalışır. Yani çok satırlı verilerde yavaşlama olacaktır. (Çok satır dediğimde 5000 ve daha fazlasını kastediyorum.).

O nedenle, alanı dinamik alan olarak tanımlamak ve formüllerde onu kullanmak en doğrusudur.

Örnek olarak,
Soruda, Y kolonunda Y2 hücresinden itibaren, formül, Y2000 hücresine kadar kopyalama yapıldı ve BOŞ olanlar için "" konulduğunu varsayalım. Dolu olanlar ise 125 satır olsun. Veriler yemek adları olduğu için de metin...
=KAÇINCI("zzzz";Y:Y)
yazdığımızda bu bize "" (BOŞ) bile olsa, Y2000 e kadar veri varsa, 2000 değerini döndürür. Bu formül komple Y sütununda performanslı bir şekilde çalışabilir. Sayılar için ise bu formül KAÇINCI(9^99;Y:Y) şeklindedir. Hem sayı ve hem de metin varsa bu iki formülün MAK değeri alınır.
Dinamik alanımızda
Y2:İNDİS(Y:Y;KAÇINCI("zzzz";Y:Y))
ile tanımlanabilir. Bu alan bize Y2 : Y2000 alanını verecektir.
Şimdi
HTML:
JavaScript:
İçeriği görebilmek için Giriş yap ya da Üye ol.
yazarsak hem hızlı sonuç (sonuç : 125) alabiliriz ve hem de formülü daha dar bir aralıkta kullanıp performans elde edebiliriz.

Saygılarımla...
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst