ระดับการเขียนโค้ด: ระดับเริ่มต้น
ระยะเวลา: 10 นาที
ประเภทโปรเจ็กต์: ฟังก์ชันที่กำหนดเอง
วัตถุประสงค์
- ทำความเข้าใจสิ่งที่โซลูชันใช้
- ทำความเข้าใจสิ่งที่บริการ Apps Script ทำภายในโซลูชัน
- ตั้งค่าสคริปต์
- เรียกใช้สคริปต์
เกี่ยวกับโซลูชันนี้
หากคุณเสนอระบบการกำหนดราคาแบบเป็นขั้นให้แก่ลูกค้า ฟังก์ชันที่กำหนดเองนี้จะทำให้สามารถคำนวณจำนวนส่วนลดสำหรับราคาของคุณได้ง่ายขึ้น
แม้ว่าคุณจะใช้ฟังก์ชัน SUMPRODUCT
ในตัวเพื่อคำนวณราคาแบบเป็นขั้นได้ แต่การใช้ SUMPRODUCT
จะซับซ้อนและยืดหยุ่นน้อยกว่าฟังก์ชันที่กำหนดเองของโซลูชันนี้
วิธีการทำงาน
รูปแบบการกำหนดราคาแบบเป็นขั้นหมายความว่าต้นทุนของสินค้าหรือบริการลดลงตามปริมาณที่ซื้อ
ตัวอย่างเช่น สมมติว่าคุณมีสองระดับ ระดับที่มีตั้งแต่ 0-15, 000 บาทและมีการลดราคา 10% และอีกระดับที่มีตั้งแต่ 15, 010-30,000 บาท และลด 20% หากราคารวมที่คุณต้องการคำนวณส่วนลดคือ 21,000 บาท สคริปต์จะคูณ 10,000 บาทแรกด้วย 10% และ 8,000 บาทที่เหลือด้วย 20% จะได้ส่วนลดทั้งหมด 2,700 บาท
สำหรับราคารวมที่ระบุ สคริปต์จะวนซ้ำระดับที่ระบุในตารางการกำหนดราคาตามระดับขั้น สำหรับแต่ละส่วนของราคารวมที่อยู่ในระดับใดระดับหนึ่ง ส่วนนั้นจะคูณด้วยค่าเปอร์เซ็นต์ที่เกี่ยวข้องของระดับ ผลลัพธ์คือผลรวมของการคำนวณของแต่ละระดับ
บริการ Apps Script
โซลูชันนี้ใช้บริการต่อไปนี้
- บริการสเปรดชีต - รับค่าที่ระบุและคำนวณส่วนของค่าเพื่อคูณด้วยส่วนลดของแต่ละระดับ
ข้อกำหนดเบื้องต้น
หากต้องการใช้ตัวอย่างนี้ คุณต้องมีข้อกำหนดเบื้องต้นต่อไปนี้
- บัญชี Google (บัญชี Google Workspace อาจ ต้องได้รับการอนุมัติจากผู้ดูแลระบบ)
- เว็บเบราว์เซอร์ที่เข้าถึงอินเทอร์เน็ตได้
ตั้งค่าสคริปต์
คลิกปุ่มด้านล่างเพื่อทำสำเนาสเปรดชีตฟังก์ชันการกำหนดราคาระดับที่กำหนดเอง โปรเจ็กต์ Apps Script สำหรับโซลูชันนี้แนบอยู่กับสเปรดชีต
ทำสำเนา
เรียกใช้สคริปต์
- ในสเปรดชีตที่คัดลอกมา ตารางที่แถว 16 จะแสดงการคำนวณราคาตัวอย่างสำหรับผลิตภัณฑ์การให้บริการซอฟต์แวร์ (SaaS)
- หากต้องการคำนวณจำนวนส่วนลด ให้ป้อน
=tierPrice(C19,$B$3:$D$6)
ในเซลล์C20
การอัปเดตราคาสุดท้ายในเซลล์C21
หากอยู่ในสถานที่ตั้งที่ใช้คอมมาทศนิยม คุณอาจต้องป้อน=tierPrice(C19;$B$3:$D$6)
แทน
ตรวจสอบโค้ด
หากต้องการตรวจสอบโค้ด Apps Script สำหรับโซลูชันนี้ ให้คลิกดูซอร์สโค้ดด้านล่าง
ดูซอร์สโค้ด
Code.gs
การปรับเปลี่ยน
คุณสามารถแก้ไขฟังก์ชันที่กำหนดเองได้มากตามต้องการเพื่อให้ตรงตามความต้องการ ด้านล่างนี้เป็นส่วนเพิ่มเติมที่ไม่บังคับสำหรับการรีเฟรชผลลัพธ์ของฟังก์ชันที่กำหนดเองด้วยตนเอง
รีเฟรชผลลัพธ์ที่แคชไว้
Google จะแคชฟังก์ชันที่กำหนดเองเพื่อเพิ่มประสิทธิภาพ ซึ่งต่างจากฟังก์ชันในตัว ดังนั้น หากคุณเปลี่ยนแปลงบางอย่างในฟังก์ชันที่กำหนดเอง เช่น ค่าที่กำลังคำนวณ ก็อาจไม่ได้บังคับให้อัปเดตโดยทันที หากต้องการรีเฟรชผลลัพธ์ของฟังก์ชันด้วยตนเอง ให้ทำตามขั้นตอนต่อไปนี้
- เพิ่มช่องทำเครื่องหมายไปยังเซลล์ว่างโดยคลิกแทรก > ช่องทำเครื่องหมาย
- เพิ่มเซลล์ที่มีช่องทำเครื่องหมายเป็นพารามิเตอร์เพิ่มเติมของฟังก์ชันที่กำหนดเอง ตัวอย่างเช่น หากคุณเพิ่มช่องทำเครื่องหมายลงในเซลล์
D20
ให้อัปเดตฟังก์ชันtierPrice()
ในเซลล์C20
เป็น=tierPrice(C19,$B$3:$D$6,D20)
- เลือกหรือยกเลิกการเลือกช่องทำเครื่องหมายเพื่อรีเฟรชผลลัพธ์ของฟังก์ชันที่กำหนดเอง
ผู้ร่วมให้ข้อมูล
ตัวอย่างนี้ดูแลโดย Google ด้วยความช่วยเหลือจากผู้เชี่ยวชาญด้านนักพัฒนาซอฟต์แวร์ของ Google