kaçıncı,indis,satır... bunları nerede,nasıl kullanacağız

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
4,014
Excel Vers. ve Dili
2013 Türkçe
arkadaşlar excelle o kadar uğraşmama rağmen iç içe yazılmış formülleri ne yazabiliyorum ne de yazılmış formülleri anlayabiliyorum.Bu formülleri çok iyi anlatan bir kaynak var mı?
Örneğin;{=BAĞ_DEĞ_SAY(1/SIKLIK(EĞER($F$4:$F$24="Uçak";EĞER($B$4:$B$24<>"";KAÇINCI($B$4:$B$24;$B$4:$B$24;0)));SATIR(İNDİS($B$4:$B$24;0;0))-SATIR($B$4)+1))}
formul nerden neyi alıyor.Sondaki +1 olmazsa nolur. Neden dizi formulü ...
Ben bunları nasıl anlayabilirim.
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
görünüm / araç çubukları / formül denetleme
formül olan hücreyi seçin, etkinleştirdiğiniz formül denetleme çubuğundaki "formülü değerlendir" seçin.
gelen pencerede her değerlendirme adımında altı çizili olarak yazılan formülü nasıl hesapladığını, hangi adımları yürüttüğünü görebilirsiniz.
 

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
4,014
Excel Vers. ve Dili
2013 Türkçe
kardeş formulü dediğini yaptım ama benim istediğim bu değil.Dediğin sadece formülü değerlendiriyor.
{=BAĞ_DEĞ_SAY(1/SIKLIK(EĞER($F$4:$F$24="Uçak";EĞER($B$4:$B$24<>""; KAÇINCI($B$4:$B$24;$B$4:$B$24;0)));SATIR(İNDİS($B$ 4:$B$24;0;0))-SATIR($B$4)+1))}
ben bu formulün ne demek istediğini merak ediyorum.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
kardeş formulü dediğini yaptım ama benim istediğim bu değil.Dediğin sadece formülü değerlendiriyor.
{=BAĞ_DEĞ_SAY(1/SIKLIK(EĞER($F$4:$F$24="Uçak";EĞER($B$4:$B$24<>""; KAÇINCI($B$4:$B$24;$B$4:$B$24;0)));SATIR(İNDİS($B$ 4:$B$24;0;0))-SATIR($B$4)+1))}
ben bu formulün ne demek istediğini merak ediyorum.
Merhaba,

Sayın uzmanamele'nin verdiği yöntem sadece formülü değerlendirmez aynı zamanda aşama olarak yapılanı gösterir..

Bende bu formülü Ba ve Bs ile ilgili çalışmamda kullanmak için Sayın Ali Bey ‘ in tavsiyesi ile kullanmıştım.

Bu formülü aşağıdaki linkten alıntı yaptınız sanırım, bu yüzden belli yerlerini anlatırken bu dosyadaki verilerden faydalanarak bilgi vermeye çalıştım.

http://www.excel.web.tr/f47/farkl-degiskenleri-sayma-t61157.html

Öncelikle bu tür içe içe geçen ve de dizi formülü olan fonksiyonları öğrenmek için zor olandan değil de kolaydan zora doğru öğrenmeye başlarsanız daha kolay kavrayabilirsiniz. Çünkü seçmiş olduğunuz formül hakikaten karmaşık bir formüldür.

Önce formülün düzey mantığından başlayalım, formül benzersiz verileri bulmak için yazılmıştır bu verileri bulurken belli bir şarta uyan benzersiz veriler bulmak istenmiştir, bu şartlarda F4:F24 aralığında "uçak" olan ve F4:F24 aralığında boş olmayan verilerin karşılığındaki B4:B24 arasındaki benzersiz olan verileri sayar.

Dizi formülü kullanılmasının nedeni, dizi formülü çok sayıda hesaplamayı yapar ve tek bir sonuç olarak verir.

=BAĞ_DEĞ_SAY(1/SIKLIK(EĞER($F$4:$F$24="Uçak";EĞER($B$4:$B$24<>""; KAÇINCI($B$4:$B$24;$B$4:$B$24;0)));SATIR(İNDİS($B$ 4:$B$24;0;0))-SATIR($B$4)+1))

F4:F24 aralığında "uçak" olan ve F4:F24 aralığında boş olmayan verilerin kaçıncı fonksiyonu ile hangi sırada olduğu bulunur, bu satırlarda 1,5,9,13 ve 17 dir yalnız 17 sıradaki veri 9 sırada olduğu için diziye 1,5,9,13,9 olarak girer diğer dizideki diğer satırlar yanlış olarak değer alır bunlarda sıfırdır. Bu dizi aralığı Sıklık fonksiyonun içine tekrarsız olarak yani 1,5,9,13 olarak girer daha öncede belirttiğim gibi aradaki satırlar yanlış(0) olarak girer ve sıklık fonksiyonun veri dizisi bu şekilde oluşur.

SATIR(İNDİS($B$ 4:$B$24;0;0)) bu fonksiyon B4:B24 arasındaki satırları belirtir yani,

SATIR($B$4:$B$24) {4\5\........\24} arasındaki satırlardır.

SATIR($B$4:$B$24) – SATIR($B$4) olunca {4\5\........\24} – {4} sonuç

{0\1\2\.......\20} dizisine ulaşılır satırlar 0 dan başlayamayacağı için + 1 ile bu sorun aşılmıştır. Son durum ... {1\2\3\.......\21} dizisi şeklinde oluşur. Bu oluşan dizide Sıklık fonksiyonunun aranan dizisi olur.

Bu verilere göre sıklık fonksiyonun dizisi

{1\0\0\0\1\0\0\0\2\0\0\0\1\0…\0} buradaki 2 değeri yukarda bulduğumuz 9 ve 17 satırdaki değeri birleştirip 1,5,9,13 yazdığımız için 9 olan satır 2 aynı değeri ifade ettiği içindir.

Bulunan bu diziyi 1 e bölmemizin ( 1 in dışında herhangi bir sayıyada bölebiliriz ) nedeni bu dizi içindeki sıfır hariç sayıları saymak içindir, eğer bu dizideki verileri bir sayıya bölersek dizideki sıfırlar sayı/0 dan sıfıra bölünme hatası vereceği için kalan değerleri de kolaylıkla BağDeğSay fonksiyonu ile sayabiliriz. BağDeğSay fonksiyonuna belli bir aralıktaki sadece sayı olan değerleri saydığı için son noktada bu fonksiyon kullanılmıştır.

Umarım açıklama faydalı olmuştur. Anlamadığınız bir nokta var ise o kısmı biraz daha açabilirim..


.
 
Üst