Re: Zliczania wartości
: śr kwie 10, 2013 7:15 pm
Może... spróbuj zrozumieć jak działa formatowanie warunkowe...
To jest zrzut ekranu z formatowania w zaproponowanym przeze mnie pliku Widzisz główne okno formatowania warunkowego, w którym jest Jeden "pakiet" warunków działający w żądanym zakresie - u mnie w komórkach B7:F13
Wchodzimy głębiej: "Pakiet" składa się z pięciu warunków - dla każdego stylu jest jeden warunek w tym samym zakresie (B7:F13 - określonym dla całej "paczki")
Działanie jest bardzo proste:
Formuła sprawdzająca wygląda tak:
W przypadku omówienia błędów przy kopiowaniu tłumaczyłem Ci już, że wystarczające jest użycie formy:
Po pierwsze powinieneś zrozumieć dlaczego przy kolumnie D jest blokada (znak $ jest blokadą... może być blokadą arkusza i/lub wiersza i/lub komórki) a przy wierszu jej nie ma - otóż formuła działa tak, że w konkretnym wierszu, w tym przypadku 7 gdy warunek jest spełniony dla komórki D7, zwróć wynik PRAWDA dla KAŻDEJ kolumny z badanego zakresu (czyli kolumny B:F dla danego wiersza)
Jednym słowem gdy w komórce D7 pojawi się słowo "URLOP" - formatuj komórki B7:F7 na wybrany styl.
Tak samo formuła zachowa się dla wiersza ósmego i każdego następnego...
Gdyby blokada była TEŻ przy wierszu ($D$7) - każda z komórek badanego zakresu zależna byłaby od sprawdzenia czy w komórce D7 jest spełniony warunek i po spełnieniu formatowała cały badany w warunku obszar (np te B7:F13).
Znów gdyby w ogóle nie było blokady na kolumnie i na wierszu (D7), w zadanym obszarze (wciąż B7:F13) działało by to tak, że: komórka B7 "patrzyłaby" na to jaki wynik daje formuła badająca komórkę D7, komórka C7 zachowywałaby się w zalezności od tego, jaki wynik formuła sprawdzająca {cały czas mowa o formule zadanej w formatowaniu warunkowy, czyli JEŻELI(D7="URLOP";PRAWDA())} zwracałaby badając komórkę E7, D7 w zależności od F7.... a F7 w zależności od tego czy w komórce H7 byłoby słowo "URLOP" czyli z przesunięciem o 2 komórki w wierszu
Następny wiersz zachowywałby się tak samo...
Można też "przesunąć" w poziomie i w pionie, np:
Dla zakresu B7:F13 formuła może wyglądać : JEŻELI(D10="URLOP";PRAWDA())
Poeksperymentuj lub domyśl się jak będzie działać...
Dlatego w pierwotnym projekcie warunków jest 5, ponieważ było 5 opcji:
Każdy z tych warunków dotyczył innego stylu formatowania
Przy takiej budowie formuł i "patrzeniu" co jest w środkowej kolumnie (D) - formatowanie działało w całej linii kolumn z zadanego zakresu (B:F)
Dlatego "podświetlała" się cała linia w tabeli.
Przyjrzyj się teraz temu, co Ty zrobiłeś:
Zadałeś 5 zakresów dla tej samej formuły sprawdzającej , czy pojawia się słowo WOLNE
więc jak ma formatować na inne style, kiedy po prostu ich nie ująłeś w formatowaniu???
A "głębiej" już nic tam nie masz...
Nie mówiąc o tym, że zakresy Ci się powielają:
A3:A10 vs A5:A33
Równie dobrze Twoje warunki można zastapić jednym:
Zakres A3:C33 i formuła JEŻELI($C3="WOLNE";PRAWDA())
I formuła będzie sprawdzała dla kolejnych wierszy, czy w danym wierszu występuje w kolumnie C słowo WOLNE i sformatuje - "podświetli" kolumny z badanego zakresu czyli A:C (w badanym wierszu po uzyskaniu stanu PRAWDA w komórce C) na wybrany styl.
Tak samo, by formatowac dla innego "słowa" musiałbyś postąpić analogicznie:
dla zakresu A3:C33 badać formułą np
JEŻELI($C3="COŚ_TAM";PRAWDA())
Czy cokolwiek chcesz...
Mam nadzieję, że to Ci choć trochę "rozjaśniło" zasady formatowania warunkowego w omawianych tu projektach, bo po tym, co stworzyłeś w ostatnim pliku po takiej dawce informacji wcześniej i praktycznie stworzonym kompletnym projekcie wychodzi, że w ogóle nie wiesz, skąd Ci się bierze to formatowanie i co za nie jest odpowiedzialne...
To jest zrzut ekranu z formatowania w zaproponowanym przeze mnie pliku Widzisz główne okno formatowania warunkowego, w którym jest Jeden "pakiet" warunków działający w żądanym zakresie - u mnie w komórkach B7:F13
Wchodzimy głębiej: "Pakiet" składa się z pięciu warunków - dla każdego stylu jest jeden warunek w tym samym zakresie (B7:F13 - określonym dla całej "paczki")
Działanie jest bardzo proste:
Formuła sprawdzająca wygląda tak:
Kod: Zaznacz cały
JEŻELI($Arkusz1.$D7="URLOP";PRAWDA())
Kod: Zaznacz cały
JEŻELI($D7="URLOP";PRAWDA())
Jednym słowem gdy w komórce D7 pojawi się słowo "URLOP" - formatuj komórki B7:F7 na wybrany styl.
Tak samo formuła zachowa się dla wiersza ósmego i każdego następnego...
Gdyby blokada była TEŻ przy wierszu ($D$7) - każda z komórek badanego zakresu zależna byłaby od sprawdzenia czy w komórce D7 jest spełniony warunek i po spełnieniu formatowała cały badany w warunku obszar (np te B7:F13).
Znów gdyby w ogóle nie było blokady na kolumnie i na wierszu (D7), w zadanym obszarze (wciąż B7:F13) działało by to tak, że: komórka B7 "patrzyłaby" na to jaki wynik daje formuła badająca komórkę D7, komórka C7 zachowywałaby się w zalezności od tego, jaki wynik formuła sprawdzająca {cały czas mowa o formule zadanej w formatowaniu warunkowy, czyli JEŻELI(D7="URLOP";PRAWDA())} zwracałaby badając komórkę E7, D7 w zależności od F7.... a F7 w zależności od tego czy w komórce H7 byłoby słowo "URLOP" czyli z przesunięciem o 2 komórki w wierszu
Następny wiersz zachowywałby się tak samo...
Można też "przesunąć" w poziomie i w pionie, np:
Dla zakresu B7:F13 formuła może wyglądać : JEŻELI(D10="URLOP";PRAWDA())
Poeksperymentuj lub domyśl się jak będzie działać...
Dlatego w pierwotnym projekcie warunków jest 5, ponieważ było 5 opcji:
Kod: Zaznacz cały
JEŻELI($Arkusz1.$D7="URLOP";PRAWDA())
JEŻELI($Arkusz1.$D7="WOLNE";PRAWDA())
JEŻELI($Arkusz1.$D7="CHOROB.";PRAWDA())
JEŻELI($Arkusz1.$D7="N.NIEUSPR.";PRAWDA())
JEŻELI($Arkusz1.$D7="URL. ŻĄD.";PRAWDA())
Przy takiej budowie formuł i "patrzeniu" co jest w środkowej kolumnie (D) - formatowanie działało w całej linii kolumn z zadanego zakresu (B:F)
Dlatego "podświetlała" się cała linia w tabeli.
Przyjrzyj się teraz temu, co Ty zrobiłeś:
Zadałeś 5 zakresów dla tej samej formuły sprawdzającej , czy pojawia się słowo WOLNE
więc jak ma formatować na inne style, kiedy po prostu ich nie ująłeś w formatowaniu???
A "głębiej" już nic tam nie masz...
Nie mówiąc o tym, że zakresy Ci się powielają:
A3:A10 vs A5:A33
Równie dobrze Twoje warunki można zastapić jednym:
Zakres A3:C33 i formuła JEŻELI($C3="WOLNE";PRAWDA())
I formuła będzie sprawdzała dla kolejnych wierszy, czy w danym wierszu występuje w kolumnie C słowo WOLNE i sformatuje - "podświetli" kolumny z badanego zakresu czyli A:C (w badanym wierszu po uzyskaniu stanu PRAWDA w komórce C) na wybrany styl.
Tak samo, by formatowac dla innego "słowa" musiałbyś postąpić analogicznie:
dla zakresu A3:C33 badać formułą np
JEŻELI($C3="COŚ_TAM";PRAWDA())
Czy cokolwiek chcesz...
Mam nadzieję, że to Ci choć trochę "rozjaśniło" zasady formatowania warunkowego w omawianych tu projektach, bo po tym, co stworzyłeś w ostatnim pliku po takiej dawce informacji wcześniej i praktycznie stworzonym kompletnym projekcie wychodzi, że w ogóle nie wiesz, skąd Ci się bierze to formatowanie i co za nie jest odpowiedzialne...