कोडिंग का लेवल: शुरुआती
अवधि: 10 मिनट
प्रोजेक्ट का टाइप: कस्टम फ़ंक्शन
मकसद
- समझें कि समाधान क्या करता है.
- समझें कि Apps Script की सेवाएं, समाधान में क्या करती हैं.
- स्क्रिप्ट सेट अप करें.
- स्क्रिप्ट चलाएं.
इस समाधान के बारे में जानकारी
अगर आपने खरीदारों के लिए, कीमत तय करने का अलग-अलग लेवल वाला सिस्टम उपलब्ध कराया है, तो इस कस्टम फ़ंक्शन की मदद से, कीमतों पर छूट की रकम का हिसाब आसानी से लगाया जा सकता है.
टियर के हिसाब से कीमत तय करने के लिए, SUMPRODUCT
बिल्ट-इन फ़ंक्शन का इस्तेमाल किया जा सकता है. हालांकि, SUMPRODUCT
का इस्तेमाल करना, इस समाधान के कस्टम फ़ंक्शन की तुलना में ज़्यादा मुश्किल है. साथ ही, यह कम फ़्लेक्सिबल है.
यह कैसे काम करता है
टियर के हिसाब से कीमत तय करने वाले मॉडल का मतलब है कि खरीदे गए सामान या सेवाओं की संख्या के आधार पर, उनकी कीमत कम हो जाती है.
उदाहरण के लिए, मान लें कि आपके पास दो टियर हैं. एक टियर की रेंज 0 से 50,000 रुपये है और इस पर 10% की छूट मिलती है. वहीं, दूसरे टियर की रेंज 50,100 से 1,00,000 रुपये है और इस पर 20% की छूट मिलती है. अगर आपको 70,000 रुपये की कुल कीमत पर छूट का हिसाब लगाना है, तो स्क्रिप्ट पहले 50,000 रुपये को 10% से और बाकी 20,000 रुपये को 20% से गुणा करती है. इस तरह, कुल छूट 9,000 रुपये मिलती है.
किसी दी गई कुल कीमत के लिए, स्क्रिप्ट, टियर के हिसाब से कीमत तय करने वाली टेबल में दिए गए टियर के हिसाब से लूप करती है. कुल कीमत का जो हिस्सा किसी टियर में आता है उसे उस टियर से जुड़ी प्रतिशत वैल्यू से गुणा किया जाता है. नतीजा, हर टियर की कैलकुलेशन का योग होता है.
Apps Script की सेवाएं
इस समाधान में, इस सेवा का इस्तेमाल किया जाता है:
- स्प्रेडशीट सेवा–यह दी गई वैल्यू को लेती है और यह कैलकुलेट करती है कि वैल्यू के किस हिस्से को हर टियर के प्रतिशत छूट से गुणा करना है.
ज़रूरी शर्तें
इस सैंपल का इस्तेमाल करने के लिए, आपको इन ज़रूरी शर्तों को पूरा करना होगा:
- Google खाता (Google Workspace खातों के लिए, एडमिन की अनुमति ज़रूरी हो सकती है).
- इंटरनेट ऐक्सेस करने की सुविधा वाला वेब ब्राउज़र.
स्क्रिप्ट सेट अप करना
टियर के हिसाब से तय की गई कीमत के कस्टम फ़ंक्शन स्प्रेडशीट की कॉपी बनाने के लिए, नीचे दिए गए बटन पर क्लिक करें. इस समाधान के लिए Apps Script प्रोजेक्ट, स्प्रेडशीट से अटैच किया गया है.
कॉपी बनाएं
स्क्रिप्ट चलाना
- कॉपी की गई आपकी स्प्रेडशीट में, 16वीं लाइन पर मौजूद टेबल में, सॉफ़्टवेयर एज़ अ सर्विस (एसएएएस) प्रॉडक्ट के लिए कीमत की गणना का सैंपल दिखाया गया है.
- छूट की रकम का हिसाब लगाने के लिए, सेल
C20
में=tierPrice(C19,$B$3:$D$6)
डालें. आखिरी कीमत, सेलC21
में अपडेट हो जाती है. अगर आप ऐसी जगह पर हैं जहां दशमलव के लिए कॉमा का इस्तेमाल किया जाता है, तो आपको=tierPrice(C19;$B$3:$D$6)
डालना पड़ सकता है.
कोड की समीक्षा करना
इस समाधान के लिए, Apps Script कोड की समीक्षा करने के लिए, यहां दिए गए सोर्स कोड देखें पर क्लिक करें:
सोर्स कोड देखें
Code.gs
बदलाव
अपनी ज़रूरतों के हिसाब से, कस्टम फ़ंक्शन में जितने चाहें उतने बदलाव किए जा सकते हैं. यहां कस्टम फ़ंक्शन के नतीजों को मैन्युअल तरीके से रीफ़्रेश करने के लिए, एक और विकल्प दिया गया है.
कैश मेमोरी में सेव किए गए नतीजों को रीफ़्रेश करना
पहले से मौजूद फ़ंक्शन के उलट, Google कस्टम फ़ंक्शन को कैश मेमोरी में सेव करता है, ताकि परफ़ॉर्मेंस को ऑप्टिमाइज़ किया जा सके. इसलिए, अगर आपने कस्टम फ़ंक्शन में कोई बदलाव किया है, जैसे कि कैलकुलेट की जा रही कोई वैल्यू, तो हो सकता है कि वह तुरंत अपडेट न हो. फ़ंक्शन के नतीजे को मैन्युअल तरीके से रीफ़्रेश करने के लिए, यह तरीका अपनाएं:
- शामिल करें > चेकबॉक्स पर क्लिक करके, किसी खाली सेल में चेकबॉक्स जोड़ें.
- चेकबॉक्स वाली सेल को कस्टम फ़ंक्शन के अतिरिक्त पैरामीटर के तौर पर जोड़ें. उदाहरण के लिए, अगर आपने सेल
D20
में कोई चेकबॉक्स जोड़ा है, तो सेलC20
में मौजूदtierPrice()
फ़ंक्शन को=tierPrice(C19,$B$3:$D$6,D20)
पर अपडेट करें. - कस्टम फ़ंक्शन के नतीजों को रीफ़्रेश करने के लिए, चेकबॉक्स पर सही का निशान लगाएं या हटाएं.
योगदानकर्ता
इस सैंपल को Google, Google Developer Experts की मदद से मैनेज करता है.