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