ระดับการเขียนโค้ด: ผู้เริ่มต้น
ระยะเวลา: 10 นาที
ประเภทโปรเจ็กต์: ฟังก์ชันที่กำหนดเอง
วัตถุประสงค์
- ทำความเข้าใจว่าโซลูชันทำอะไรได้บ้าง
- ทำความเข้าใจสิ่งที่บริการ Apps Script ทำภายในโซลูชัน
- ตั้งค่าสคริปต์
- เรียกใช้สคริปต์
เกี่ยวกับโซลูชันนี้
หากคุณเสนอระบบการกำหนดราคาแบบเป็นชั้นสำหรับลูกค้า ฟังก์ชันที่กำหนดเองนี้ จะช่วยให้คำนวณจำนวนส่วนลดสำหรับราคาได้ง่ายขึ้น
แม้ว่าคุณจะใช้ฟังก์ชันในตัว SUMPRODUCT
เพื่อคำนวณราคาตามระดับได้ แต่การใช้ SUMPRODUCT
นั้นซับซ้อนกว่าและยืดหยุ่นน้อยกว่าฟังก์ชันที่กำหนดเองของโซลูชันนี้
วิธีการทำงาน
รูปแบบการกำหนดราคาแบบเป็นชั้นหมายความว่าต้นทุนของสินค้าหรือบริการจะลดลง ตามจำนวนที่ซื้อ
เช่น สมมติว่าคุณมี 2 ระดับ โดยระดับหนึ่งมีช่วงราคาตั้งแต่ $0-$500 และ ลดราคา 10% ส่วนอีกระดับมีช่วงราคาตั้งแต่ $501-$1,000 และลดราคา 20% หากราคาที่คุณต้องคำนวณส่วนลดคือ $700 สคริปต์จะ คูณ $500 แรกด้วย 10% และ $200 ที่เหลือด้วย 20% เพื่อให้ได้ส่วนลดรวมเป็น $90
สำหรับราคาเต็มที่ระบุ สคริปต์จะวนซ้ำผ่านระดับที่ระบุใน ตารางการกำหนดราคาระดับ สำหรับราคาแต่ละส่วนของราคารวมที่อยู่ใน ระดับหนึ่ง ระบบจะนำราคาส่วนนั้นมาคูณกับค่าเปอร์เซ็นต์ที่เชื่อมโยงกับระดับ นั้น ผลลัพธ์คือผลรวมของการคำนวณของแต่ละระดับ
บริการ 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 Developer Expert