Level coding: Pemula
Durasi: 10 menit
Jenis project: Fungsi kustom
Tujuan
- Memahami fungsi solusi tersebut.
- Pahami apa yang dilakukan layanan Apps Script dalam solusi.
- Siapkan skrip.
- Jalankan skrip.
Tentang solusi ini
Jika Anda menawarkan sistem harga bertingkat untuk pelanggan, fungsi khusus ini mempermudah penghitungan jumlah diskon untuk harga Anda.
Meskipun Anda dapat menggunakan fungsi bawaan SUMPRODUCT
untuk menetapkan harga bertingkat
penghitungan, menggunakan SUMPRODUCT
lebih kompleks dan kurang fleksibel daripada
fungsi kustom dari solusi.
Cara kerjanya
Model penetapan harga bertingkat berarti bahwa biaya barang atau layanan turun berdasarkan jumlah yang dibeli.
Misalnya, bayangkan Anda memiliki dua tingkat, satu tingkat dengan rentang $0-$500 dan didiskon sebesar 10% dan harga berkisar antara $501-$1.000 dan didiskon sebesar 20%. Jika total harga yang Anda perlukan untuk menghitung diskon adalah $700, skrip mengalikan $500 pertama sebesar 10% dan sisanya $200 sebesar 20%, dengan total diskon sebesar Rp900.000.
Untuk total harga tertentu, skrip akan diulang melalui tingkat yang ditentukan di tabel harga tingkat tinggi. Untuk setiap bagian dari total harga yang jatuh dalam suatu tingkat, porsi tersebut dikalikan dengan dengan sejumlah nilai. Hasilnya adalah jumlah dari perhitungan setiap tingkat.
Layanan Apps Script
Solusi ini menggunakan layanan berikut:
- Layanan spreadsheet–Mengambil nilai yang ditentukan nilai dan menghitung bagian nilai yang akan dikalikan dengan diskon persen.
Prasyarat
Untuk menggunakan contoh ini, Anda memerlukan prasyarat berikut:
- Akun Google (Akun Google Workspace mungkin memerlukan persetujuan administrator).
- Browser web dengan akses ke internet.
Menyiapkan skrip
Klik tombol di bawah untuk membuat salinan fungsi kustom Harga tingkat
{i>spreadsheet<i}. Project Apps Script untuk
solusi ini dilampirkan
pada {i>spreadsheet<i}.
Buat salinan
Jalankan skrip:
- Dalam salinan {i>spreadsheet<i} Anda, tabel di baris 16 menunjukkan harga sampel untuk produk {i>Software as a Service<i} (SaaS).
- Untuk menghitung jumlah diskon, di sel
C20
, masukkan=tierPrice(C19,$B$3:$D$6)
. Harga terakhir diperbarui di selC21
. Jika Anda di lokasi yang menggunakan koma desimal, Anda mungkin perlu memasukkan Sebagai gantinya,=tierPrice(C19;$B$3:$D$6)
.
Meninjau kode
Untuk meninjau kode Apps Script untuk solusi ini, klik Lihat kode sumber di bawah ini:
Melihat kode sumber
Code.gs
Modifikasi
Anda dapat mengedit fungsi kustom sesuai keinginan sesuai kebutuhan. Di bawah ini adalah tambahan opsional untuk memuat ulang hasil fungsi kustom secara manual.
Muat ulang hasil yang di-cache
Tidak seperti fungsi bawaan, Google meng-cache fungsi kustom untuk mengoptimalkan tingkat tinggi. Oleh karena itu, jika Anda mengubah sesuatu dalam tertentu, seperti nilai yang sedang dihitung, parameter ini mungkin tidak memaksa pembaruan. Untuk memuat ulang hasil fungsi secara manual, lakukan langkah berikut langkah:
- Tambahkan kotak centang ke sel kosong dengan mengklik Sisipkan > Kotak centang.
- Tambahkan sel yang memiliki kotak centang sebagai parameter ekstra dari kustom
fungsi tersebut. Misalnya, jika Anda menambahkan kotak centang ke sel
D20
, perbarui fungsitierPrice()
di selC20
untuk=tierPrice(C19,$B$3:$D$6,D20)
. - Centang atau hapus centang pada kotak untuk memuat ulang hasil fungsi kustom.
Kontributor
Sampel ini dikelola oleh Google dengan bantuan Pakar Google Developers.