Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
ID tematu: 13189 Skopiuj do schowka 37. Status zadania / procent zaawansowania
Autor Wiadomość
zbiniek 
ExcelSpec



Posty: 725
Wysłany: 2009-07-28, 09:24   37. Status zadania / procent zaawansowania

Witam!

Mając chwilkę między karmieniem jednej pociechy a drugiej :-) , postanowiłem coś napisać.

Czasem zdarzało mi się pokazać stan zaawansowania jakiegoś zadania. Robiłem to tak, że wpisywałem wartości liczbowe od 1do 10. Dla wartości 1 zadanie się rozpoczyna, dla 10 zadanie jest skończone. Jednak patrzenie na cyferki dla kilkudziesięciu (i więcej) zadań (wierszy) jest męczące. Tym bardziej, jeśli byśmy chcieli zobaczyć stan zaawansowania danego zadania. Pomyślałem, że lepiej będzie (przynajmniej dla mnie) jakoś wyróżnić poszczególne wartości. "Jakoś" mam na myśli przyjazne dla oka. Czyli nie patrzymy na same liczby, a na długość paska. Jeśli dodamy do tego jeszcze kolory obrazujące długość, to faktycznie możemy mówić o przydatności takiego rozwiązania. Tak powstał pomysł zbudowania i opracowania paska postępu zadania / procentu zaawansowania zadania. Oczywiście przykład można wykorzystać też dla innych przypadków. Śmiało możemy operować na datach, np. chcemy pilnować przekroczenia terminów płatności.
Ponieważ pracuję na Excelu 2003, więc to dla niego dostosowałem rozwiązanie zadania. Jednak zastosowane mechanizmy działania powinny działać zarówno na wcześniejszych, jak i późniejszych wydaniach Excela. Excel 2003 ma wbudowane narzędzie "Formatowanie warunkowe", które pozwala nam zdefiniować 3 formatowania komórki dla 3 różnych warunków. Ja natomiast użyję 4 warunki! - tak naprawdę 3 warunki i 1 nie warunek (czyli to też warunek :)). Pierwsze formatowanie będzie występowało, w przypadku niespełnienia ani jednego warunku. Pozostałe 3 będą utworzone we wspomnianym formatowaniu warunkowym.
W pliku przedstawiłem 2 opcje paska. Pierwsza (rosnąca) dotyczy przypadku, w którym długość paska jest wprost proporcjonalna do wpisanej liczby. Czyli im większa liczba, tym dłuższy pasek. Druga opcja (malejąca) dotyczy przypadku, w którym długość paska jest odwrotnie proporcjonalna do wpisanej liczby. Czyli im mniejsza liczba, tym dłuższy pasek. Dla obu przypadków zdeklarowałem progi, powyżej / poniżej których pasek nie jest zbyt długi / zbyt krótki.
Założenia są takie: zmieniamy tylko wartości znajdujące się w komórkach zaznaczonych na niebiesko. Ustalamy 3 progi warunkowe (dla wygody podawane w %) badanego zakresu liczb (dat). Oprócz z góry narzuconych progów można wykorzystać odpowiednio funkcje min(badany_zakres) i max(badany_zakres), które będą automatycznie ustalały progi. Pasek jest uodporniony (przynajmniej tak starałem się zrobić) na wartości tekstowe i puste komórki, ale o tym później. Założyłem również, że domyślnie pasek ma minimalną długość i kolor czerwony. Coś musi się stać (komórka musi mieć odpowiednią wartość), aby pasek był najdłuższy (i miał kolor zielony).
Teraz kilka wyjaśnień dlaczego tak zrobiłem. Dla opcji rosnącej przyjąłem, że tylko wartości liczbowe równe lub powyżej ustalonego progu (max) będą miały kolor zielony. I z drugiej strony: wartości liczbowe równe lub poniżej ustalonego progu (min) będą miały kolor czerwony. Zakładam również, że przez pomyłkę mogą znajdować się puste komórki lub komórki z tekstem. Dla tego przypadku pasek również będzie czerwony. Czyli ogólnie: tylko dla wartości równej lub powyżej progu max pasek będzie miał długość maksymalną (i kolor zielony). Dla opcji malejącej przyjąłem, że wartości liczbowe równe lub poniżej ustalonego progu (min) lub puste komórki będą miały kolor zielony. Na puste komórki zdecydowałem się z uwagi na to, aby plik zajmował mniej miejsca (pewnie tylko nieznacznie, ale zawsze mniej). I z drugiej strony: wartości liczbowe równe lub powyżej ustalonego progu (max) będą miały kolor czerwony. Zakładam również, że przez pomyłkę mogą znajdować się komórki z tekstem. Dla tego przypadku pasek również będzie czerwony. Czyli ogólnie: tylko dla wartości równej lub poniżej progu min lub pustej komórki pasek będzie miał długość maksymalną (i kolor zielony).

