Poziom kodowania: początkujący
Czas trwania: 10 minut
Typ projektu: funkcja niestandardowa
Cele
- Dowiedz się, co robi rozwiązanie.
- Dowiedz się, jakie usługi Google Apps Script są wykorzystywane w rozwiązaniu.
- Skonfiguruj skrypt.
- Uruchom skrypt.
Informacje o rozwiązaniu
Jeśli oferujesz klientom system cen warstwowych, ta funkcja niestandardowa ułatwi Ci obliczanie kwot rabatów dla cen w Arkuszach Google.
Do obliczania cen warstwowych możesz użyć wbudowanej funkcji SUMPRODUCT, ale korzystanie z funkcji SUMPRODUCT jest bardziej skomplikowane i mniej elastyczne niż funkcja niestandardowa w tym rozwiązaniu.

Jak to działa
Model cenowy oparty na poziomach oznacza, że koszt towarów lub usług maleje w zależności od zakupionej ilości.
Załóżmy, że masz 2 poziomy: jeden w zakresie 0–500 PLN z rabatem 10% i drugi w zakresie 501–1000 PLN z rabatem 20%. Jeśli cena całkowita, dla której chcesz obliczyć rabat, wynosi 700 PLN, skrypt mnoży pierwsze 500 PLN przez 10%, a pozostałe 200 PLN przez 20%, co daje łączny rabat w wysokości 90 PLN.
W przypadku danej ceny łącznej skrypt przechodzi w pętli przez określone poziomy w tabeli cenowej. Każda część ceny całkowitej, która mieści się w danym przedziale, jest mnożona przez powiązaną z tym przedziałem wartość procentową. Wynik to suma obliczeń dla każdego poziomu.
Usługi Apps Script
To rozwiązanie korzysta z tej usługi:
- Usługa arkusza kalkulacyjnego: przyjmuje podaną wartość i oblicza, przez jaką część tej wartości należy pomnożyć procent rabatu w każdej kategorii.
Wymagania wstępne
Aby użyć tego przykładu, musisz spełnić te wymagania wstępne:
- Konto Google (w przypadku kont Google Workspace może być wymagana zgoda administratora).
- przeglądarkę internetową z dostępem do internetu,
Konfigurowanie skryptu
Aby utworzyć kopię arkusza kalkulacyjnego funkcji niestandardowej cen warstwowych, kliknij ten przycisk:
Projekt Apps Script dla tego rozwiązania jest dołączony do arkusza kalkulacyjnego.
Uruchamianie skryptu
- W skopiowanym arkuszu kalkulacyjnym tabela w wierszu 16 zawiera przykładowe obliczenia ceny produktu SaaS.
- Aby obliczyć kwotę rabatu, w komórce
C20wpisz=tierPrice(C19,$B$3:$D$6). Ostateczna cena zostanie zaktualizowana w komórceC21. Jeśli jesteś w lokalizacji, w której używa się przecinków dziesiętnych, może być konieczne wpisanie=tierPrice(C19;$B$3:$D$6).
Sprawdź kod
Aby sprawdzić kod Apps Script tego rozwiązania, kliknij Wyświetl kod źródłowy:
Pokaż kod źródłowy
Code.gs
Reguły przekształcania
Możesz dowolnie edytować funkcję niestandardową, aby dostosować ją do swoich potrzeb. Aby zobaczyć opcjonalny dodatek do ręcznego odświeżania wyników funkcji niestandardowej, kliknij Odśwież wyniki w pamięci podręcznej:
Odświeżanie wyników z pamięci podręcznej
W przeciwieństwie do funkcji wbudowanych Google buforuje funkcje niestandardowe, aby optymalizować skuteczność. Jeśli więc zmienisz coś w funkcji niestandardowej, np. obliczaną wartość, może to nie spowodować natychmiastowej aktualizacji. Aby ręcznie odświeżyć wynik funkcji, wykonaj te czynności:
- Dodaj pole wyboru do pustej komórki, klikając Wstaw > Pole wyboru.
- Dodaj komórkę zawierającą pole wyboru jako dodatkowy parametr funkcji niestandardowej. Jeśli na przykład dodasz pole wyboru do komórki
D20, zaktualizuj funkcjętierPrice()w komórceC20do=tierPrice(C19,$B$3:$D$6,D20). - Zaznacz lub odznacz pole wyboru, aby odświeżyć wyniki funkcji niestandardowej.
Współtwórcy
Ten przykład jest obsługiwany przez Google przy pomocy Ekspertów Google Developers.