Funkcje sortowania i rankingu w programie Excel dla czasu ORAZ Wartości liczbowe w jednej kolumnie

0

Mam arkusz kalkulacyjny, który jest używany do śledzenia i oceniania zawodów fitness, każdy trening ma limit czasu, więc sportowcy, którzy ukończyli trening w wyznaczonym czasie, otrzymują swój czas, a sportowcy, którzy nie ukończą pełnego treningom podaje się „liczbę powtórzeń” jako wynik.

Na przykład trening ma limit 10 minut i łącznie 165 powtórzeń.

  • Zawodnik A kończy wszystkie 165 powtórzeń w 8:30
  • Zawodnik B wykonuje tylko 145 powtórzeń w 10 minut

Sportowcy Wynik wpisany w kolumnie „Wynik” jest wtedy, 8.30gdy wynik zawodnika B. wynosi 145.

Próbuję (ale jeszcze nie udało się) zrobić dwie rzeczy z tymi danymi:

  1. Niech kolumna czasu / powtórzeń zostanie posortowana w kolejności rosnącej, aby pokazać najpierw najszybszy czas, a ostatni najmniejszą liczbę powtórzeń.

  2. Utwórz formułę, która obliczy ranking zawodnika (1-40 miejsce), biorąc pod uwagę możliwość remisu - w takim przypadku obaj zawodnicy muszą otrzymać tę samą pozycję, a kolejny zawodnik przypisać pozycje związane + 1 (np. 1 , T2, T2, 4).

Rory
źródło
Czego już próbowałeś? Gdzie utknąłeś? Czy potrzebujesz formuły (lub kilku formuł) lub VBA?
Raystafarian
PUNKT 1: Byłem w stanie to rozgryźć, jeśli umieściłem czas i powtórzenia w osobnych kolumnach Kolumna C - Czas, Kolumna D - Powtórzenia, a następnie sortuj według Czasu, a następnie według powtórzeń. To działa, jednak odrzuca formułę rankingu, ponieważ teraz odwołuje się do dwóch różnych kolumn zamiast jednej kolumny. PUNKT 2: Na podstawie formuły rankingowej zrobiłem prostą instrukcję IF, która w zasadzie mówi: Jeśli aktualny wynik = do poprzedniego wyniku, to bieżąca pozycja = poprzednia pozycja, jeśli nie to aktualna pozycja = poprzednia pozycja + 1. Działa to do Dostaję remis, a potem się nie udaje.
Rory
Czy możesz używać VBA (makro)?
Raystafarian

Odpowiedzi:

1

Opracowałem dla ciebie formułę. Zakłada się, że twoje liczby są w kolumnie B.

=IF(B5>1,COUNTIF(B:B,"<1")+RANK(B5,B:B,0),RANK(B5,B:B,1))

Jak to działa

Jeśli (B1> 1 Ponieważ czasy są przechowywane jako ułamki dni, wszystkie czasy krótsze niż 24 godziny będą mniejsze niż 1 (Zakłada się, że nie ma nikogo z zerową liczbą powtórzeń) Jeśli to prawda, patrzymy na powtórzenia, a wyższe powtórzenia powinny być wyżej w rankingu

COUNTIF (B: B, „<1”) + RANK (B5, B: B, 0) Countif policzy liczbę osób z czasem, a następnie dodasz rangę (z najwyższą liczbą równą 1) dodanie tych dwóch razem daje ci twoja właściwa ranga.

RANK (B1, B: B, 1) Im niższy czas normalnej rangi, tym lepiej najniższy czas to 1

gtwebb
źródło
Bardzo imponujące +1
Raystafarian
Pan i legenda! Poważnie. Dziękuję bardzo, działa idealnie! Łał.
Rory
@Rory, jeśli to odpowiada na twoje pytanie, kliknij zielony znacznik obok niego, aby wskazać rozwiązany
Raystafarian
@Raystafarian na zdrowie. Zostało rozwiązane! Dziękuję Ci!
Rory