7

हमारी मार्केटिंग कंपनी/एजेंसी में, हम अपने ग्राहकों के लिए प्रबंधित किए जा रहे सभी भुगतान विज्ञापन अभियानों का ट्रैक रखने के लिए Google शीट्स में एक मास्टर ट्रैकर का उपयोग कर रहे हैं। दस्तावेज़ लंबे और लंबे समय तक हो रहा है, और सशर्त स्वरूपण नियमों की विविधता जो हम उपयोग कर रहे हैं, दस्तावेज़ में किए गए किसी भी बदलाव पर भारी और धीमी हो रही है।भारी सशर्त स्वरूपण नियमों को कैसे बढ़ाएं

पांच कर्मचारी किसी भी समय दस्तावेज़ का उपयोग कर रहे हैं, अभियान में किसी भी बदलाव पर "स्थिति" कॉलम में परिवर्तन कर रहे हैं - यदि यह लाइव है, तो यह लाइव है, अगर इसे रोक दिया गया है तो सशर्त स्वरूपण बस "स्थिति" कॉलम में मान के आधार पर प्रत्येक पंक्ति का रंग बदलता है। यह प्रारंभ/समाप्ति तिथियों को भी देखता है और यदि कोई समस्या हो तो लाल रेखा को चिह्नित करता है। आदि

मैं इस दस्तावेज़ का उपयोग कर प्रोसेसिंग कैसे बढ़ा सकता हूं? I have created a minified version of our tracker with one line for each conditional formatting rule to make it easy for you to have a look.

मुझे यकीन है कि नियमों को मजबूत करने के लिए और/या ऐसी स्क्रिप्ट बनाने के लिए बेहतर तरीके हैं जो कार्य को अधिक आसानी से और अधिक कुशलता से संभाल सकते हैं।

+0

मेरा सुझाव है कि आप इसे ओर इशारा करते हुए के लिए सबसे सीधी-सपाट समाधान के बजाय 1 स्तंभ 26. – pnuts

+0

जाहिर करने के लिए आवेदन की कोशिश, धन्यवाद:

यहाँ स्क्रिप्ट ही है। अगर हम पूरी पंक्तियां रखना चाहते हैं, तो मुझे यकीन है कि हमने जो किया है, उसके बारे में और अधिक प्रक्रिया-कुशल तरीका है? नियमों को संयोजित करने और पूरी तरह से एक अलग समाधान खोजने की तरह। इस पर कोई विचार? –

उत्तर

4

यह उत्तर किसी भी स्थिति के बदलते समय एक पंक्ति के पृष्ठभूमि रंग को बदलने के लिए एक स्क्रिप्ट का उपयोग करता है ("तैयार", "लाइव" और "संपन्न" के लिए काम करता है)।

लाइव डेमो: https://docs.google.com/spreadsheets/d/1bVwM1wSBVlZTmz5S95RXSrRQxlTKWWN_Hl4PZ81sbGI/edit?usp=sharing

स्क्रिप्ट "उपकरण - स्क्रिप्ट संपादक ..." के तहत देखा जा सकता है मेनू। इसे "ऑनएडिट" ट्रिगर द्वारा सक्रिय किया जाता है (Is it possible to automate Google Spreadsheets Scripts (e.g. without an event to trigger them)? देखें)।

function onEdit(e) { 

    var STATUS_COL = 18; 
    var MAX_COLS = 18; 

    var COLOR_READY = "grey"; 
    var COLOR_LIVE = "#512da8"; 
    var COLOR_DONE = "green"; 

    var activeSheet = SpreadsheetApp.getActiveSheet(); 
    var cell = activeSheet.getActiveSelection(); 
    var val = cell.getValues()[0][0]; 
    var color = null; 

    switch (val) { 
    case "READY": 
     color = COLOR_READY; 
     break; 
    case "LIVE": 
     color = COLOR_LIVE; 
     break; 
    case "DONE": 
     color = COLOR_DONE; 
     break; 
    } 

    if (color != null) { 
    var row = activeSheet.getRange(cell.getRow(), 1, 1, MAX_COLS); 
    row.setBackgroundColor(color); 
    } 

} 
+0

कितना दिलचस्प है! कुछ सवाल, स्क्रिप्ट कम संसाधन हैं-सीएफ से भारी? अगर मुझे एक ही समय में प्रत्येक पंक्ति के लिए टेक्स्ट का रंग समायोजित करने की आवश्यकता है (पृष्ठभूमि रंग और टेक्स्ट रंग बदलें), इसके लिए अतिरिक्त कोड क्या है? –

+0

मुझे नहीं पता कि स्क्रिप्ट सीएफ की तुलना में कम या ज्यादा संसाधन-केंद्रित हैं या नहीं। टेक्स्ट रंग के लिए फ़ंक्शन "setFontColor" है, https://developers.google.com/apps-script/reference/spreadsheet/range#setfontcolorcolor देखें। – opowell

+0

आपकी मदद के लिए धन्यवाद, बक्षीस आपका है :-) यदि आपके पास दस्तावेज़ में अन्य conditaionl स्वरूपण नियमों का समाधान है, तो यह भी सबसे उपयोगी होगा। कुछ ओवरलैपिंग वाले हैं, जिन्हें ठीक से काम करने के लिए कुछ क्रम में चलाने की आवश्यकता है कि मैं अभी भी संघर्ष कर रहा हूं। –

संबंधित मुद्दे