Formatowanie warunkowe - obramowanie tabeli

Użytkowanie arkusza kalkulacyjnego
MarymeK
Posty: 34
Rejestracja: sob lis 24, 2018 1:20 am

Formatowanie warunkowe - obramowanie tabeli

Post autor: MarymeK »

Witam, próbuję stworzyć kolejny dokument który ułatwi mi życie w pracy i zaoszczędzi kupę czasu.

Mam problem z obramowaniem poszczególnych tabel w zależności od tekstu jaki znajduje się w danej komórce. Jeśli formatowanie ustawię tylko dla jednego zakresu to jest ok, ale jeśli daję już na kilka to formatuje tylko jedną kolumnę tabeli i a drugiej już nie co robię nie tak??
W załączeniu plik który pewnie lepiej wyjaśni o co mi chodzi.

Z góry dziękuję za pomoc.
Załączniki
plik.ods
(8.94 KiB) Pobrany 119 razy
Awatar użytkownika
Rafkus
Posty: 516
Rejestracja: czw kwie 12, 2018 10:26 pm

Re: Formatowanie warunkowe - obramowanie tabeli

Post autor: Rafkus »

Jeśli formatowanie ustawię tylko dla jednego zakresu
TO tu sprawdzasz jaka jest wartość tylko w jednym polu, a mianowicie: $G$10="TEKST"
ale jeśli daję już na kilka to formatuje tylko jedną kolumnę tabeli
A tu sprawdzasz czy w danym zakresie jest spełniony warunek: $K$10:$S$10="TEKST" czyli sprawdzasz czy w każdym polu z tego zakresu jest spełniony warunek. Twój warunek jest tutaj realizowany według następującego schematu:
  • jeżeli w $K$10="TEKST" to w zakresie K11:K14 zastosuj wybrany styl,
    jeżeli w $L$10="TEKST" to w zakresie L11:L14 zastosuj wybrany styl,
    jeżeli w $O$10="TEKST" to w zakresie O11:O14 zastosuj wybrany styl,
    jeżeli w $P$10="TEKST" to w zakresie P11:P14 zastosuj wybrany styl, itd...
LibreOffice 7.4.6 (preferowany) oraz OpenOffice 4.1.6. Widows 10
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
Awatar użytkownika
Jermor
Posty: 2257
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Formatowanie warunkowe - obramowanie tabeli

Post autor: Jermor »

Moim zdaniem najlepiej jest to zrealizować następująco:
Dla jednego bloku danych przygotować dwa rodzaje formatowania warunkowego:
Dla obszaru G11:G14 -> G$10="TEKST"
Dla obszaru H11:H14 -> G$10="TEKST"
Teraz można zaznaczyć blok G11:H14 i skopiować go.
Następnie ustawić kursor w komórce K11 i wykonać "Wklej specjalnie", zaznaczając tylko opcję "Formaty" .
Powtórzyć to działanie dla każdego następnego bloku w tym szeregu.
Jeżeli analogiczny sposób formatowania warunkowego miałby wystąpić w kolejnym wierszu takich bloków, to po skopiowaniu formatów do pierwszego bloku danych w tym nowym wierszu, trzeba poprawić regułę formatowania i zamiast wiersza $10 wpisać właściwy numer wiersza wynikający z położenia tego szeregu. Teraz ponownie można skopiować ten poprawiony blok i wkleić specjalnie formatowanie do kolejnych elementów w tym samym szeregu.
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.
MarymeK
Posty: 34
Rejestracja: sob lis 24, 2018 1:20 am

Re: Formatowanie warunkowe - obramowanie tabeli

Post autor: MarymeK »

OK, jest to jakieś rozwiązanie ale jak tak robię to formatowanie jest uzależnione tylko od jednej komórki G10 zawierającej "TEKST".
Awatar użytkownika
Jermor
Posty: 2257
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Formatowanie warunkowe - obramowanie tabeli

Post autor: Jermor »

Nie wiem na który post odpowiadasz. Jeśli odwołujesz się zawsze do G10, to musiałeś w formatowaniach warunkowych wpisać $G$10 zamiast G$10.
Tak w ogóle, to można to formatowanie wykonać też tak: najpierw zaznaczyć wszystkie obszary odpowiadające temu leżącemu w kolumnie G. W przypadku tego załączonego pliku będą to G11:G14, K11:K14, O11:O14 oraz S11:S14 (zaznacza się trzymając przyciśnięty CTRL). Teraz można utworzyć formatowanie warunkowe wpisując formułę przewidzianą dla pierwszej zaznaczonej komórki. Jest to komórka G11 a wpisana formuła to G$10="TEKST"
Następnie ponownie zaznaczyć obszary tym razem odpowiadające temu leżącemu w kolumnie H, czyli H11:H14, L11:L14; P11:P14 i T11:T14 i wpisać tę samą formułę.
Wpisana formuła odnosi się względnie do pozostałych komórek w obszarach zaznaczonych. W kolumnie G we wszystkich komórkach (od G11 do G14) odniesienie będzie dotyczyć G10 bo zapis $10 wymusza utrzymanie stałego wiersza. W kolumnie K (komórki od K11 do K14) odniesienie dotyczyć będzie komórki K10, przy czym zawsze do 10. wiersza. Problem, który tu występuje, to dobre zrozumienie zasad odwołań względnych i bezwzględnych.
O formatowaniu warunkowym można poczytać choćby 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.
Awatar użytkownika
Rafkus
Posty: 516
Rejestracja: czw kwie 12, 2018 10:26 pm

Re: Formatowanie warunkowe - obramowanie tabeli

Post autor: Rafkus »

Można by do komórki L10 pobrać wartość z sąsiedniej komórki (wpisać do niej: =K10) i tak sformatować tekst aby był on niewidoczny (biały tekst na białym polu). Ale widzę że że tam masz już inną formułę...

Wymyśliłem inną formułę do warunku:

Kod: Zaznacz cały

 ADR.POŚR(ADRES(10;  CZ.CAŁK.DZIELENIA(KOLUMNA()+1;  4)*4-1)  ) = "TEKST" 
Funkcja ADRES oblicza i zwraca adres komórki do której wpisywany jest jakiś tekst w zależności od miejsca jej wpisania, czyli kolejno będzie zwracała adresy: $K$10, $O$10, $S$10...
Funkcja ADR.POŚR zwraca zawartość komórki, której adres obliczyła funkcja ADRES.
Ta formuła wpisana do arkusza, sprawuje się dobrze, bez problemu odczytuje kolejne teksty, ALE niestety (nie wiem czemu) wpisana do warunku, ma problem z aktualizacją formatowania.
LibreOffice 7.4.6 (preferowany) oraz OpenOffice 4.1.6. Widows 10
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
Awatar użytkownika
Jermor
Posty: 2257
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Formatowanie warunkowe - obramowanie tabeli

Post autor: Jermor »

Myślę, że nie trzeba aż tak kombinować. Należy zaznaczyć wszystkie obszary, które mają mieć to formatowanie warunkowe. Każdy taki obszar składa się z dwóch kolumn. Jako formatowanie warunkowe wpisać należy

Kod: Zaznacz cały

=LUB(F$10="TEKST";G$10="TEKST")
Do porównania w kolumnach będą brane teksty z wiersza 10 z kolumn F i G zatem dla kolumny G wynik warunku zależy od kolumny F i G a dla kolumny H zależy od kolumny G i H a w tym przypadku gdy pojawi się "TEKST" do dla obu obszarów wynik jest PRAWDA.
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