Excel képlet: Határozza meg a tartományt a cella értéke alapján

Általános képlet

=SUM(firstcell:INDEX(data,rows,cols))

Összegzés

Ha egy másik cellában lévő érték alapján meghatároz egy tartományt, használhatja az INDEX függvényt. A bemutatott példában a J7 képlete a következő:

=SUM(C5:INDEX(data,J5,J6))

ahol az "adatok" a B5: G9 megnevezett tartomány.

Magyarázat

Ez a képlet az INDEX meghatározott viselkedésére támaszkodik - bár úgy tűnik, hogy az INDEX egy adott helyen adja vissza az értéket, valójában visszaadja a hely hivatkozását. A legtöbb képletben nem veszi észre a különbséget - az Excel egyszerűen kiértékeli a referenciát és visszaadja az értéket. Ez a képlet ezt a funkciót használja a dinamikus tartomány felépítésére a munkalap bevitele alapján.

Az összeg függvény belsejében az első referencia egyszerűen az első cella a tartományban, amely lefedi az összes lehetséges cellát:

=SUM(C5:

Az utolsó cellához az INDEX-et használjuk. Itt megadjuk az INDEX-nek a megnevezett "data" tartományt, amely a lehető legnagyobb értéktartomány, valamint a J5 (sorok) és a J6 (oszlopok) értékeit. Az INDEX nem ad vissza tartományt, csak egyetlen cellát ad vissza az adott helyen, az E9 a példában:

INDEX(data,J5,J6) // returns E9

Az eredeti képlet a következőre csökken:

=SUM(C5:E9)

amely 300-at ad vissza, a C5: E9 összes értékének összegét.

A J8 képlete majdnem ugyanaz, de az átlag kiszámításához a SUM helyett az ÁTLAG értéket használja. Amikor a felhasználó megváltoztatja az értékeket a J5 vagy J6 értékekben, a tartomány frissül, és új eredmények jelennek meg.

Alternatív megoldás az OFFSET-re

Hasonló képleteket készíthet az alább látható OFFSET függvénnyel:

=SUM(OFFSET(C5,0,0,J5,J6)) // sum =AVERAGE(OFFSET(C5,0,0,J5,J6)) // average

Az OFFSET-et egy tartomány visszaadására tervezték, így a képleteket talán egyszerűbb megérteni. Az OFFSET azonban volatilis funkció, és teljesítményproblémákat okozhat, ha nagyobb, összetettebb munkalapokon használják.

érdekes cikkek...