TOPLA ÇARPIM Kriterlerini Devre Dışı Bırakma

TOPLA ÇARPIM Kriterlerini Devre Dışı Bırakma

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

fledermaus

VIP Üye
Kullanıcı
Katılım
25 Mar 2022
Mesajlar
785
Excel Versiyonu
Excel 365
Excel Sürümü
64 Bit
Excel Dili
İngilizce
Herkese Merhabalar,

Ekte paylaşmış olduğum tablomda bazı tablo başlıklarına ve kriterlere göre verilerin toplamını almaktayım.

Bu kriter hücrelerinden biri olan "C4" hücresine bağımlı yani AÇIK yada KAPALI durumuna göre toplam alınmaktadır.

Ancak bazı durumlarda açık yada kapalı olması durumunun haricinde bu iki kriterden bağımsız olarak (diğer kriterlere bağımlı) genel toplamda alınması gerekiyor.

Buna göre formülü nasıl düzenlemem gerekir.

Yardımcı olabilirseniz çok sevinirim.

Herkese iyi çalışmalar dilerim.

Saygılarımla,
 

Ekli dosyalar

Çözüm
Bir önceki cevabıma ilişkin düzeltme.

1) C4 veri doğrulama kısmına =P7# şeklinde formül yazın.

2) P8 yerine P7 hücresine uygulanacak formül:
Kod:
İndirmek için giriş yapmanız gerekmektedir.
(1 satır)

En iyisi belge ekleyeyim.
Kriter tarihleri değiştirerek/silerek, diğer alanlarda seçimleri değiştirerek sonuçları kontrol edin.
@ExcelDepo merhaba,

Evet hocam söylemiş olduğunuz gibi "C2" hücresindeki kriter devre dışı kalsın.

Yani sadece geriye kalan kriterlere yönelik çalışsın.

Saygılarımla,
 
@ExcelDepo hocam tekrar merhaba,

Öncelikle çok teşekkür ederim.

Formül içerisinde kullanılan aşağıdaki metinlerin tam olarak görevi ve mantığı nedir ? Çok bilmediğim bir formül olduğundan, formülün mantığını anlamak için soruyorum.

kriter1
kriter2
bl

Birde eğer mümkün ise dosyadan ismimi silebilir misiniz ? :) Anlayışınız için teşekkür ederim.

Saygılarımla,
 
İsminizi sildim.
Formüle ait detayları biraz uzunca olacak ama yazalım:

LET Fonksiyonu

LET fonksiyonu, formülde tekrarlanan hesaplamaları daha verimli hale getirmek için değişkenler oluşturmaktadır. Burada dört değişken tanımlanmıştır:
  1. bl: "HEPSİ" metni olup olmadığını kontrol eden bir değişken.
  2. kriter1: İlk kriter (tarih, isim ve durum eşleşmesi) için hesaplanan bir mantıksal ifade.
  3. kriter2: İkinci kriter (tarih ve isim eşleşmesi) için hesaplanan bir mantıksal ifade.
  4. sonuc: bl değişkenine bağlı olarak, hangi kriterin kullanılacağını belirleyen bir mantıksal ifade.
bu dört farklı isim, istenen şekilde yazılabilir. Yani siz isterseniz başka tanımlamalar yapabilirsiniz.

bl Değişkeni​

Bu ifade, C4 hücresinde "HEPSİ" yazıp yazmadığını kontrol etmektedir. Eğer "HEPSİ" yazıyorsa, bl değeri DOĞRU olur, aksi takdirde YANLIŞ sonucunu döndürecektir. Bu değerler aslında Excel'in de birer fonksiyonu olup, mantıksal işlemlere sonuç sağlamayı kolaylaştırmaktadır.

kriter1 Değişkeni​

Bu ifade, aşağıdaki şartları kontrol etmektedir:
  • _TABLO_A[TARİH] sütunundaki değerlerin, B2 hücresindeki tarihten büyük veya eşit ve C2 hücresindeki tarihten küçük veya eşit olmasını.
  • _TABLO_A[İSİM] sütunundaki değerlerin, C6 hücresindeki isimle eşleşmesini.
  • _TABLO_A[DURUM] sütunundaki değerlerin, C4 hücresindeki duruma eşit olmasını.
Eğer tüm bu şartlar doğruysa, kriter1 DOĞRU, aksi takdirde YANLIŞ olacaktır.

kriter2 Değişkeni​

Bu ifade, aşağıdaki şartları kontrol etmektedir:
  • _TABLO_A[TARİH] sütunundaki değerlerin, B2 hücresindeki tarihten büyük veya eşit ve C2 hücresindeki tarihten küçük veya eşit olmasını.
  • _TABLO_A[İSİM] sütunundaki değerlerin, C6 hücresindeki isimle eşleşmesini.
Eğer tüm bu şartlar doğruysa, kriter2 DOĞRU, aksi takdirde YANLIŞ olacaktır.

sonuc Değişkeni​

Burada, sonuc değişkeni, bl değişkeninin değerine bağlı olarak ya kriter2 ya da kriter1'i alır. Yani:
  • Eğer bl (C4 hücresindeki değer "HEPSİ" ise) DOĞRU ise, sonuc kriter2'yi kullanmaktadır.
  • Eğer bl YANLIŞ ise, sonuc kriter1'i kullanmaktadır.

TOPLA(FİLTRE(_TABLO_A[YAZILAN]; sonuc))

