Przykłady zastosowania formuł
Kolumna Formula to jeden z popularniejszych sposobów przetwarzania danych w monday.com. Dzięki bibliotece dostępnych funkcji kolumna Formula pomaga rozwiązywać złożone problemy - od prostych obliczeń matematycznych po bardziej skomplikowane formuły.
Poniżej znajdziesz kilka najczęstszych sposobów użycia kolumny Formula ⬇️
Wskazówka: Aby przejść do tablicy z przykładami zastosowania formuł, kliknij tutaj. Możesz skopiować dowolną formułę i wkleić ją bezpośrednio na własnej tablicy.
Dlaczego automatyzacja lub e-mail nie działa z kolumną Formula
Jeśli próbujesz uruchomić automatyzację po zmianie wartości w kolumnie Formula, użyć wyniku formuły w automatycznym e-mailu lub powiadomieniu albo wyświetlić go na wykresie lub widżecie pulpitu, ale nie działa to zgodnie z oczekiwaniami, przyczyną jest opisane niżej ograniczenie.
Kolumna Formula dynamicznie oblicza wynik i jest tylko do odczytu. Dlatego nie może uruchamiać automatyzacji (na przykład „gdy wartość formuły przekroczy 80%, zmień status”). Jej wynik nie zawsze jest też rozpoznawany przez automatyczne e-maile, powiadomienia, wykresy, widżety pulpitu ani działania między tablicami, takie jak odzwierciedlanie lub kopiowanie danych między tablicami.
Uwaga: Takie działanie jest zgodne z oczekiwaniami i nie wynika z błędnej konfiguracji. Poniższe obejście sprawdza się w najczęstszych przypadkach.
Standardowe obejście: skopiuj wynik formuły do zwykłej kolumny
Najbardziej niezawodnym rozwiązaniem we wszystkich tych przypadkach - automatyzacji, e-maili, powiadomień, wykresów, pulpitów, kolumn odzwierciedlających i kopiowania między tablicami - jest skopiowanie wyniku formuły do zwykłej kolumny Numbers lub Text za pomocą workflow. Następnie ustaw automatyzację, e-mail lub widżet tak, aby korzystały z tej kolumny.
Aby to skonfigurować:
-
Dodaj do tablicy zwykłą kolumnę Numbers lub Text, która będzie pełnić funkcję pomocniczą.
-
Utwórz workflow, który kopiuje wartość z kolumny Formula do kolumny pomocniczej za każdym razem, gdy zmienią się odpowiednie dane elementu.
-
Skonfiguruj wyzwalacz automatyzacji, działanie e-mail, wykres lub widżet pulpitu tak, aby korzystał z kolumny pomocniczej zamiast z kolumny Formula.
Wskazówka: To samo rozwiązanie sprawdzi się, gdy kolumna Formula wyświetla zero na wykresie lub widżecie, automatyczny e-mail nie zawiera wartości formuły albo odzwierciedlana kolumna Formula nie działa zgodnie z oczekiwaniami na innej tablicy.
Dodawanie lub odejmowanie dni od daty
W tym przykładzie chcemy dodać 15 dni do każdej daty z kolumny „Data rozpoczęcia” (Start Date):
ADD_DAYS(``{Start Date},15``)
Jeśli chcemy odjąć 15 dni, zamiast funkcji ADD_DAYS() użyjemy funkcji SUBTRACT_DAYS().
SUBTRACT_DAYS(``{Start Date},15``)
Obie powyższe formuły wyświetlą wynik bez formatowania, który może wyglądać nieczytelnie. Dlatego zalecamy użycie poniższej formuły. Jej wynik jest sformatowany i będzie czytelniejszy na tablicy:
FORMAT_DATE(``ADD_DAYS(``{Start Date},15``)``)

Jeśli chcesz usunąć rok i wyświetlać tylko miesiąc oraz dzień, możesz dodatkowo dostosować formułę, używając funkcji LEFT(). W poniższej formule funkcja LEFT() pobiera wynik funkcji FORMAT_DATE() i zwraca tylko 6 znaków od lewej:
LEFT(``FORMAT_DATE(``ADD_DAYS(``{Start Date},15``)``)``,6``)
Zmiana liczby 6 w formule zmienia liczbę zwracanych znaków. Wyniki tej formuły widać w kolumnie „LEFT” (LEFT):

