excel शनल श्रेणी के अनुसार डेटा के प्रारूपण को वैकल्पिक करने के लिए सशर्त स्वरूपण का उपयोग करना




सशर्त स्वरूपण क्या है (3)

आप दो कंडिशनल फॉर्मेटिंग नियमों को निर्धारित करने के लिए चाहते हैं, जिनकी गणना गिनती के अनन्य प्रकार के फार्मूले पर आधारित है।

=MOD(INT(SUMPRODUCT(1/COUNTIF($C$2:$C2, $C$2:$C2))), 2)
=NOT(MOD(INT(SUMPRODUCT(1/COUNTIF($C$2:$C2, $C$2:$C2))), 2))

समस्या यह है कि आप इसे पूर्ण स्तंभ संदर्भों के साथ विस्तारित नहीं करना चाहते हैं क्योंकि यह सर (या चक्रीय ) प्रकार प्रसंस्करण प्रदान करने के लिए SUMPRODUCT फ़ंक्शन का उपयोग करता है। रेंज का ट्रैक रखते हुए इसे कवर किया जाता है यदि पंक्तियों और / या कॉलम जोड़ या हटाए जाते हैं तो समस्या बन जाती है।

समाधान तैयार करने के लिए एक उप प्रक्रिया होनी चाहिए, जो कि रेंज के आधार पर आपके लिए दो सीएफ नियमों को जल्दी से बना या नवीनीकृत कर सकता हैवर्तमान रीजन संपत्ति यह उस 'द्वीप' डेटा का विस्तार हो रहा है, जब तक कि वह पूरी तरह से खाली पंक्ति या कॉलम से मिलता न हो।

Sub Set_CF_rules()

    With Worksheets("Sheet1")
        With .Cells(1, 1).CurrentRegion
            With .Resize(.Rows.Count - 1, .Columns.Count).Offset(1, 0)
                .FormatConditions.Delete

                .FormatConditions.Add Type:=xlExpression, Formula1:= _
                    "=MOD(INT(SUMPRODUCT(1/COUNTIF($C$2:$C2, $C$2:$C2))), 2)"
                With .FormatConditions(.FormatConditions.Count).Interior
                    .PatternColorIndex = xlAutomatic
                    .ThemeColor = xlThemeColorAccent6
                    .TintAndShade = -0.249946592608417
                    .Parent.StopIfTrue = True
                End With

                .FormatConditions.Add Type:=xlExpression, Formula1:= _
                    "=NOT(MOD(INT(SUMPRODUCT(1/COUNTIF($C$2:$C2, $C$2:$C2))), 2))"
                With .FormatConditions(.FormatConditions.Count).Interior
                    .PatternColorIndex = xlAutomatic
                    .ThemeColor = xlThemeColorAccent6
                    .TintAndShade = 0.799981688894314
                    .Parent.StopIfTrue = True
                End With

            End With
        End With
    End With

End Sub

मैक्रो रिकॉर्डर के साथ हाइलाइट 'स्ट्रिपिंग' प्रयोग के लिए मैंने एक गहरा लाल और एक हल्का लाल सेट किया है, जबकि अलग-अलग रंगों, रंगों और नमूनों के साथ कोशिकाओं को भरते हुए, जब तक आप कुछ नहीं चाहते हैं और ऊपर कोड में उचित मानों को बदलते हैं।

मेरे पास इस तरह की पंक्तियों के एक समूह के साथ एक स्प्रेडशीट है:

Name    |   ID    |   Category  |    Attributes...
--------------------------------------------------------
name0   |   753   |   cat1      |    ...
name1   |   724   |   cat1      |    ...
name2   |   149   |   cat1      |    ...
name3   |   265   |   cat1      |    ...
name4   |   032   |   cat2      |    ...
name5   |   991   |   cat2      |    ...
name6   |   238   |   cat2      |    ...
name7   |   005   |   cat3      |    ...
name8   |   632   |   cat3      |    ...
name9   |   393   |   cat3      |    ...

