Formuła programu Excel: liczenie w tabeli -

Podsumowanie

Aby utworzyć licznik bieżący w tabeli programu Excel, możesz użyć funkcji INDEKS z odwołaniem strukturalnym, aby utworzyć rozszerzający się zakres. W pokazanym przykładzie formuła w F5 to:

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

Po skopiowaniu kolumny w dół ta formuła zwróci bieżącą liczbę dla każdego koloru w kolumnie Kolor.

W niektórych wersjach programu Excel jest to formuła tablicowa i należy ją wprowadzić za pomocą klawiszy Ctrl + Shift + Enter.

Wyjaśnienie

Zasadniczo ta formuła używa INDEKSU do tworzenia rozszerzającego się odniesienia w następujący sposób:

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

Po lewej stronie dwukropka (:) funkcja INDEKS zwraca odwołanie do pierwszej komórki w kolumnie kolumny.

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

Działa to, ponieważ funkcja INDEKS zwraca odwołanie do pierwszej komórki, a nie rzeczywistą wartość. Po prawej stronie dwukropka otrzymujemy odniesienie do bieżącego wiersza kolumny kolorów w następujący sposób:

(@Color) // current row of Color

To jest standardowa składnia odwołania strukturalnego dla „tego wiersza”. Połączone dwukropkiem te dwa odwołania tworzą zakres, który rozszerza się w miarę kopiowania formuły w dół tabeli. Więc zamieniamy te odwołania na funkcję SUMA, mamy:

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

Każde z powyższych wyrażeń generuje tablicę wartości PRAWDA / FAŁSZ, a podwójny ujemny (-) jest używany do konwersji tych wartości na 1 i 0. Tak więc w ostatnim rzędzie otrzymujemy:

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

Reszta formuły po prostu łączy kolor z bieżącego wiersza z liczbą zwracaną przez SUMA:

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

Prosty rozszerzany zakres?

Dlaczego nie skorzystać z tak prostego, rozszerzającego się zakresu?

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

Z jakiegoś powodu tego rodzaju mieszane odwołania ulegają uszkodzeniu w tabeli programu Excel po dodaniu wierszy. Użycie INDEKSU z odwołaniem strukturalnym rozwiązuje problem.

Interesujące artykuły...