Zagnieżdżanie funkcji

Z Planfix
Skocz do: nawigacja, szukaj

Funkcje w Planfix obsługują zagnieżdżanie. Oznacza to, że dowolny z argumentów function można zastąpić inną funkcją, o ile typ wyniku (string, number, date) pasuje do typu funkcji, do której go dodajesz.

Ważne

Wszystkie funkcje użyte zamiast argumentu w innej funkcji muszą zawierać liczbę argumentów i kolejność określone w sekcji pomocy dla dodawanej funkcji.

Funkcja CONCATENATE

Funkcja CONCATENATE zawiera trzy argumenty:

CONCATENATE("Text_1";"Separator";"Text_2")

Argumenty:

  • Text_1 — tekst do połączenia. Zamiast argumentu możesz dodać inną funkcję zwracającą tekst.
  • Separator — może być dowolny, nawet spacja — ". "
  • Text_2 — tekst do połączenia. Zamiast argumentu możesz dodać inną funkcję zwracającą tekst.

Zamiast argumentu Text_1 możesz dodać inną funkcję zwracającą tekst. Na przykład dodać kolejną funkcję CONCATENATE. Ważne jest podanie wszystkich argumentów funkcji zgodnie z instrukcją:

CONCATENATE(CONCATENATE("Text_1";"Separator";"Text_2");"Separator";"Text_2")

Zauważ, że funkcja dodana zamiast argumentu nie musi być ujęta w podwójne cudzysłowy.

Argumenty dla nowej funkcji:

  • CONCATENATE("Text_1";"Separator";"Text_2")
  • Text_2

Tą metodą można tworzyć funkcje o różnych poziomach zagnieżdżenia.

Funkcja IF

Zawiera trzy argumenty:

IF(condition;value_yes;value_no)

Argumenty:

  • Condition — wyrażenie logiczne z operatorami >, <, =, >=, <=, !=, inną funkcją lub wartością. Często używana jest funkcja AND.
  • value_yes — wartość numeryczna lub tekstowa, wynik funkcji gdy warunek jest spełniony.
  • value_no — wartość numeryczna lub tekstowa, wynik funkcji gdy warunek nie jest spełniony.

Zamiast warunku możesz użyć funkcji AND:

AND(condition1;condition2)

W rezultacie funkcja IF będzie wyglądać tak:

IF(AND(condition1;condition2);value_yes;value_no)

Jeśli zadanie jest bardziej złożone, na przykład funkcja musi sprawdzać trzy warunki jednocześnie, użyj zagnieżdżenia funkcji AND:

IF(AND(AND(condition1;condition2);condition2);value_yes;value_no)

Na przykład:

IF(AND(AND({{System.Today.Number}}=19;{{{Task.Full days}}>15);In queue="In progress");"Finishing";"Something is missing")

Przejdź do