Kodlama seviyesi: Yeni başlayan
Süre: 10 dakika
Proje türü: Özel işlev
Hedefler
- Çözümün ne yaptığını anlayın.
- Apps Script hizmetlerinin çözümde ne yaptığını anlayın.
- Komut dosyasını ayarlayın.
- Komut dosyasını çalıştırın.
Bu çözüm hakkında
Müşterilerinize katmanlı bir fiyatlandırma sistemi sunuyorsanız bu özel işlev, fiyatlarınız için indirim tutarlarını hesaplamayı kolaylaştırır.
Katmanlı fiyatlandırma hesaplaması yapmak için yerleşik SUMPRODUCT
işlevini kullanabilirsiniz ancak SUMPRODUCT
kullanmak, bu çözümün özel işlevine kıyasla daha karmaşık ve daha az esnektir.
İşleyiş şekli
Katmanlı fiyatlandırma modeli, satın alınan miktara bağlı olarak ürün veya hizmetlerin maliyetinin düştüğü anlamına gelir.
Örneğin, biri 0-500 TL aralığında olup% 10 indirimli, diğeri ise 501-1.000 TL aralığında olup %20 indirimli iki katmanınız olduğunu varsayalım. İndirim hesaplamanız gereken toplam fiyat 700 TL ise komut dosyası, ilk 500 TL'yi% 10, kalan 200 TL'yi ise %20 ile çarpar. Böylece toplam indirim 90 TL olur.
Komut dosyası, belirli bir toplam fiyat için katman fiyatlandırma tablosundaki belirtilen katmanları döngü şeklinde işler. Toplam fiyatın bir katmana giren her bölümü, ilgili katmanın yüzde değeriyle çarpılır. Sonuç, her katmanın hesaplamasının toplamıdır.
Apps Komut Dosyası hizmetleri
Bu çözüm aşağıdaki hizmeti kullanır:
- E-tablo hizmeti: Belirtilen değeri alır ve değerin hangi kısmının her katmanın indirim yüzdesiyle çarpılacağını hesaplar.
Ön koşullar
Bu örneği kullanmak için aşağıdaki ön koşullara ihtiyacınız vardır:
- Google Hesabı (Google Workspace hesapları için yönetici onayı gerekebilir).
- İnternete erişimi olan bir web tarayıcısı.
Komut dosyasını ayarlama
Katmanlı fiyatlandırma özel işlevi e-tablosunun kopyasını oluşturmak için aşağıdaki düğmeyi tıklayın. Bu çözümün Apps Komut Dosyası projesi e-tabloya eklenir.
Kopya oluştur
Komut dosyasını çalıştırma
- Kopyalanan e-tablonuzdaki 16. satırdaki tabloda, Hizmet Olarak Yazılım (SaaS) ürünü için örnek bir fiyat hesaplaması gösterilmektedir.
- İndirim tutarını hesaplamak için
C20
hücresine=tierPrice(C19,$B$3:$D$6)
yazın. Nihai fiyat,C21
hücresinde güncellenir. Ondalık virgül kullanılan bir yerdeyseniz bunun yerine=tierPrice(C19;$B$3:$D$6)
girmeniz gerekebilir.
Kodu inceleme
Bu çözümün Apps Komut Dosyası kodunu incelemek için aşağıdaki Kaynak kodunu görüntüle'yi tıklayın:
Kaynak kodu göster
Code.gs
Değişiklikler
Özel işlevi ihtiyaçlarınıza uyacak şekilde istediğiniz kadar düzenleyebilirsiniz. Aşağıda, özel işlev sonuçlarını manuel olarak yenilemek için isteğe bağlı bir ek verilmiştir.
Önbelleğe alınmış sonuçları yenileme
Yerleşik işlevlerin aksine Google, performansı optimize etmek için özel işlevleri önbelleğe alır. Bu nedenle, özel işlevinizde bir şeyi (ör. hesaplanan bir değer) değiştirirseniz bu değişiklik hemen güncellemeyi zorunlu tutmayabilir. İşlev sonucunu manuel olarak yenilemek için aşağıdaki adımları uygulayın:
- Ekle > Onay kutusu'nu tıklayarak boş bir hücreye onay kutusu ekleyin.
- Özel işlevin ek parametresi olarak onay kutusunun bulunduğu hücreyi ekleyin. Örneğin,
D20
hücresine bir onay kutusu eklersenizC20
hücresindekitierPrice()
işlevini=tierPrice(C19,$B$3:$D$6,D20)
olarak güncelleyin. - Özel işlev sonuçlarını yenilemek için onay kutusunu işaretleyin veya kutunun işaretini kaldırın.
Katkıda bulunanlar
Bu örnek, Google Geliştirici Uzmanları'nın yardımıyla Google tarafından yönetilir.