Definiowanie formuły jest sposobem na przeliczenie danych, w wyniku którego uzyskujemy nowe wartości dla zmiennych.
Okno definiowania formuł wywołujemy poprzez Dane→Formuły…
Formuły przypisane do danej zmiennej arkusza jako format tej zmiennej są zapamiętywane wraz z arkuszem danych. Ich wynik zostaje automatycznie przeliczony, gdy zmieniona zostanie którakolwiek z danych wejściowych. Przypisania formuły można dokonać w oknie Formuły… lub poprzez ustawienie Formatu kolumny (Ctrl+F10).
Budowanie formuł
Formuły wprowadzamy w polu edycji
v1+v2Wyniki formuł
Wyniki formuł zostaną wyświetlone w wybranej kolumnie.
Jeżeli wśród argumentów funkcji wystąpią wartości, których funkcja nie potrafi zinterpretować, to program wyświetli komunikat pytający czy pominąć zmienne niezinterpretowane. Udzielenie odpowiedzi twierdzącej spowoduje przeliczenie formuły z pominięciem danych niezinterpretowanych. W przypadku udzielenia odpowiedzi przeczącej formuła zwróci błąd (NA). Przykładowo dla wartości w kolumnach v1, v2 i v3 odpowiednio: 1, 2, 'ada', funkcja sumowania sum(v1;v2;v3) zwróci wynik 3 - gdy pominiemy niezinterpretowaną wartość 'ada', lub zwróci NA - gdy nie pominiemy tej wartości w obliczeniach.
Wartość pusta (brak danych) zostanie zwrócona tylko wtedy, gdy wszystkie argumenty wykorzystywane w formule są puste.
Ilość wierszy biorących udział w formule możemy ograniczyć zaznaczając w arkuszu danych odpowiedni zakres wierszy i wybierając w oknie formuły opcję ogranicz wiersze do zaznaczenia.
dodawanie,
odejmowanie,
mnożenie,
dzielenie,
dzielenie modulo (w wyniku reszta z dzielenia),
większy,
mniejszy,
równy.
Funkcje matematyczne wymagają argumentów liczbowych.
ln(v1) - zwraca logarytm naturalny podanej liczby,
log10(v1) - zwraca logarytm przy podstawie 10 dla podanej liczby,
logn(v1) - zwraca logarytm przy podstawie
dla podanej liczby,
sqr(v1) - zwraca kwadrat podanej liczby,
sqrt(v1) - zwraca pierwiastek kwadratowy podanej liczby,
fact(v1) - zwraca silnię podanej liczby,
degrad(v1) - zwraca miarę kąta w radianach (argumentem funkcji są stopnie),
raddeg(v1) - zwraca miarę kąta w stopniach (argumentem funkcji są radiany),
sin(v1) - zwraca sinus podanego kąta, (argumentem funkcji są radiany),
cos(v1) - zwraca cosinus podanego kąta, (argumentem funkcji są radiany),
tan(v1) - zwraca tangens podanego kąta, (argumentem funkcji są radiany),
ctng(v1) - zwraca cotangens podanego kąta, (argumentem funkcji są radiany),
arcsin(v1) - zwraca arcus sinus podanego kąta, (argumentem funkcji są radiany),
arctan(v1) - zwraca arcus tangens podanego kąta, (argumentem funkcji są radiany),
exp(v1) - zwraca wartość liczby
podniesionej do potęgi określonej przez podaną wartość,
frac(v1) - zwraca część ułamkową podanej liczby,
int(v1) - zwraca część całkowitą podanej liczby,
abs(v1) - zwraca wartość bezwzględną podanej liczby,
odd(v1) - zwraca 1, gdy podana liczba jest parzysta, 0 w przeciwnym przypadku,
sum(v1;…) - zwraca wynik dodawania podanych liczb,
multip(v1;…) - zwraca wynik mnożenia podanych liczb,
power(v1;n) - zwraca wynik podniesienia liczby do potęgi
,
norme(v1;…) - zwraca normę euklidesową wektora,
round(v1;n) - zwraca liczbę zaokrągloną do
miejsc po przecinku.
Funkcje statystyczne wymagają argumentów liczbowych.
stand(v1) - zwraca wystandaryzowaną wartość podanej zmiennej,
max(v1,…) - zwraca wartość największą,
min(v1,…) - zwraca wartość najmniejszą,
mean(v1,…) - zwraca wartość średniej arytmetycznej,
meanh(v1,…) - zwraca wartość średniej harmonicznej,
meang(v1,…) - zwraca wartość średniej geometrycznej,
median(v1,…) - zwraca wartość mediany,
q1(v1,…) - zwraca wartość kwartyla dolnego,
q3(v1,…) - zwraca wartość kwartyla górnego,
cv(v1,…) - zwraca wartość współczynnika zmienności,
range(v1,…) - zwraca wartość rozstępu,
iqrange(v1,…) - zwraca wartość rozstępu kwartylowego,
variance(v1,…) - zwraca wartość wariancji,
sd(v1,…) - zwraca wartość odchylenia standardowego.
Funkcje tekstowe działają na dowolnym ciągu znaków.
upperc(v1) - konwertuje znaki z łańcucha na wielkie,
lowerc(v1) - konwertuje znaki z łańcucha na małe,
clean(v1) - usuwa znaki, które nie mogą być drukowane,
trim(v1) - usuwa przednie i końcowe spacje,
length(v1) - zwraca długość łańcucha znaków,
search('abc';v1) - zwraca pozycję początku szukanego tekstu,
concat(v1;…) - łączy teksty,
compare(v1;…) - porównuje teksty,
copy(v1;i;n) - zwraca część tekstu począwszy od i-tego znaku, gdzie n - to ilość zwracanych znaków,
count(v1;…) - zwraca ilość komórek, które nie są puste,
counte(v1;…) - zwraca ilość pustych komórek,
countn(v1;…) - zwraca ilość komórek, które zawierają liczby.
Funkcje daty i czasu powinny być wykonywane na danych sformatowanych jako data lub jako czas (patrz format). Jeśli tak nie jest, program stara się automatycznie rozpoznać format, a gdy nie jest to możliwe zwraca wartość NA.
year(v1;) - zwraca rok odpowiadający dacie,
month(v1;) - zwraca miesiąc odpowiadający dacie,
day(v1;) - zwraca dzień odpowiadający dacie,
hour(v1;) - zwraca godzinę odopowiadającą podanemu czasowi,
minute(v1;) - zwraca minutę odopowiadającą podanemu czasowi,
second(v1;) - zwraca sekundę odopowiadającą podanemu czasowi,
yeardiff(v1;v2) - zwraca liczbę lat różniącą dwie daty,
monthdiff(v1;v2) - zwraca liczbę miesięcy różniącą dwie daty,
weekdiff(v1;v2) - zwraca liczbę tygodni różniącą dwie daty,
daydiff(v1;v2) - zwraca liczbę dni różniącą dwie daty,
hourdiff(v1;v2) - zwraca liczbę godzin różniącą dwa czasy,
minutediff(v1;v2) - zwraca liczbę minut różniącą dwa czasy,
seconddiff(v1;v2) - zwraca liczbę sekund różniącą dwa czasy,
compdate(v1;v2) - porównuje daty i zwraca liczbę 1 gdy v1>v2; 0 gdy v1=v2, -1 gdy v1<v2.
if(pytanie;'tak - odpowiedź';'nie - odpowiedź') - pytanie formułuje się w formie twierdzenia, które może być prawdziwe lub fałszywe; funkcja zwraca jedną wartość jeśli twierdzenie jest prawdziwe a drugą jeśli jest fałszywe,
and - operator koniunkcji - zwraca prawdę (1) gdy wszystkie warunki, które łączy są prawdziwe, fałsz (0) w przeciwnym wypadku,
or - operator alternatywy zwraca prawdę (1) gdy przynajmniej jeden z łączonych przez nią warunków jest prawdziwy, fałsz (0) w przeciwnym wypadku,
xor - operator alternatywy rozłącznej - zwraca prawdę (1) gdy jeden z łączonych przez nią warunków jest prawdziwy, fałsz (0) w przeciwnym wypadku,
not - operator negacji używany w wyrażeniu warunkowym if,
empty(v1) - zwraca prawdę (1) gdy występują puste komórki, fałsz (0) w przeciwnym przypadku,
text(v1) - zwraca prawdę (1) gdy występuje tekst, fałsz (0) w przeciwnym przypadku,
number(v1) - zwraca prawdę (1) gdy występuje liczba, fałsz (0) w przeciwnym przypadku.