Poziom kodowania: początkujący
Czas trwania: 10 minut
Typ projektu: funkcja niestandardowa
Cele
- Dowiedz się, co robi rozwiązanie.
- Dowiedz się, jakie funkcje pełnią usługi Apps Script 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.
Do obliczania cen warstwowych możesz użyć wbudowanej funkcji SUMPRODUCT
, ale jest ona bardziej złożona i mniej elastyczna niż funkcja niestandardowa w tym rozwiązaniu.SUMPRODUCT
Jak to działa
Model cen warstwowych 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 łączna cena, 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 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
Kliknij przycisk poniżej, aby utworzyć kopię arkusza kalkulacyjnego funkcji niestandardowej cen warstwowych. Projekt Apps Script dla tego rozwiązania jest dołączony do arkusza kalkulacyjnego.
Utwórz kopię
Uruchamianie skryptu
- W skopiowanym arkuszu kalkulacyjnym tabela w wierszu 16 zawiera przykładowe obliczenia ceny produktu SaaS.
- Aby obliczyć kwotę rabatu, w komórce
C20
wpisz=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 poniżej:
Pokaż kod źródłowy
Code.gs
Reguły przekształcania
Możesz dowolnie edytować funkcję niestandardową, aby dostosować ją do swoich potrzeb. Poniżej znajdziesz opcjonalny dodatek, który umożliwia ręczne odświeżanie wyników funkcji niestandardowych.
Odświeżanie wyników z pamięci podręcznej
W przeciwieństwie do funkcji wbudowanych Google buforuje funkcje niestandardowe, aby optymalizować wydajność. Dlatego jeśli 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órceC20
do=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 ds. programowania.