Mam arkusz programu Excel, który ma trzy pola:
USER_ID | DATE_CREATED | TAGS
Tagi zastosowane do elementów w arkuszu różnią się dość i są ustawione jak | tag1 tag2 tag3...
| w terenie.
Chcę uzyskać listę wszystkich unikalnych identyfikatorów użytkowników, którzy uzyskali określony znacznik w dowolnym punkcie ( tagx
), ale nie mieli innego, innego znacznika w żadnym punkcie przed tym ( tagy
).
Biorąc pod uwagę zmienność czasów, w których użytkownicy mogli uzyskać tagx
, nie jestem pewien, jak najlepiej to skonfigurować.
Jak powinienem uporządkować arkusz w celu filtrowania tych informacji? Z przyjemnością konfiguruję dodatkowe kolumny pomocnicze, które wykonują testy, i tworzę tabele przestawne.
EDYCJA: zaktualizowana w celu lepszego wyjaśnienia - zawarte pola to tylko te pola, które są dla mnie dostępne do wykonania tego rodzaju. Dane wyjściowe, których szukam, to w dowolnej formie lista wszystkich unikalnych identyfikatorów użytkowników, które zostały nabyte tagx
w dowolnym momencie, ale nie zostały tagy
uzyskane przed ich uzyskaniem tagx
.
EDYCJA (1): oto zdjęcie pokazujące, czego szukam:
w tym przypadku chciałbym mieć sposób na pobranie ID # 2 (i innych podobnych), ponieważ pobiera i zachowuje tagx w dniu 1/3/2001 i nie ma tagów przed nim
ale chciałbym wykluczyć identyfikator nr 1, ponieważ chociaż pobiera i utrzymuje tagx na 1/2/2001, ma wcześniej tagy
tagx
ale miał tagy
wcześniej, użytkownik, który miał, tagx
ale tagy
później, użytkownik, który miał, tagx
ale nigdy nie miał tagy
, użytkownik, który nigdy nie miał tagx
itp. Prawdopodobnie pomogłoby to również w opisaniu problemu w świecie rzeczywistym.
ID
kolumnę i znaleźć po raz pierwszy (chronologicznie), które każdy ID
dostaje, tag (any)
a następnie sprawdzić, czy to jest, tag (x)
a jeśli nie, przejdź do następnego unikalnego ID
? I co wtedy? Zaznacz każdy, który pasuje do kryteriów?