Wprowadzenie wielu warunków

Użytkowanie arkusza kalkulacyjnego
GK1
Posty: 1
Rejestracja: ndz lip 23, 2017 9:18 am

Wprowadzenie wielu warunków

Post autor: GK1 »

Witam,

mam problem z dodaniem wielu warunków. W załączniku zamieszczam mój arkusz, a poniżej opis problemu.
Przeznaczaniem arkusza będzie obliczanie ilości godzin i ewentualnych nadgodzin po wprowadzeniu do kolumny E liczby obrazującej długość danego dnia pracy.
Kolumny:
A - liczba porządkowa
B - data
C - dzień tygodnia, który zwraca mi formuła odnosząca się do kolumny D =JEŻELI(D2=1;"Pn";JEŻELI(D2=2;"Wt";JEŻELI(D2=3;"Śr";JEŻELI(D2=4;"Cz";JEŻELI(D2=5;"Pt";JEŻELI(D2=6;"So";JEŻELI(D2=7;"Nd";"Wpisz numer dnia w tygodniu")))))))

D - formuła odczytująca z kolumny B jaki dzień tygodnia "kryje się" pod wskazaną datą
=DZIEŃ.TYG(B2;2)

E - Liczba przepracowanych godzin(uzupełnia użytkownik arkusza)

F - Podstawa, czyli ile pracy z całego dnia stanowiła ta nieobjęta nadgodzinami. Tutaj właśnie mam problem z wprowadzeniem wielu warunków - program "ogarnia" warunki opisujące zasady dla dwóch dni, a później zdaje się ignorować kolejne wytyczne.
=JEŻELI(D2=6;JEŻELI(E2<=6;E2;JEŻELI(E2>6;6;JEŻELI(D2=7;0;JEŻELI(D2=1;JEŻELI(E2<=9,5;E2;JEŻELI(E2>9,5;9,5)))))))
Dla wartości 1 w kolumnie D program nie zgłasza błędu, ale też nie nie robi nic poza zwracaniem cyfry 0.

G - formuła, która ma przeprowadzać proste odejmowanie w sytuacji kiedy w danym dniu robimy nadgodziny(na razie napisana dla jednego dnia, ponieważ z obecnym problemem nie widziałem sensu w tym żeby pisać kolejne komendy)
=JEŻELI(D2=6;JEŻELI(E2>6;SUMA(E2-F2);0))

Dodatkowo chciałbym zapytać jak uzyskać efekt, który zamaluje na czarno wiersze w zakresie od kolumny A do G w momencie kiedy w komórce C pojawi się "Nd" lub w komórce D pojawi się cyfra 7.
Załączniki
Wynagrodzenie - projekt.ods
(15.15 KiB) Pobrany 118 razy
LibreOffice 5.3.4.2
Windows 10
Awatar użytkownika
Jermor
Posty: 2257
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Wprowadzenie wielu warunków

Post autor: Jermor »

Zacznę od tego, że chyba niewiele wspólnego miałaś/miałeś z arkuszami. Widać to szczególnie po zastosowaniu funkcji JEŻELI.
Ale do rzeczy.
Dzień tygodnia w kolumnie C.
Cała ta formuła jest zbędna, gdyż w kolumnie B jest już data. Zatem w kolumnie C wystarczy wpisać formułę

Kod: Zaznacz cały

=TEKST(B2;"nn")
Wstawi ona skróconą nazwę dnia tygodnia wynikającą z daty. Jedyną różnicą w stosunku do Twoich wyników jest to że skróty są wieloliterowe: pon., wt., śr., czw., pt., sob., i niedz., ale to chyba nie jest problem. Jeżeli wpiszesz trzy literki "n" otrzymasz pełną nazwę dnia tygodnia.
Obliczenia w kolumnie E.
Tutaj jest całkowity galimatias i szczerze mówiąc nie chce mi się rozgryzać jaki to ma być algorytm. Z tego co napisałeś wynika tylko tyle, że obliczenia są dokonywane tylko dla soboty (pierwszy warunek brzmi bowiem D2=6 i po jego spełnieniu wykonywane są wszystkie inne działania.
Chciałbym zasugerować Ci, przy budowaniu złożonych warunków korzystanie ze schematu blokowego. Przy jego pomocy sprawdzisz także czy Twoje obliczenia są kompletne, czyli obejmują wszystkie przypadki.
Elementem takiego schematu jest pokazana poniżej ilustracja.
170723150408_1.jpg
170723150408_1.jpg (16.42 KiB) Przejrzano 1651 razy
Na końcach strzałek dorysowujesz prostokąt z żądanym wynikiem albo kolejny element warunkowy. W ten sposób powstanie cały schemat złożonej formuły JEŻELI.
Przykład zastosowania tego sposobu poniżej.
Schemat jeżeli.jpg
Schemat jeżeli.jpg (12.36 KiB) Przejrzano 1615 razy
Podejrzewam jednak, że to obliczenie można zrobić prościej, musiałbym jednak mieć jakiś opis wyjaśniający co ma być policzone.
Obliczenia w kolumnie G.
GK1 pisze:=JEŻELI(D2=6;JEŻELI(E2>6;SUMA(E2-F2);0))
Te obliczenia wykonywane są także tylko dla soboty. Przy czym jeśli to jest sobota, to tylko wtedy gdy liczba z kolumny E jest większa od 6. Wówczas od wartości w kolumnie E odejmowana jest wartość z kolumny F. Zastosowana tu funkcja SUMA nie ma żadnego sensu bowiem niczego ona nie sumuje.
W końcu zaczernianie komórek. Ten efekt nazywa się formatowanie warunkowe i możesz o nim przeczytać np tutaj
https://yestok.pl/ooo/y56.php
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
ODPOWIEDZ