====== LibreOffice Calc ======
===== Formuła i funkcja to nie jest to samo =====
==== Przykład funkcji zapisanej w komórce F10 ====
=A1+A2+A3
==== Przykład formuły zapisanej w komórce F10 ====
=SUMA(A1:A3)
==== Przykład formuły której wynikiem będzie działanie na dwóch funkcjach zapisanych w komórce F10 ====
=SUMA(A1:A3)+SUMA(A4:A8)
===== Wstęp =====
Należy zwrócić uwagę czy nazwa danej funkcji występuje w naszej wersji LibreOffice. Miałem taki przypadek że funkcja ''ILE.NIEPUSTYCH'' została później zmieniona na ''NIEPUSTE''. W tym wypadku niektóre funkcje, które wcześniej działały mogą już nie działć i wymagają korekty.
===== Dokument Calc =====
Trzeba pamiętać, że dokument calc czyli plik .ods jest skoroszytem. W tym skoroszycie znajdują się arkusze. Arkusze nie są tabelami chociaż na takie wyglądają i mogą pełnić taką funkcję. W tych arkuszach mogą znajdować się zorganizowane dane w formie tabeli. Dana tabela może obejmować cały arkusz i to jest ten przypadek gdy arkusz to tabela.
Na jednym arkuszu mogą się znajdować dwie lub więcej tabel i to jest sytuacja, która potwierdza, że arkusz nie jest tabelą. Dla ułatwienia niezależnie od sytuacji, zawsze trzeba się posługiwać odpowiednim określeniem. Nawet jeżeli arkusz jest tabelą bo zawiera tylko jedną tabele i omawiamy fragment zawierający dane to mamy na myśli tabele, a nie arkusz.
===== Powolne działanie arkusza =====
W przypadku stosowania złożonych funkcji i arkuszami gdzie danych jest dużo, a dysponujemy słabym sprzętem działanie arkusza może być powolne przy wprowadzaniu danych. Przyczyną może być automatyczne obliczanie arkusza po każdej zmianie. Można to wyłączyć w **Menu -> Dane -> Oblicz -> Oblicz automatycznie**. Działanie arkusza powinno znacznie przyśpieszyć a aktualizację arkusza wykonujemy z Menu lub klawiszem **F9** albo całego skoroszytu przez **Ctrl + Shift + F9**.
Dobrą rzeczą jest to, że opcja **Oblicz automatycznie** jest przypisana do skoroszytu. Z tego względu dla małych ilości danych możemy ją mieć włączoną a tam gdzie aktualizacja trwa długo możemy ją wyłączyć.
===== Optymalizacja arkusza w celu przyśpieszenia jego działania =====
Funkcja ''WYSZUKAJ.PIONOWO'' jest jedną z przydanych funkcji w celu porównania danych. Przydaje się do porównania z danymi, które uprzednio zostały zaimportowane z innych źródeł. Jeżeli danych jest stosunkowo mało nie musimy się przejmować optymalizacją użytych funkcji. Problem pojawia się wówczas gdy porównujemy dane, które zawierają dziesiątki tysięcy rekordów.
Przypuśćmy, że posiadamy tabele z numerem pesel osoby. W innej tabeli mamy zaimportowane mnóstwo rekordów z peselem, imieniem, nazwiskiem, adresem itd. Jeżeli do naszej tabeli będziemy chcieli na podstawie peselu przyrównać poszczególne kolumny to jeśli zastosujemy ''WYSZUKAJ.PIONOWO'' program będzie musiał każdorazowo szukać każdą kolumnę osobno.
Zamiast tego szukanie rekordu powinno odbywać się **tylko jeden raz** za pomocą funkcji ''PODAJ.POZYCJĘ''. Funkcja poda nam numer rekordu gdzie znajdują się dane osoby. Następnie za pomocą funkcji ''INDEKS'' odczytujemy dane z poszczególnych kolumn. Oczywiście funkcje powinno się uzupełnić o obsługę błędów, które z dużym prawdopodobieństwem mogą wystąpić. W tym przypadku może to być funkcja ''JEŻELI.BRAK''.
===== Sprzęt dla Libre Office =====
Niestety nie jest w pełni zoptymalizowany do wykorzystania wielu rdzeni procesora w wielu operacjach. Sytuację może poprawić użycie maszyny z procesorem który oferuje wysoką częstotliwość bazową i efektywną architekturę. Spośród starszych procesorów Intel Core **i7-4790K** i **i7-7700K** nadal mogą być dobrym wyborem, jeśli używasz starszych komputerów.
Współczesne procesory, takie jak Intel Core i9-13900K lub AMD Ryzen 9 7950X, oferują najwyższą możliwą wydajność jednowątkową, ale nawet modele takie jak Core **i5-12600K** powinny spełniać wymagania z zapasem mocy.
Dodatkowo sytuację może poprawić posiadanie karty graficznej ze wsparciem **OpenCL** przykładowo: **NVIDIA GT 1030**, **GTX 1050**, lub **GTX 1050 Ti**
Kolejna sprawa to wiadro pamięci RAM i dysk SSD.
===== Formatowanie warunkowe =====
==== Zmiana koloru tła wiersza tabeli ====
Przykładowo mamy zakres tabeli **A1:J10**, czyli 10 kolumn na 10 wierszy. Chcemy aby nastąpiła zmiana koloru tła wiersza gdzie zostanie spełniony warunek w komórce kolumny **A**. Zakładamy, że jeżeli w kolumnie **A** w komórce pojawi się cyfra jeden to wiersz ma otrzymać formatowanie ze stylu **Błąd**. Tło komórek zmieni kolor na czerwony.
Zaznaczamy zakres **A1:J10**. ''Wybieramy Format -> Warunkowe -> Zarządzaj -> Dodaj -> Formuła to'', w oknie formuły wpisujemy ''$A1=1'' a ''Zastosuj styl'' zmieniamy na **Błąd**.
Zatwierdzamy i sprawdzamy działanie wpisując wartości 1 w komórki kolumny A.
Jeżeli dla tego samego zakresu dodamy kolejny **Format warunkowy** to pierwszy z góry będzie miał pierwszeństwo przed dodanymi po nim. Aby mieć możliwość zmiany kolejności nie dodajemy w głównym oknie nowego formantu tylko edytujemy istniejący. Następnie w nim dodajemy kolejną regułę. Równica jest taka, że w tym oknie nie musimy definiować ponownie zakresu **A1:J10** oraz możemy dowolnie zmieniać kolejność reguł.
==== Zmiana koloru tła kolumny tabeli ====
Wszystko tak samo jak powyżej ale w ''Formuła to'', w oknie formuły wpisujemy ''$A1=1''. W tym przykładzie jeżeli w pierwszym wierszy w dowolnej komórce wpiszemy wartość **1** to cała kolumna otrzyma zdefiniowane formatowanie.
==== Zmiana koloru tła tabeli ====
Jeżeli natomiast wpiszemy warunek ''$A$1=1'' to jeżeli w komórce **A1** wpiszemy wartość **1** to cała otrzyma zdefiniowane formatowanie.
===== Przydatne funkcje =====
* [[fedora:aplikacje:calc:adrposr|Funkcja ADR.POŚR]]
* [[fedora:aplikacje:calc:czybl|Funkcja CZY.BŁ]]
* [[fedora:aplikacje:calc:czyblad|Funkcja CZY.BŁĄD]]
* [[fedora:aplikacje:calc:czypusta|Funkcja CZY.PUSTA]]
* [[fedora:aplikacje:calc:ileniepustych|Funkcja ILE.NIEPUSTYCH]]
* [[fedora:aplikacje:calc:niepuste|Funkcja NIEPUSTE]]
* [[fedora:aplikacje:calc:indeks|Funkcja INDEKS]]
* [[fedora:aplikacje:libreoffice:calc:jezeli|Funkcja JEŻELI]]
* [[fedora:aplikacje:libreoffice:calc:jezeliblad|Funkcja JEŻELI.BŁĄD]]
* [[fedora:aplikacje:libreoffice:calc:jezelibrak|Funkcja JEŻELI.BRAK]]
* [[fedora:aplikacje:libreoffice:calc:liczbawierszy|Funkcja LICZBA.WIERSZY]]
* [[fedora:aplikacje:libreoffice:calc:podajpozycje|Funkcja PODAJ.POZYCJĘ]]
* [[fedora:aplikacje:libreoffice:calc:typ|Funkcja TYP]]
* [[fedora:aplikacje:libreoffice:calc:wyszukajpionowo|Funkcja WYSZUKAJ.PIONOWO]]
* [[fedora:aplikacje:libreoffice:calc:filtruj|Funkcja FILTRUJ]]
* [[fedora:aplikacje:libreoffice:calc:tekst|Funkcja TEKST]]
* [[fedora:aplikacje:libreoffice:calc:czyliczba|Funkcja CZY.LICZBA]]
* [[fedora:aplikacje:libreoffice:calc:sumawarunkow|Funkcja SUMA.WARUNKÓW]]
===== Wyrażenia regularne w Calc =====
Jeżeli klasyczne filtrowanie nas ogranicza możemy się zdecydować na użycie [[fedora:aplikacje:libreoffice:calc:regexp|wyrażeń regularnych]].