Marek
D.
Kierownik projektu,
Sii
Temat: Dynamiczna zależność od dwóch zmieniających się wartości...
Witam,Mam skoroszyt z dwoma arkuszami (korzystam z Excel v.2013), w jednym jest lista osób (arkusz: lista) które przynależą do trzech grup (w przykładzie "Mała", "Średnia" i "Duża"), w drugim są dane (arkusz: dane), które są wypełniane przez te osoby. Jest w nim sporo różnych informacji w postaci list wyboru, pól tekstowych i wartościowych. Użytkownicy codziennie uzupełniają w nim dane. Na ich podstawie wykorzystuję później m.in. tabele przestawne, MSQuery itp (w moim załączonym przykładzie usunąłem niepotrzebne kolumny, aby skupić się tylko na moim problemie).
Jedna z kolumn: Table2[[#Headers];[grupa]] ma automatycznie zwracać przynależność osoby według ustaleń znajdujących się w zdefiniowanym zakresie: zmiany =lista!$B$2:$J$17.
Chodzi o to, że z upływem czasu dowolna osoba może zmieniać grupę, a ja chciałbym to wykazać w arkuszu dane w kolumnie Table2[[#Headers];[grupa]].
Takich zmian może być więcej niż w moim przykładzie (trzy) i tu się zaczyna problem z "ogarnięciem" tego.
Dla trzech zmian ustawiłem formuły zawarte w kolumnach arkusza 'dane' (nagłówki ch1, ch2, ch3 i wynikowy grupa)
Formuła jest w sumie dość rozbudowana. Właśnie dlatego, żeby jej nie zaciemniać stworzyłem sobie te trzy dodatkowe kolumny "ch". W przeciwnym razie dla komórki C2 wyglądałaby tak:
=IFERROR(IF(AND(VLOOKUP(A2;zmiany;8;FALSE)>0;B2>=VLOOKUP(A2;zmiany;8;FALSE));VLOOKUP(A2;zmiany;9;FALSE);IF(AND(VLOOKUP(A2;zmiany;6;FALSE)>0;B2>=VLOOKUP(A2;zmiany;6;FALSE);OR(VLOOKUP(A2;zmiany;8;FALSE)=0;VLOOKUP(A2;zmiany;6;FALSE)<=(VLOOKUP(A2;zmiany;8;FALSE))));VLOOKUP(A2;zmiany;7;FALSE);IF(AND(VLOOKUP(A2;zmiany;4;FALSE)>0;B2>=VLOOKUP(A2;zmiany;4;FALSE);OR(VLOOKUP(A2;zmiany;6;FALSE)=0;B2<VLOOKUP(A2;zmiany;6;FALSE)));VLOOKUP(A2;zmiany;5;FALSE);VLOOKUP(A2;zmiany;3;FALSE))));"")
Wiem, że ktoś mógłby przytoczyć dłuższą ale nie o to chodzi.
Wciąż się uczę excela, więc proszę o wyrozumiałość.
Arkusz dane musi zawierać (3 pierwsze kolumny) takie dane i taki układ.
Lista wpisów do 'dane' osiąga ponad 30 tys rekordów i zaczynam zauważać problemy z wydolnością przy filtrowaniu (użytkownicy mają taką możliwość). Jak zamienię grupę na wartość (pozbędę się formuł) -> excel przyspiesza. Wolałbym nie używać formuł tablicowych.
Arkusz lista normalnie jest ukryty i tylko ja nim zarządzam, może być dowolnie modyfikowany. Podejrzewam, że można go uprościć.
Lista osób wciąż rośnie (obecnie 50 użytkowników).
Liczba grup jest oczywiście większa (załącznik to tylko przykład).
Liczba możliwych zmian w ciągu roku może być większa niż założone 'trzy'.
Nie znam dobrze makr :( zaczynam się uczyć dopiero.
Szukam prostszego sposobu do zamieszczonego przykładu. W załączonym pliku wyróżniłem "Iksińskiego" jako przykład tych zmian.
Będę wdzięczny za pomoc / wskazówki.
Załącznik:
https://drive.google.com/file/d/0Bwy6LRRBLBSacDB4bGZ2Sk...Ten post został edytowany przez Autora dnia 28.12.15 o godzinie 20:17