Excel formülü: Aralığı hücre değerine göre tanımlayın -

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.

Ilginç makaleler...