Obliczanie liczby dni między datą a dzisiejszym dniem
Przydatną, dynamiczną funkcją jest TODAY(). W połączeniu z funkcją DAYS() pozwala obliczyć liczbę dni pozostałych do terminu lub dni, o które termin już minął. Przy użyciu funkcji TODAY() nie musisz wpisywać niczego w nawiasach.
Wynik funkcji DAYS() umieściliśmy także w funkcji ROUND(). W tym przypadku określamy, że wynik ma być zaokrąglony do 0 miejsc po przecinku.
ROUND(``DAYS(``{Due Date},``TODAY()``)``,0``)

Obliczanie liczby dni roboczych między dwiema datami
Jeśli używasz tablicy do śledzenia wniosków urlopowych pracowników, formuła może pomóc obliczyć liczbę dni roboczych, których pracownik potrzebuje. Funkcja WORKDAYS() zwraca liczbę dni roboczych między dwiema datami. Zgodnie z ustawieniami konta dni robocze obejmują okres od poniedziałku do piątku albo od niedzieli do czwartku. Więcej informacji o tym ustawieniu znajdziesz w tym artykule.
WORKDAYS(``{To},{From}``)

Obliczanie długości osi czasu (liczby dni lub dni roboczych)
Jeśli masz kolumnę Timeline i chcesz wyświetlić jej długość w osobnej kolumnie, możesz to zrobić na dwa sposoby:
Opcja A - natywne połączenie (bez formuły): Dodaj do tablicy kolumnę Numbers. Kliknij menu z trzema kropkami w kolumnie Numbers → Ustawienia (Settings) → Połącz z kolumną Timeline (Connect to a Timeline column). monday.com automatycznie obliczy długość w dniach.
Opcja B - kolumna Formula z funkcją WORKDAYS: Jeśli chcesz pominąć weekendy, dodaj kolumnę Formula i użyj formuły:
WORKDAYS({Timeline#End},{Timeline#Start})
Zwraca ona liczbę dni roboczych między datą rozpoczęcia a datą zakończenia osi czasu. Przyrostki #End i #Start wskazują daty zakończenia i rozpoczęcia w kolumnie Timeline.
Obliczanie kwoty do rozliczenia za pomocą kolumny Time Tracking
Gdy używasz kolumny Time Tracking razem z kolumną Formula, możesz wybrać, czy chcesz pobrać sekundy, minuty czy godziny. W poniższej formule używamy godzin z kolumny „Do rozliczenia” (Billable). Ponownie korzystamy z funkcji ROUND(), aby uporządkować miejsca po przecinku. Liczba 2 w tej formule oznacza dwa miejsca po przecinku.
ROUND(``MULTIPLY(``{Billable#Hours},{Hourly Rate}``)``,2``)

Sumowanie przepracowanych godzin z pominięciem przerw
W tym przykładzie chcę obliczyć czas pracy moich kontraktorów, bez uwzględniania niepłatnych przerw. Mogę to zrobić za pomocą formuły i czterech kolumn Hour.
IF(``HOURS_DIFF(``{Break End}, {Break Start}``) > "0", HOURS_DIFF(``HOURS_DIFF(``{End}, {Start}``)``, HOURS_DIFF(``{Break End}, {Break Start}``)``)``, HOURS_DIFF(``{End}, {Start}``)``)
Formuła sprawdza, czy przerwa trwała dłużej niż 0. Jeśli tak, oblicza łączny czas pracy i odejmuje od niego czas przerwy. Jeśli przerwa nie trwała dłużej niż 0, oblicza łączny czas pracy.
Tak działa ta formuła:

Obliczanie zmiany między dwiema wartościami
Na tej tablicy śledzimy łączną sprzedaż czterech pracowników w poszczególnych miesiącach. Aby obliczyć procentową zmianę między wynikami ze stycznia i lutego, użyj tej formuły:
MULTIPLY(``DIVIDE(``MINUS(``{February Sales},{January Sales}``)``,{January Sales}``)``,100``)
Tę formułę można też zapisać tak:
(``(``(``{February Sales}-{January Sales}``)``/{January Sales}``)``*100``)

Zwracanie wartości na podstawie dwóch warunków
Teraz obliczymy premie dla poszczególnych pracowników. Pracownik otrzyma premię tylko wtedy, gdy wartość w kolumnie „Łączna sprzedaż” (Total Sales) przekroczy 350 000 USD i liczba transakcji w kolumnie „Transakcje” (Deals) będzie większa niż 12:
IF(``AND(``{Total Sales}>350000,{Deals}>12``)``,250,0``)
Funkcja AND() sprawdza, czy oba warunki są spełnione. Na podstawie wyniku instrukcja IF() informuje kolumnę Formula, którą wartość ma zwrócić.

Używanie etykiet statusu do przypisywania stawek prowizji
Załóżmy, że zarządzasz zespołem sprzedaży, w którym poszczególni sprzedawcy mają różne stawki prowizji. Możesz użyć etykiet z kolumny statusu, aby wskazać w formule konkretną stawkę:
IF(``{Rate}="Rate 1",25,``IF(``{Rate}="Rate 2",20,``IF(``{Rate}="Rate 3",15,``IF(``{Rate}="Rate 4",10,``IF(``{Rate}="Rate 5",5``)``)``)``)``)
Kolumna „Prowizja %” (Commission %) wyświetla odpowiednią stawkę na podstawie wybranej etykiety statusu.

Możesz rozbudować tę formułę i obliczyć prowizję na podstawie stawki oraz wartości z kolumny „Łączna sprzedaż” (Total Sales), używając funkcji MULTIPLY(). Pamiętaj, że jeśli używasz w formule liczby dziesiętnej, musisz zapisać ją jako 0.25, a nie .25. W przeciwnym razie formuła zwróci błąd.
IF(``{Rate}="Rate 1",``MULTIPLY(``0.25,{Total Sales}``)``,``IF(``{Rate}="Rate 2",``MULTIPLY(``0.20,{Total Sales}``)``,``IF(``{Rate}="Rate 3",``MULTIPLY(``0.15,{Total Sales}``)``,``IF(``{Rate}="Rate 4",``MULTIPLY(``0.10,{Total Sales}``)``,``IF(``{Rate}="Rate 5",``MULTIPLY(``0.05,{Total Sales}``)``)``)``)``)``)

Porównywanie wartości dynamicznej z wartością stałą
Jeśli używasz tablicy do śledzenia budżetu, ta formuła może Ci się przydać. W tym przykładzie budżet każdego pracownika na podróże wynosi 6 500 USD. Chcemy sprawdzić, czy łączna kwota wydatków na danego pracownika mieści się w budżecie, czy go przekracza. W tym celu porównamy sumę SUM() wartości z czterech kolumn z budżetem, używając instrukcji IF().
IF(``SUM(``{Flight},{Hotel},{Insurance},{Expenses}``)``>6500, "Over Budget","Good"``)

Śledzenie zapasów
Możesz łatwo zarządzać zapasami w monday.com. W tym przykładzie pokazujemy, jak obliczyć aktualną dostępną ilość towaru i procent sprzedanych zapasów.
Dla kolumny „Na stanie” (In Stock):
MINUS(``MINUS(``{Starting Inventory},{Reserved}``)``,{Sold}``)

Dla kolumny „Sprzedano %” (% Sold):
ROUND(``MULTIPLY(``DIVIDE(``{Sold},{Starting Inventory}``)``,100``)``,2``)

Formatowanie formuły
Za pomocą funkcji TEXT() możesz sformatować wyniki tak, jak chcesz. Weźmy prosty przykład z pierwszego wiersza poniższej tablicy. Chcemy pomnożyć 100 przez 25 i wyświetlić wynik jako 2 500,00 USD.
TEXT(``MULTIPLY(``{Starting Inventory},{Cost}``)``,"$#,##.00"``)

W ostatniej części formuły każdy znak # oznacza cyfrę. Dodaliśmy .00 na końcu, ponieważ wynik ma kończyć się dwoma zerami. Możesz jednak zastąpić tę część przez .##, jeśli wynik ma wyświetlać obliczone wartości. Symbol $ umieszcza znak waluty przed liczbą.
Pamiętaj, że gdy formatujesz liczbę za pomocą funkcji TEXT(), kolumna Formula odczytuje ją jako tekst, a nie liczbę. Oznacza to, że podsumowanie kolumny wyświetli „N/D” (jak wyżej) zamiast sumy, średniej itp. wartości widocznych w kolumnie Formula.
Wyświetlanie dnia tygodnia lub godziny dla elementu
Aby wyświetlić dzień tygodnia z kolumny Date, dodaj kolumnę Formula i użyj formuły:
TEXT({Date},"dddd")
Zwraca ona pełną nazwę dnia (na przykład „Monday”). Aby wyświetlić skróconą nazwę (na przykład „Mon”), użyj formuły:
TEXT({Date},"ddd")
Aby wyodrębnić godzinę z kolumny Creation Log lub Last Updated, użyj formuły:
HOUR({Creation Log})
Uruchamianie działania tylko w godzinach pracy
Natywne automatyzacje nie mogą sprawdzić, o której godzinie utworzono element. Aby uruchamiać działania tylko w określonych godzinach lub dniach, zastosuj to wieloetapowe rozwiązanie:
1. Dodaj do tablicy kolumnę Creation Log. Automatycznie zapisuje ona datę i godzinę utworzenia każdego elementu.
2. Dodaj kolumnę Formula, aby sprawdzać warunek. Dla godzin pracy od poniedziałku do piątku, w godzinach 9:00–18:00:
IF(AND(HOUR({Creation Log})>=9, HOUR({Creation Log})<18, WEEKDAY({Creation Log})>=2, WEEKDAY({Creation Log})<=6), "Yes", "No")
Formuła zwraca „Yes”, jeśli element został utworzony w godzinach pracy, a w przeciwnym razie „No”.
3. Przejdź do Automatyzuj (Automate) → Workflowy (Workflows). Utwórz workflow: Gdy element zostanie utworzony → Zmień wartość kolumny (ustaw kolumnę Status na podstawie wyniku formuły) → Kontynuuj tylko, jeśli Status to „Yes” → wykonaj działanie.
Uwaga: Funkcja WEEKDAY zwraca 1 dla niedzieli i 7 dla soboty, więc dni robocze mają wartości od 2 do 6.
Podsumowywanie liczb w kolumnie Mirror
Kolumna Formula może służyć do podsumowywania danych z kolumny Mirror, o ile odzwierciedlana kolumna jest kolumną Numbers. Aby utworzyć takie podsumowanie, dodaj do tablicy kolumnę Formula i użyj tej funkcji:
SUM(``{Mirror}``)
W tym przykładzie użyjemy kolumny Mirror na tablicy wysokiego poziomu, aby wyświetlić budżet projektu. Kolumna „Budżet” (Budget) jest kolumną Numbers z powiązanej tablicy niższego poziomu.

Kolumna Formula pobierze wtedy liczby z kolumny Mirror i wyświetli podsumowanie na dole kolumny.

Wskazówka: Chcesz rozszerzyć możliwości kolumny Formula? Odwiedź marketplace aplikacji, aby poznać popularne aplikacje, które rozszerzają możliwości kolumny Formula na platformie.
Ograniczenia
Poniżej znajdziesz typowe ograniczenia, które warto uwzględnić podczas tworzenia formuł na tablicy:
- Kolumna Formula oblicza wartości w poziomie (dla każdego elementu) i nie może sumować całej kolumny. Kolumna Formula może odwoływać się do wartości w innych kolumnach tego samego elementu (wiersza), ale nie działa tak jak Excel, który pozwala sumować całą kolumnę wartości z wielu elementów. Jeśli potrzebujesz sumy dla wielu elementów, użyj podsumowania kolumny Numbers na dole kolumny albo widoku tablicy lub pulpitu, aby zestawić dane.
- Wyników formuły nie można zapisywać w innych kolumnach (na przykład w kolumnie Date). Formuła może wyświetlić obliczony wynik w kolumnie Formula, ale sama nie może wypełnić innej kolumny na platformie. Jeśli chcesz skopiować wynik formuły do innej kolumny, użyj workflow jako obejścia.
- Kolumny Formula nie mogą bezpośrednio uruchamiać automatyzacji ani uzupełniać automatycznych e-maili, wykresów lub widżetów pulpitu. Ponieważ wynik formuły jest tylko do odczytu, automatyzacje, działania e-mail, powiadomienia i większość widżetów nie rozpoznają go jako wartości standardowej kolumny. Aby to obejść, skopiuj wynik formuły do zwykłej kolumny za pomocą workflow, a następnie ustaw automatyzację lub widżet tak, aby korzystały z tej kolumny. Pełną instrukcję konfiguracji znajdziesz w sekcji Dlaczego automatyzacja lub e-mail nie działa z kolumną Formula powyżej.
- Kolumny Formula ze zwierciadlanych lub sklonowanych tablic mogą nie działać zgodnie z oczekiwaniami. Jeśli kopiujesz tablicę, używasz kolumny Mirror odwołującej się do kolumny Formula albo aplikacji do przenoszenia danych między tablicami, wynik formuły może nie zostać prawidłowo przeniesiony. Zastosuj to samo obejście: najpierw skopiuj wynik formuły do zwykłej kolumny, a następnie użyj tej kolumny w automatyzacji lub konfiguracji między tablicami.
- Błąd „Unsupported column with calculation” w edytorze formuł. Ten błąd pojawia się, gdy formuła odwołuje się do kolumny Numbers, która działa jak pole obliczeniowe, a nie standardowa kolumna wejściowa. Jeśli pojawi się ten błąd, sprawdź, czy kolumna, do której odwołuje się formuła, sama jest kolumną typu Formula lub innym typem kolumny obliczeniowej. Jeśli to możliwe, zastąp ją standardową kolumną Numbers.
Najczęściej zadawane pytania
Czy mogę użyć kolumny Formula, aby uruchomić automatyzację w monday.com?
Nie bezpośrednio. Kolumny Formula są tylko do odczytu i nie mogą uruchamiać automatyzacji. Możesz obejść to ograniczenie, kopiując wynik formuły do zwykłej kolumny Numbers za pomocą workflow. Następnie skonfiguruj automatyzację tak, aby uruchamiała się na podstawie tej kolumny.
Dlaczego wartość formuły nie wyświetla się w automatycznym e-mailu lub powiadomieniu?
Działania e-mail i powiadomienia w monday.com nie zawsze rozpoznają wynik formuły. Skopiuj wynik formuły do zwykłej kolumny za pomocą workflow, a następnie użyj tej kolumny w działaniu e-mail lub powiadomienia.
Dlaczego wykres lub widżet pulpitu pokazuje zero dla kolumny Formula?
Niektóre wykresy i widżety pulpitu nie odczytują wyników kolumny Formula tak samo jak standardowych wartości liczbowych. Skopiuj wynik formuły do zwykłej kolumny Numbers za pomocą workflow, a następnie ustaw widżet tak, aby korzystał z tej kolumny. Dzięki temu wyświetli prawidłowe wartości.
Co oznacza błąd
Ten błąd pojawia się, gdy formuła odwołuje się do kolumny, która sama jest obliczana, a nie stanowi standardowej wartości wejściowej. Sprawdź, czy wskazana kolumna jest kolumną typu Formula lub innym typem kolumny obliczeniowej. Jeśli to możliwe, zastąp ją standardową kolumną Numbers.
Czy mogę skopiować wynik kolumny Formula do innej tablicy w monday.com?
Wynik formuły nie zawsze jest prawidłowo przenoszony podczas klonowania tablicy, używania kolumny Mirror lub przenoszenia danych między tablicami za pomocą aplikacji. Najpierw skopiuj wynik formuły do zwykłej kolumny za pomocą workflow, a następnie użyj tej kolumny jako źródła działania między tablicami.