Kıymetli Hocam,
Sizi tekrar görmek ne kadar güzel... İyi olmanızı temenni ederim.
Sonuç tamamdır. Emeğinize, yüreğinize sağlık... Var olun.
Çok teşekkür ediyorum...
Hocam mantığını öğrenmek istiyorum. Son olarak şu sorularıma bir bakabilir misiniz?
Ben aşağıdaki gibi bir DİZİ FORMÜL yapmaya uğraştım. Formül çalıştı ancak hatalı sonuç verdi.
Nerede hata yapıyor olabilirim?
Bunu açıklamak için formülünüzü parçalar halinde resim üzerinde göstermeye çalışayım.
Eminim ki, hatayı hemen fark edeceksiniz.
1 - Koşul, Bir kolon Ürün ve Bir kolon Kapasite olacak daima. Ki gerek benim formül ve gerekse sizin formül de bu mantıkta oluşturulmuş.
2 - Çarpılan ve Çarpan (Ürün ve Kapasite) olarak bakıldığında, D3 : AE3 alanını, üründen en son ürüne ve Kapasiteden en son Kapasiteye olarak ele almak gerekir ki, sizin formülde de bu yapılmış.
Yani Çarpılan ile Çarpanlar alt alta gelecek şekilde alan seçilmeli. Bu durumda Ürün için D3 : AD3 ve Kapasite için E3 : AE3 olmalı. Bu gerek sizin formülde ve gerekse benim formülde ele alınmış.
3 - Bir kez daha yazayım. Çarpılan ile Çarpanlar alt alta gelecek şekilde olmalı, ki çarpımlar alınabilsin.....
Hata burada.... Eşleşmelere bakın resimde...
Bu olayın düzenlenmesi için sütun numaralarını denk getirmeye uğraşmak gerekir. Ben o nedenle her iki aralığın,
yani D3 : AD3 ve E3 :AE3 aralıklarının sütunlarının her ikisini de 1 den başlatıyorum.
Dolayısıyla SÜTUN(D3:AD3)-SÜTUN(D3)+1 ya da SÜTUN(E3:AE3)-SÜTUN(E3)+1 dediğinizde her iki aralık da sütun olarak 1 den başlamakta....
MOD işlemi yaptığımızda da her iki aralığa da aynı MOD uygulanacaktır. Sütunlar 1 den başladığı için,
MOD(SÜTUN(D3:AD3)-SÜTUN(D3)+1 ; 2) =
1
MOD(SÜTUN(E3:AE3)-SÜTUN(E3)+1 ; 2) =
1 olmalıdır.
ben formülde, D3:AD3/MOD(SÜTUN($D$2:$AD$2)-SÜTUN($D$2)+1;2) , Bölme işlemi kullandım. Çünkü fazladan bir EĞER işlevi kullanmadım. Gerekli olan MOD(...; 2) = 1 olduğundan, MOD sonucu 1 olanlara değer atayacak, MOD sonucu 0 olanlara ise SAYI/0! hatası verecektir. EĞERHATA ile de, bu hatalara 0 değeri verdirildi
( ; den sonra bir şey yazmamak 0 anlamındadır)
İşte ben böyle düzenliyorum genelde.... Aksi takdirde, uğraşmak gerekecek, ayrıca ilk kolon olan D kolonundan önceye kolon ekleme / çıkarma gibi olaylar olunca da formülde tekrardan bir düzenlemeye gidilmesi gerekecek...
Sizin TOPLA.ÇARPIM ile formüle başlamanızın çalışma mantığı ne olabilir?
Her iki formül hesaplama adımları farklı mıdır?
Bu formülü TOPLA.ÇARPIM yerine TOPLA kullanarak da yazabilirsiniz. Yani
Aradaki farklar / benzerlikler
1 - TOPLA kullandığınızda DİZİ Formül, TOPLA.ÇARPIM kullandığınızda ise Normal formül.
DİZİ formül olduğunda, formül hücreye, CTRL+SHIFT+ENTER ile girilmeli. Normal formülde ise, sadece ENTER yeterli.
Forumda çok karşılaşılan bir olaydır. DİZİ Formüldür yazılır. Çoğu zaman, Soru sahibinden ilk gelen cevap, formül çalışmıyor şeklindedir. Normal karşılamak gerekir çünkü, çoğu üye, DİZİ Formül olayına aşina değildir. Ve bu nedenle de, CTRL + SHIFT + ENTER olayını da bilmemektedir. TOPLA yerine TOPLA.ÇARPIM kullanmanın sebebi de sadece budur.
2 - TOPLA.ÇARPIM işlevi de tıpkı TOPLA işlevinde olduğu gibi, DİZİ formül mantığında çalışır. Yani çalışmaları açısından bir fark yoktur.
Bu olayı Formüller >>> Formülü Değerlendir yaparak gözlemleyebilirsiniz....
Umarım açıklayabilmişimdir...
Saygılar benden...