Na tym etapie mam jeszcze tylko mały (ale nurtujący mnie) problemik. Jest on związany z "rozdzielczością" paska. Im pasek będzie mógł przyjmować więcej wartości (w końcu przez nas ustalanych), tym błąd będzie mniejszy, i na odwrót. Długość paska na pograniczu koloru czerwonego i pomarańczowego jest niepoprawnie odwzorowana. Otóż dla danych pokazanych w przykładzie, dla opcji rosnącej dla wartości 1 pasek powinien mieć długość 2. Próbowałem odpowiednio zaokrąglić liczbę wbudowanymi w excelu funkcjami, ale nie uzyskałem satysfakcjonującego mnie rozwiązania. Zaokrąglałem liczbę w górę, ale wówczas dla wartości 12 (czyli mniejsza niż max=13) pasek przyjąłby maksymalną długość (i kolor zielony). Wolę więc pozostać przy przedstawionym rozwiązaniu i wybrać mniejsze zło. Jak ktoś ma pomysł na rozwiązanie tego problemu, to chętnie skorzystam.

Oczywiście czekam na krytyczne uwagi :hamer Mogą też być słowa uznania :beer

status zadania_zbiniek_090728.zip
Pobierz Plik ściągnięto 293 raz(y) 7.99 KB

_________________
pzdr
zbiniek

Prawdopodobieństwo otrzymania satysfakcjonującej odpowiedzi jest proporcjonalne do właściwego sformułowania problemu (popartego załącznikiem)

Jest załącznik - jest impreza

http://rtfm.killfile.pl/
ID posta: 69277 Skopiuj do schowka
 
 
 

EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email

tkuchta1 
Excel Expert



Posty: 2270
Wysłany: 2009-07-31, 23:28   

Zbińku ja to raczej ze słowami uznania - Fajny pomysł! :-)

Trochu poczepiam się formuły liczby!B12
Kod:
=POWT("&#9608;";JEŻELI(LUB(A12<=$I$3;JEŻELI(DŁ(A12)=0;PRAWDA;FAŁSZ);CZY.TEKST(A12));$I$4;JEŻELI(A12>=$J$3;$J$4;$I$4+(A12-$I$3)*$J$5)))

fragment JEŻELI(DŁ(A12)=0;PRAWDA;FAŁSZ) myślę że wystaczyło by DŁ(A12)=0 co jak rozumiem oznacza pustą komórkę.
ale teraz jeżeli wynikiem takiego zapisu =A13<=$I$3 jest 0. kom.A13 jest pustą komórką to wystarczy sprawdzić czy A12<=$I$3, test DŁ(A12)=0 wydaje mi się niepotrzebny.
Całość.
Kod:
=POWT("&#9608;";JEŻELI(LUB(A12<=$I$3;CZY.TEKST(A12));$I$4;JEŻELI(A12>=$J$3;$J$4;$I$4+(A12-$I$3)*$J$5)))


to tak jak w opcji malejącej jedyny test to CZY.TEKST(A12).Nie sprawdzasz czy komórka jest pusta. A jeżeli jest pusta to fragment JEŻELI(A12<=$I$3;$J$4;.. reaguje poprawnie :-)
_________________
Tomek
Moje Artykuły:
Algorytmy Sortujace, Wyrażenia Regularne,
Menadżer Funkcji NextNR, Unikaty


Moja Stronka
APoCoTenExcel
Ostatnia aktualizacja: 2012-03-17
ID posta: 69574 Skopiuj do schowka
 
 

EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email

zbiniek 
ExcelSpec



Posty: 725
Wysłany: 2009-08-02, 12:45   

Witam!

Ponieważ piszę teraz z domu, a przykłady mam w pracy, więc odniosę się do poprawy formuł jutro. Pamiętam tylko, że dopiero pod koniec zauważyłem, że dla pustej komórki Excel pokazywał mi w obliczeniach wartość 0 (zero), co w moim przypadku troszku komplikowało sytuację.
Jutro więc sprawdzę i oczywiście dam znać.

[ Dodano: 2009-08-03, 10:15 ]
Witam!

Szkoda, że nie można w tym dziale łączyć postów :-(

Dzięki tkuchta1 za poprawkę formuły. Faktycznie zmieniona postać działa prawidłowo.

W porównaniu do załącznika z 1 postu wprowadziłem następujące zmiany:
Poprawiono formułę dla statusu rosnącego, dodano dodatkowy arkusz z konfiguracją i statystyką statusów. Ponieważ w formatowaniu warunkowym nie można odwołać się do wartości w innych arkuszach, więc zdefiniowano nazwy. Arkusza "daty" już nie zmieniałem.

Oczywiście dalsze sugestie, poprawki itp. mile widziane.

[ Dodano: 2009-08-03, 10:16 ]
Jednak można łączyć, ale za to nie można edytować :mrgreen:

status zadania_zbiniek_090803.zip
Pobierz Plik ściągnięto 270 raz(y) 11.96 KB

_________________
pzdr
zbiniek

Prawdopodobieństwo otrzymania satysfakcjonującej odpowiedzi jest proporcjonalne do właściwego sformułowania problemu (popartego załącznikiem)

Jest załącznik - jest impreza

http://rtfm.killfile.pl/
ID posta: 69625 Skopiuj do schowka
 
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum