
Genel formül
=SUM(firstcell:INDEX(data,rows,cols))
Özet
Başka bir hücredeki değeri temel alan bir aralık tanımlamak için, INDEX işlevini kullanabilirsiniz. Gösterilen örnekte, J7'deki formül şöyledir:
=SUM(C5:INDEX(data,J5,J6))
burada "veri", B5: G9 olarak adlandırılan aralıktır.
Açıklama
Bu formül, INDEX'in belirli bir davranışına dayanır - INDEX'in belirli bir konumdaki değeri döndürdüğü görünse de, aslında konuma referansı döndürür. Çoğu formülde farkı fark etmezsiniz - Excel yalnızca başvuruyu değerlendirir ve değeri döndürür. Bu formül, çalışma sayfası girdisine dayalı dinamik bir aralık oluşturmak için bu özelliği kullanır.
Toplam işlevinin içinde, ilk başvuru, olası tüm hücreleri kapsayan aralıktaki ilk hücredir:
=SUM(C5:
Son hücreyi elde etmek için INDEX kullanıyoruz. Burada, INDEX'e, mümkün olan maksimum değer aralığı olan "veri" adını veriyoruz ve ayrıca J5 (satırlar) ve J6 (sütunlar) değerlerini veriyoruz. INDEX bir aralık döndürmez, yalnızca o konumda tek bir hücre döndürür, örnekte E9:
INDEX(data,J5,J6) // returns E9
Orijinal formül şunlara indirgenmiştir:
=SUM(C5:E9)
C5: E9'daki tüm değerlerin toplamı olan 300 döndürür.
J8'deki formül hemen hemen aynıdır, ancak ortalamayı hesaplamak için TOPLA yerine ORTALAMA kullanır. Bir kullanıcı J5 veya J6'da değerleri değiştirdiğinde, aralık güncellenir ve yeni sonuçlar döndürülür.
OFFSET ile alternatif
Aşağıda gösterilen OFFSET işleviyle benzer bir formül oluşturabilirsiniz:
=SUM(OFFSET(C5,0,0,J5,J6)) // sum =AVERAGE(OFFSET(C5,0,0,J5,J6)) // average
OFFSET, bir aralığı döndürmek için tasarlanmıştır, bu nedenle formüllerin anlaşılması belki de daha kolaydır. Ancak OFFSET geçici bir işlevdir ve daha büyük, daha karmaşık çalışma sayfalarında kullanıldığında performans sorunlarına neden olabilir.