और मैं इसे प्रारूपित करना चाहता हूं इसलिए अलग-अलग श्रेणियों की पंक्तियों को अलग करना थोड़ा आसान है इसलिए मैं Category स्तंभों के मूल्यों के आधार पर वैकल्पिक छायांकन और छायांकन नहीं करना चाहता था। दूसरे शब्दों में, ऊपर दिए गए उदाहरण में, मैं कतार के साथ पंक्तियों के लिए अंधेरा होने के लिए cat2 , फिर cat2 को हल्का होना चाहिए, फिर cat2 फिर से शीट नीचे सभी तरह से अंधेरा हो जाएगा।

क्या यह संभव है?


मुझे विश्वास नहीं है कि यह उपकरण में निर्मित के साथ आसानी से किया जाता है, हालांकि आप एक गणना वाली कॉलम जोड़ सकते हैं, फिर उसके आधार पर सशर्त स्वरूपण लागू कर सकते हैं।

यह उदाहरण मानता है कि आपका डेटा श्रेणी कॉलम द्वारा सॉर्ट किया गया है। यदि आप श्रेणी कॉलम द्वारा तालिका को छांटने नहीं कर रहे हैं, तो आपको एक और कदम की आवश्यकता होगी, जो एक लुकअप तालिका बनाना है जहां आप सही / गलत COL_STRIPE मान की गणना करते हैं, फिर अपने COL_STRIPE कॉलम में, इसे का VLOOKUP करें

यहाँ एक काम उदाहरण है

  1. परिकलित कॉलम जोड़ें
    • COL_STRIPE नामक एक नया कॉलम जोड़ें, मेरे उदाहरण में यह स्तंभ ई है।
    • कॉलम में निम्न सूत्र जोड़ें: =IF(C2<>C1,IFERROR(NOT(E1),FALSE),E1)
    • इस कॉलम में मूल्य सही है या गलत है।
    • यदि श्रेणी पिछली पंक्ति के समान है, तो COL_STRIPE मान एक समान रहता है, अन्यथा इसे अस्वीकृत किया जाता है
    • पहली पंक्ति के मामले में, IFERROR() कथन उसे गलत रूप में सेट कर देगा
    • इस सूत्र को स्तंभ के नीचे कॉपी करें
  2. सशर्त स्वरूप को लागू करें
    • अपनी मेज हाइलाइट करें
    • होम रिबन> सशर्त स्वरूपण> कक्ष नियमों को हाइलाइट करें> अधिक नियम पर जाएं
    • यह निर्धारित करने के लिए सूत्रों का उपयोग करें कि कौन से कक्षों को प्रारूपित करें: =NOT($E2) , यह सभी पंक्तियों के लिए प्रारूप को लागू करेगा जिसके लिए ई स्तंभ (COL_STRIPE) FALSE
    • अपना वांछित पृष्ठभूमि रंग सेट करने के लिए प्रारूप बटन पर क्लिक करें

कृपया कॉलम ए: डी और होम> शैलियां - सशर्त स्वरूपण, नया नियम ..., एक सूत्र का उपयोग करके निर्धारित करें कि कौन से कक्षों को प्रारूपित करने और मानों को स्वरूपित करें, जहां यह सूत्र सही है :

=ISEVEN(SUMPRODUCT(1/COUNTIF($C$1:$C1,$C$1:$C1)))

प्रारूप ... , स्वरूपण की अपनी पसंद का चयन करें (अंधेरे?), ठीक है, ठीक है

'प्रकाश' के लिए मैंने मान लिया है कि या तो कोई भी भरण पर्याप्त नहीं है या यदि नहीं, तो आप मानदंड भरने के लिए लागू होते हैं (सीएफ, जहां ट्रिगर किया गया है, इसे ओवरराइड करेगा)।





conditional-formatting