Automatyczna numeracja sekwencyjna na podstawie kryteriów komórki - utwórz dwie niezależne automatyczne sekwencje numeracji

0

Jak wykonać numerację w kolumnie A, pomiń wszystkie wiersze, które mają słowo „TOTAL” w kolumnie C, ale ponownie od razu w następnych wierszach? Jednocześnie, czy wiersze ze słowem „TOTAL” w kolumnie C mogą mieć własną numerację?

Należy to osiągnąć za pomocą jednej formuły i kontynuować AUTOMATYCZNIE w dół kolumny z nowymi odpowiednimi liczbami pojawiającymi się w kolumnie A po utworzeniu nowych wierszy / aktualizacji kolumny C.

Próbowałem (używając odpowiedzi podanej poniżej) = JEŻELI (C1 = „RAZEM”, LICZ. (C $ 1: C1, „RAZEM”), ROW (A1) -COUNTIF (C $ 1: C1, „RAZEM”)) działa, ale nie rozmnaża się automatycznie w kolumnie A.

Na przykład, jeśli niektóre wiersze zawierają „TOTAL”, kolumna A będzie:

   Col A   Col C 
    1        S
    2        S
    1      TOTAL
    3        S
    2      TOTAL
    3      TOTAL
    4        S
    5        S
    4      TOTAL
Marcin
źródło
Chcesz zmieszać liczby w tej samej kolumnie? Jeśli wiersze 3 i 5 mają „TOTAL” w kolumnie C, sekwencja idąca w dół do kolumny A będzie następująca: 1, 2, 1, 3, 2, 4? Nie chcesz, aby kolumna A była: 1, 2, pusta, 3, pusta, 4, a kolumna B była: pusta, pusta, 1, pusta, 2, pusta, ...?
fixer1234
Jeśli wiersze 3 i 5 mają „TOTAL” w kolumnie C, sekwencja idąca w dół do kolumny A będzie wynosić: 1, 2, 1, 3, 2, 4. Próbowałem załączyć obraz, ale niska reputacja uniemożliwiła mi to, Przepraszam.
Marcin
Czy więcej niż jeden kolejny wiersz może mieć TOTAL w kolumnie C?
fixer1234
Tak, TOTAL w kolumnie C pojawi się jedna po drugiej, a druga wartość może również pojawić się w kilku wierszach jeden po drugim.
Marcin
Cholera, miałem proste rozwiązanie, gdyby nie było sekwencyjnych OGÓŁEM. Powrót do tablicy kreślarskiej.
fixer1234

Odpowiedzi:

3

Oto jedno rozwiązanie. Zakłada, że ​​dane zaczynają się w wierszu 1 (jeśli nie, należy przesunąć odniesienia do wierszy). Wzór w A1:

    =IF(C1="TOTAL",COUNTIF(C$1:C1,"TOTAL"),ROW(A1)-COUNTIF(C$1:C1,"TOTAL"))

Skopiuj tę kolumnę A dla całego zakresu danych.

Aktualizacja: skonsoliduje dyskusję z komentarzy w odpowiedź. Pytanie dąży do tego, aby wartości w kolumnie A pojawiały się automatycznie, gdy nowe wpisy są dodawane do kolumny C. Można to zrobić, dodając ISBLANKtest do formuły i wstępnie wypełniając kolumnę A:

    =IF(ISBLANK(C1),"",IF(C1="TOTAL",COUNTIF(C$1:C1,"TOTAL"),ROW(A1)-COUNTIF(C$1:C1,"TOTAL")))

Można to skopiować do dowolnej liczby komórek w kolumnie A. Dopóki nie ma nic w kolumnie C dla wiersza, formuła zwróci pusty symbol zastępczy, a komórka w kolumnie A będzie pusta. Po wpisaniu wartości w kolumnie C formuła będzie działać jak poprzednio.

fixer1234
źródło
Dziękuję fixer1234, robi to pięknie, ale chciałbym również, aby automatycznie przechodził w dół kolumny dla każdego nowego wiersza ... Próbowałem formuły tablicowej, ale bez powodzenia ...
Marcin
@MarcinLachner, jeśli możesz wyjaśnić, co masz na myśli, jestem pewien, że istnieje rozwiązanie, to, co widzę, jest formułą, którą można kontynuować aż do końca kolumny =]
Tyson
Przepraszam Tyson, nie wyraziłem się jasno: chciałbym, aby kolumna A aktualizowała się z poprawną liczbą, gdy nowy wiersz w kolumnie C otrzyma dane wejściowe (np. „TOTAL”). Obecnie mamy półautomatyczny układ, w którym należy przeciągnąć formułę w dół kolumny, jeśli jest nowy wiersz.
Marcin
Można to zrobić na kilka sposobów. Najprostszym jest po prostu wypełnienie wstępnie większej liczby wierszy niż potrzebujesz. Wstaw całą formułę (z wyjątkiem znaku równości) do środka: IFBLANK (C1, „”, formuła) (dotyczy A1; skopiuj rozszerzoną formułę w dół do kolumny A na zawsze). Dodatkowe wpisy będą puste, dopóki coś nie przejdzie do kolumny C dla tego wiersza. Jeśli Twoje dane kończą się w większej liczbie wierszy niż skopiowałeś formułę, skopiuj dowolną komórkę w kolumnie A i wklej dla kolejnych kilkuset wierszy. W przeciwnym razie prawdopodobnie potrzebujesz programu VBA.
fixer1234
IFBLANK (C1, „”, formuła) nie działa, mówi „Nieznana funkcja:„ IFBLANK ”(arkusz kalkulacyjny Google).
Marcin,