/ / Podgrupa Rank w zakresie dynamicznym - Excel, indeksowanie, formuła Excela, dopasowanie, ranga

Podgrupa rankingowa w zakresie dynamicznym - Excel, indeksowanie, formuła Excel, dopasowanie, pozycja

Mam taką tabelę porównywania ROI:

Month | ROI | 1  | 2  | 3  |
Jul   | A   | 1% |
Jul   | B   | 3% |
Jul   | C   | 2% |
Jun   | A   | 4% | 6% |
Jun   | B   | 5% | 7% |
Jun   | C   | 6% | 8% |
May   | A   | 2% | 4% | 7% |
May   | C   | 3% | 5% | 6% |

Chciałbym klasyfikować ROI każdego produktu (A, B i C) każdego miesiąca - dlatego należy klasyfikować najbardziej odpowiedni procent dla danego miesiąca.

Jednak zakres musi być dynamiczny, ponieważ każdy produkt może mieć inną datę uruchomienia. Na przykład miesiąc majowy nie ma produktu B.

Tak więc wyjście będzie:

   Month  | ROI | 1  | 2  | 3  | Rank
Jul   | A   | 1% |    |    | 3
Jul   | B   | 3% |    |    | 1
Jul   | C   | 2% |    |    | 2
Jun   | A   | 4% | 6% |    | 3
Jun   | B   | 5% | 7% |    | 2
Jun   | C   | 6% | 8% |    | 1
May   | A   | 2% | 4% | 7% | 1
May   | C   | 3% | 5% | 6% | 2

Myślę o użyciu funkcji Index / Match:

=RANK(INDEX(G3:S3,MATCH(9^99,G3:S3,1)),G3:G5,0)

Ale nie jestem pewien, jak sprawić, by G3: G5 był dynamiczny.

Odpowiedzi:

0 dla odpowiedzi № 1

Myślę, że udało mi się go uruchomić za pomocą następującej formuły w kolumnie rang:

=RANK(OFFSET(G3,,SUM(--ISNUMBER(G3:S3))-1),
OFFSET(G3,COUNTIF(E3:$E$999,E3)-COUNTIF($E$1:$E$999,E3),
SUM(--ISNUMBER(G3:S3))-1,COUNTIF($E$1:$E$999,E3)))

(zakładając, że twoje miesiące się skończyły E1:E999).

Na to wygląda G3 i przesuwa się w najbardziej na lewo niepusty (ISNUMBER) kolumna za pomocą OFFSET i uważa, że ​​ta wartość ma miejsce w rankingu OFFSET tablica, w której miesiąc odpowiada bieżącemu miesiącowi wiersza.

Przełammy drugi OFFSET formuła (zakładając, że rozważamy Jul rząd):

  • Zacznij od G3.
  • Przesunięcie wiersza: liczba Jul wiersze poniżej bieżącego wiersza (włącznie) - całkowita liczba Jul wydziwianie.
  • Przesunięcie kolumny: liczba komórek zawierających liczby w bieżącym wierszu - 1
  • Wysokość: całkowita liczba Jul wydziwianie.

Jest to formuła tablicowa, więc należy ją wprowadzić za pomocą Ctrl+Przesunięcie+Wchodzić.

Uwaga: Formuła zakłada, że ​​wartości skrajne po prawej są w tej samej kolumnie, jeśli miesiąc jest taki sam. Dotyczy to twojego podanego przykładu, ale nie wiem, czy zachowuje on dla twojego pełnego zestawu danych. Jeśli nie jest to prawdą, możesz utworzyć kolumnę pomocniczą przy użyciu pierwszego OFFSET kawałek formuły

=OFFSET(G3,,SUM(--ISNUMBER(G3:S3))-1)

aby uzyskać swój najbardziej prawy numer w każdym wierszu, a następnie wykonaj ranking w tej kolumnie pomocnika.


0 dla odpowiedzi nr 2

Zacznij od prostego rankingu podgrupy za pomocą Funkcja LICZ.JEŻELI.

=COUNTIFS(A:A, A2, C:C, "<="&C2)

rank_latest

Zmodyfikuj zakres wartości procentowych, aby złapać najbardziej prawy numer z tego wiersza INDEKS w zakresie wielu kolumn z przybliżonym MECZ.

=COUNTIFS(A:A, A2, INDEX(A:F, 0, MATCH(1E+99, A2:F2)), ">="&INDEX(A:F, ROW(2:2), MATCH(1E+99, A2:F2)))

rank_latest_two

Wypełnij w razie potrzeby.