Excel vzorec: počet spustení v tabuľke -

Zhrnutie

Ak chcete vytvoriť priebežný počet v tabuľke programu Excel, môžete na zväčšenie rozsahu použiť funkciu INDEX so štruktúrovaným odkazom. V zobrazenom príklade je vzorec v F5:

=(@Color)&" - "&SUM(--(INDEX((Color),1):(@Color)=(@Color)))

Pri kopírovaní nadol do stĺpca tento vzorec vráti priebežný počet jednotlivých farieb v stĺpci Farba.

V niektorých verziách Excelu ide o maticový vzorec a musí sa zadávať pomocou klávesov Control + Shift + Enter.

Vysvetlenie

Tento vzorec v jadre používa INDEX na vytvorenie rozširujúceho odkazu, ako je tento:

INDEX((Color),1):(@Color) // expanding range

Na ľavej strane dvojbodky (:) vráti funkcia INDEX odkaz na prvú bunku v stĺpci stĺpca.

INDEX((Color),1) // first cell in color

Funguje to preto, lebo funkcia INDEX vráti odkaz na prvú bunku, nie skutočnú hodnotu. Na pravej strane dvojbodky dostaneme odkaz na aktuálny riadok farebného stĺpca takto:

(@Color) // current row of Color

Toto je štandardná štruktúrovaná referenčná syntax pre „tento riadok“. Tieto dva odkazy v spojení s dvojbodkou vytvárajú rozsah, ktorý sa rozširuje pri kopírovaní vzorca do tabuľky. Takže tieto referencie zameníme za funkciu SUM, máme:

SUM(--(B5:B5=(@Color))) // first row SUM(--(B5:B11=(@Color))) // last row

Každý z vyššie uvedených výrazov generuje pole hodnôt TRUE / FALSE a dvojitý zápor (-) sa používa na prevod týchto hodnôt na 1 s a 0 s. Takže v poslednom rade skončíme s:

SUM((0;0;0;1;0;0;0;0;1;0;1)) // returns 3

Zvyšok vzorca jednoducho zreťazí farbu z aktuálneho riadku na počet vrátený súčtom:

=(@Color)&" - "&3 ="Gold"&" - "&3 ="Gold - 3"

Jednoduché rozšírenie rozsahu?

Prečo nepoužívať jednoduchý rozširujúci sa rozsah ako je tento?

SUM(--($B$5:B5=(@Color)))

Z nejakého dôvodu sa tento druh zmiešanej referencie poškodí v tabuľke Excel, keď sa pridajú riadky. Problém vyrieši použitie INDEXU so štruktúrovaným odkazom.

Zaujímavé články...