Poziom kodowania: początkujący
Czas trwania: 10 minut
Typ projektu: Funkcja niestandardowa
Cele
- Dowiedz się, do czego służy dane rozwiązanie.
- dowiedzieć się, jak usługi Apps Script działają w danym rozwiązaniu.
- Skonfiguruj skrypt.
- Uruchom skrypt.
Informacje o rozwiązaniu
Jeśli oferujesz klientom zróżnicowany system cen, ta funkcja niestandardowa ułatwi Ci obliczenie wysokości rabatów dla Twoich cen.
Chociaż możesz użyć wbudowanej funkcji SUMPRODUCT
, aby dokonać wielopoziomowych obliczeń cenowych, użycie SUMPRODUCT
jest bardziej złożone i mniej elastyczne niż funkcja niestandardowa tego rozwiązania.
Jak to działa
Wariantowy model cenowy oznacza, że koszt towarów lub usług obniża się w zależności od zakupionej ilości.
Załóżmy na przykład, że masz 2 poziomy: od 0 do 500 zł i ze zniżką 10%, a drugi z rabatem w wysokości 20%: 501–1000 zł. Jeśli łączna cena, dla której należy obliczyć rabat, to 700 zł, skrypt mnoży pierwsze 500 zł przez 10%, a pozostałe 200 zł przez 20%, co daje łączny rabat w wysokości 90 zł.
W przypadku danej ceny łącznej skrypt sprawdza poziomy określone w tabeli z cenami. Każda część łącznej ceny zawartej w danym poziomie jest mnożona przez powiązaną wartość procentową. Wynik to suma obliczeń dla każdego poziomu.
Usługi Apps Script
To rozwiązanie korzysta z następującej usługi:
- Usługa arkusza kalkulacyjnego – pobiera podaną wartość i oblicza, jaką część wartości należy pomnożyć przez rabat procentowy każdego poziomu.
Wymagania wstępne
Aby korzystać z tego przykładu, musisz spełnić te wymagania wstępne:
- konta Google (konta Google Workspace mogą wymagać zatwierdzenia przez administratora),
- Przeglądarka z dostępem do internetu.
Konfigurowanie skryptu
Kliknij przycisk poniżej, aby utworzyć kopię arkusza kalkulacyjnego Niestandardowa funkcja cennika. Projekt Apps Script dla tego rozwiązania jest dołączony do arkusza kalkulacyjnego.
Utwórz kopię
Uruchom skrypt
- W kopiowanym arkuszu kalkulacyjnym tabela w wierszu 16 zawiera przykładową wycenę usługi „oprogramowanie jako usługa” (SaaS).
- Aby obliczyć kwotę rabatu, w komórce
C20
wpisz=tierPrice(C19,$B$3:$D$6)
. Ostateczna cena zostaje zaktualizowana w komórceC21
. Jeśli w Twojej lokalizacji występują przecinki dziesiętne, być może musisz wpisać=tierPrice(C19;$B$3:$D$6)
.
Sprawdź kod
Aby sprawdzić kod Apps Script dla tego rozwiązania, kliknij Wyświetl kod źródłowy poniżej:
Pokaż kod źródłowy
Code.gs
Modyfikacje
Funkcję niestandardową możesz edytować tak długo, jak chcesz. Poniżej znajduje się opcjonalny dodatek umożliwiający ręczne odświeżenie wyników funkcji niestandardowej.
Odśwież wyniki w pamięci podręcznej
W przeciwieństwie do funkcji wbudowanych Google zapisuje w pamięci podręcznej funkcje niestandardowe, aby zoptymalizować wydajność. Jeśli więc zmienisz coś w funkcji niestandardowej, na przykład obliczaną wartość, aktualizacja może nie zostać od razu wymuszona. Aby ręcznie odświeżyć wynik funkcji:
- Dodaj pole wyboru do pustej komórki, klikając Wstaw > Pole wyboru.
- Dodaj komórkę z polem wyboru jako dodatkowy parametr funkcji niestandardowej. Jeśli na przykład dodasz pole wyboru do komórki
D20
, zmień wartość funkcjitierPrice()
w komórceC20
na=tierPrice(C19,$B$3:$D$6,D20)
. - Zaznacz lub odznacz pole wyboru, aby odświeżyć wyniki funkcji niestandardowej.
Współtwórcy
Ta próbka jest opracowywana przez Google z pomocą Ekspertów Produktowych Google.