Bu kısımda:
  • FILTRE(_TABLO_A[YAZILAN]; sonuc) ifadesi, _TABLO_A[YAZILAN] sütunundaki değerleri sonuc (yani, kriter1 veya kriter2) kriterine göre filtrelemektedir.
  • Son olarak, TOPLA fonksiyonu, bu filtrelenen değerlerin toplamını hesaplamaktadır.
Umarım yazdıklarım anlamanıza yarar.

Sorun çözüldü ise, konuyu kapatmanızı rica ederim.

İyi çalışmalar
 
@ExcelDepo hıcam merhaba,

Öncelikle konuyu tekrar açtığınız için çok teşekkür ederim. Bu tabloya 3 cü ve dördüncü kriterleri eklemek ve buna göre hesaplama yaptırmak istersem hangi bölümlerde değişikliğe gitmem yada nasıl bir yol izlemem gerekir?

Yardımlarınız için şimdiden çok teşekkür ederim.

Saygılarımla,
 
PC'de değilim. Dediğim gibi birden fazla kriter eklemek için araya * ile kullanmanız yeterli olur.
Ancak bakın yineliyorum, ısrarlarınızdan vazgeçin ve garajınızda boşta duran ferrarinin kontağını çalıştırın artık.
Deve ile yollar aşılmaz...
;)
 
@ExcelDepo hocam merhaba,

Bu dosyada ferrariyi kullanmıştık hocam bu dosyada sıkıntı yok. :))) Alt kriterleride sizin söylemiş oldğunuz gibi "(veri aralığı =kriter)" şeklinde istediğim şekilde ekleyip düzenleyebiliyorum. Ancak bl değişkenine alt bir kırılımı ekledim. O yüzden işin içinden çıkamıyorum. Toplam alınması gereken başlıklar ve kriterlerde sıkıntı yok. Ama bu toplamların hangi ana kriterler istinaden alınması biraz komplike oluyor ve çözemedim açıkçası.

Mesela eklemiş olduğum tabloda almam gereken sonuçlara istinaden kriterler aşağıdaki gibidir. Ama hepsini alamıyorum.

Tüm firmalar,
Firma,
Firma + Kayıt No,
Kayıt No


Yardımcı olabilirseniz çok sevinirim.

Saygılarımla,
 

Ekli dosyalar

Hocam veri tablosunda (_TABLO_A) geçen Firma (C sütunu) ve Kayıt No (D sütunu) başlıkları altındaki verilere istinaden "bl"değişkenlerini düzenleyerek C9 hücresinde toplam almak istiyorum. Tarih aralıkları vb gibi diğer kriterleri zaten ekleyip çıkarabiliyorum ancak değişkenler artınca orada takıldım.

Mesela örnek tablomda değişken aşağıdaki gibi yalnızca tüm firmaların yada kayıt no ların sonuçlarını veriyor. Ama ben filtreleri değiştirdiğimde sadece seçilen

1- firmanın, 2-Firma + Kayıt No'nun, 3- Sadece Kayıt no nunda sonucunu vermesini istiyorum.

Yani bir anlamda EĞER leri (IF) leri artırmak istiyorum.


LET(bl;IF(C4="TÜM FİRMALAR";TRUE;FALSE);kriter1;(_TABLO_A[TARİH]>=$B$2)*(_TABLO_A[TARİH]<=$C$2)*(_TABLO_A[FİRMA]=C4)*(_TABLO_A[KAYIT NO]=$C$5)*(_TABLO_A[İSİM]=$C$8);kriter2;(_TABLO_A[TARİH]>=$B$2)*(_TABLO_A[TARİH]<=$C$2)*(_TABLO_A[İSİM]=$C$8);sonuc;IF(bl;kriter2;kriter1);SUM(FILTER(_TABLO_A[YAZILAN];sonuc)))


Saygılarımla,
 
TÜM FİRMALAR seçiliyse, sonuç DOĞRU değerini döndürüyor.
İkinci aşamada ise kriter1 ve kriter2 tanımlamaları var.
bl DOĞRU ise, kriter2 değilse kriter1 devreye giriyor.
Siz buna göre düzenlemelisiniz.
Benim sanırım anlama eşiğim biraz düşük (genelde öyle).
İlk dosya üzerinden zaman geçtiği için anımsayamıyorum inanın :(
 
@ExcelDepo haklısınız hocam.

Burda sıkıntı olan değişkenlerin çoğalması. Yani diğer yeni eklenen değişkenleri eklemeyi gerçekten tutturamadım :(.

"BL" değişkeninde nasıl ekleyeceğimi bulamıyorum ne yapsam hesaplar tutmuyor.

Saygılarımla,
 
@fledermaus

365 işlevlerine hakimiyetim pek yok ancak yine de fikrimi belirteyim.

İsteğinizi tam karşılamıyor olabilir tabi ama en azından diğer arkadaşlara veya size fikir verebilir.

Kod:
İndirmek için giriş yapmanız gerekmektedir.
(3 satır)
 
@fledermaus

Sanırım aşağıdaki şekilde olunca doğru sonuçlar alınıyor.
Formülü C9 hücresine uygulayın, ardından da C9'u kopyalayıp F9 ve I9'a yapıştırın.
Formülde KAYIT NO ile ilgili bir işlem yok. Sadece TARİH(ler) ve FİRMA kısmına göre sonuç alınıyor.
Formül uygulamalarını yaptıktan sonra firma ismi seçimini değiştirerek ve başlangıç ve bitiş tarihlerini seçerek veya silerek
sonuçların doğruluğunu kontrol edin.

Kod:
İndirmek için giriş yapmanız gerekmektedir.
(1 satır)
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Benzer Konular Popüler İçerikler Daha Fazlası
Geri
Üst Alt