[Solved] Jeżeli i styl z datą

Użytkowanie arkusza kalkulacyjnego

[Solved] Jeżeli i styl z datą

Postprzez Saeer » Pt sty 14, 2022 11:06 am

Witam ponownie.
Znalazłem wątek na forum o łączeniu funkcji JEŻELI() z funkcją STYL()
viewtopic.php?f=9&t=5219&p=21764&hilit=styl#p21764
Zapoznałem się z nim i pojąłem jak można używać funkcji STYL().

Wykorzystuję formułę =TEKST(C2;JEŻELI(D2="tak";STYL("Dobry");STYL("Zły"))) i ukrywam kolumny C i D.

Problem pojawił się przy dacie. W wyniku otrzymuję liczbę zamiast daty pomimo formatu komórki jako data. Funkcja N() daję błędną datę.

Cel: Otrzymać datę ukończenia 2,5lat podświetloną na zielono jeśli już ten warunek został spełniony, na czerwono ,jeśli nie.
Załączniki
Przykład2.ods
(12.43 KiB) Pobrane 4 razy
Ostatnio edytowano Pn sty 17, 2022 9:07 am przez Saeer, łącznie edytowano 1 raz
OpenOffice 4.1.11 na Win 10
LibreOffice 7.2 na Win 10
Saeer
 
Posty: 8
Dołączył(a): Cz gru 30, 2021 9:48 am

Re: Jeżeli i styl z datą

Postprzez Rafkus » Pt sty 14, 2022 1:06 pm

Wynikiem funkcji TEKST jest liczba zapisana w wybranym formancie tekstowym. W twoim przypadku o formancie tej liczby decyduje funkcja STYL, która z kolei w wyniku daje zawsze wartość 0, w efekcie dostajesz liczbę zapisaną jako tekst. Poprawniej powinno być tak:
Kod: Zaznacz cały   Rozszerz widokZwiń widok
=TEKST(C2;"dd mmmm yyyy")+JEŻELI(D2="tak";STYL("Dobry");STYL("Zły"))

a nawet tak:
Kod: Zaznacz cały   Rozszerz widokZwiń widok
=C2+STYL(JEŻELI(D2="tak"; "Dobry"; "Zły"))

W tym drugim przypadku będziesz mógł samodzielnie ustawić format komórki.

Odnośnie obliczenia daty skończenia 2,5 lat proponowałbym użycie funkcji:
Kod: Zaznacz cały   Rozszerz widokZwiń widok
=NR.SER.DATY(A2; 30)

Funkcja ta poda datę dokładnie 30 miesięcy po dacie wpisanej do komórki A2 uwzględniając czy w danym okresie był, czy też nie, rok przestępny.

W tym przypadku można nie stosować kolumn pomocniczych, wystarczy taka formuła:
Kod: Zaznacz cały   Rozszerz widokZwiń widok
=NR.SER.DATY(A2;30)+STYL(JEŻELI(BIEŻĄCY()<=DZIŚ(); "Dobry"; "Zły"))


PS. NR.SER.DATY jest to nazwa funkcji w LibreOffice, w OpenOffice funkcja ta nosi nazwę EDATE
OpenOffice 4.1.6. oraz LibreOffice 7.1.6 Widows 10
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
Avatar użytkownika
Rafkus
 
Posty: 360
Dołączył(a): Cz kwi 12, 2018 10:26 pm

Re: Jeżeli i styl z datą

Postprzez Jermor » Pt sty 14, 2022 3:36 pm

Dołączam do dyskusji.
Uważam, że najlepszym rozwiązaniem jest zastosowanie formatowania warunkowego. Wystarczy wówczas tylko wprowadzona data urodzenia i nie trzeba tworzyć formuły funkcją STYL().
Przykład tego odsyłam.
Takie formatowanie zastosowałem w komórkach od A19:A22.
Wykorzystałem trzy warunki:
Gdy data urodzenia jest mniejsza lub równa DZIŚ() minus 30 miesięcy, styl: "dobry".
Gdy data urodzenia jest mniejsza lub równa DZIŚ(), styl: "zły".
Gdy data urodzenia jest większa niż DZIŚ(), styl "błąd".
Zasada wykorzystania stylu warunkowego jest taka, że przyjmowany jest styl pierwszego spełnionego warunku kontrolnego. Dlatego muszą one być podane w takiej kolejności.
Załączniki
Saeer Przykład2.ods
(13.57 KiB) Pobrane 3 razy
AOO 4.1.10, LO 7.2.4 (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.
Avatar użytkownika
Jermor
 
Posty: 1665
Dołączył(a): So paź 12, 2013 11:09 am

Re: Jeżeli i styl z datą

Postprzez Saeer » Pn sty 17, 2022 9:06 am

Bardzo wam dziękuję, oba rozwiązania są bardzo przydatne
OpenOffice 4.1.11 na Win 10
LibreOffice 7.2 na Win 10
Saeer
 
Posty: 8
Dołączył(a): Cz gru 30, 2021 9:48 am


Powrót do Calc

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 12 gości