sonuca ulaştım ama öğrenmek için soruyorum eğer müsaitseniz, beni aydınlatırsanız çok sevinirim.
2. mesajda verdiğim linkte konuyla ilgili detaylı bilgiye ulaşabilirsiniz.
Kasaca açıklamaya çalışayım;
=TOPLA.ÇARPIM(($B$14:$B$1000=$R$3)*($Y$14:$Y$1000=R4)*($Z$14:$Z$1000))
B4:B1000 aralığıda R3 deki değeri arar bulduğu satırlara doğru bulamadıklarına yanlış değer vererek bir dizi oluşturur.
{YANLIŞ\DOĞRU\DOĞRU\YANLIŞ\...}
Y14:Y1000 aralığında R4 deki değeri arayarak aynı işlemi yapar.
{DOĞRU\YANLIŞ\YANLIŞ\YANLIŞ\...} oluşan bu dizilerde YANLIŞ lar 0'ı DOĞRULAR 1'i ifade eder.
{0\1\1\0\...}*{1\0\0\0\..} oluşan bu iki dizi birbiriyle çarpıldıktan sonra aşağıdaki gibi bir dizi oluşur..
{0\0\0\0\...} bu dizi ile toplam aralığı olan Z14:Z1000 aralığı çarpılarak sonuca ulaşılır. Dizinin içindeki bütün veriler 0 olduğu için sonuc S4 hücresinde sıfır olacaktır. Dizide 1 olan değer olsaydı Z4:Z1000 aralığında aynı satırlara denk gelenlerle çarpılıp toplama işlemine girecekti. Sıfır değeri olduğunda da Z4:Z1000 aralığı ile çarpılır fakat sıfırla çarpıldığı için sonuç sıfır olur. Formül denetleme çubuğunu kullanarak tüm detayları görebilirsiniz..
Bununla iligli farkı bir örnek verecek olursak;
{0\0\0\0}*{5\6\12\1} = 0 dır.
{0\1\1\0}*{5\6\12\1} = {0\6\12\0} = 18 olur..
formullerde hiç usd, tl, euro ibarelerini kullanmadan nasıl oluyor bu.
Bu ibarayi R4 hücresinde almaktadır. R4 hücresine TL yazdığınız için formül bunu bu şekilde tanıyacaktır. Formülü bir alt hücreye kopyaladığınızda R5 deki USD değerine göre işlem yapacaktır..
.