एक्सेल 2007: सशर्त स्वरूपण ताकि प्रत्येक पंक्ति निम्न मान पीला, उच्च मान लाल दिखाए


14

मेरे पास लगभग 300 पंक्तियों के साथ एक स्प्रेडशीट है। प्रत्येक पंक्ति में लगभग 15 कॉलम होते हैं, और प्रत्येक सेल में एक संख्यात्मक मान होता है। प्रत्येक पंक्ति एक उत्पाद से मेल खाती है।

मैं एक्सेल प्राप्त करना चाहता हूं, प्रत्येक उत्पाद के लिए, लाल रंग में उच्चतम संख्या के साथ कोशिकाओं को और पीले रंग में सबसे कम संख्या को उजागर करने के लिए, बीच में संख्याओं के लिए एक ढाल के साथ। यह तब होता है जब मैं एक पंक्ति (विशेष रूप से, पंक्ति में 15 कोशिकाएं जिनमें मेरा डेटा होता है) का चयन करता है और फिर सशर्त स्वरूपण> रंग स्केल> लाल-पीला रंग स्केल पर क्लिक करता है।

हालाँकि, मेरी 300 पंक्तियाँ हैं और प्रत्येक पंक्ति को अलग-अलग चुनने और सशर्त स्वरूपण सेट करने में बहुत लंबा समय लगेगा। दूसरी ओर, अगर मैं पूरी रेंज का चयन करता हूं और सशर्त स्वरूपण लागू करता हूं, तो एक्सेल पूरी रेंज के आधार पर रंगों की गणना करता है, जब मैं वास्तव में उन्हें पंक्ति-दर-पंक्ति के आधार पर गणना करना चाहता हूं। उदाहरण के लिए, यह नमूना डेटा लें:

1 2 3
4 5 6
7 8 9

आउटपुट जो मैं चाहता हूं, पीले के लिए वाई का उपयोग करना, नारंगी के लिए ओ, लाल के लिए आर, है:

Y O R
Y O R
Y O R

हालाँकि, यदि मैं संपूर्ण सीमा का चयन करता हूं और सशर्त स्वरूपण लागू करता हूं, तो मुझे यह मिलता है:

Y Y Y
O O O
R R R

क्या एक समय में एक पंक्ति के बिना इसे पूरा करने का एक तरीका है?


@wloglog: यह सही है। एक पंक्ति में उच्चतम मूल्य लाल होना चाहिए, उस पंक्ति में सबसे कम मूल्य पीला होना चाहिए, और अन्य मान कहीं बीच में होना चाहिए (उच्चतम मूल्य, करीब होना चाहिए)।
माइकल पावे

मुझे यह सवाल पसंद है ... मैं देखूंगा कि क्या मुझे एक उत्तर मिल सकता है ... मैं कुछ घंटे पहले ही फिर से मदद कर सकता हूं, मुझे उम्मीद है कि अन्य सुपरयूजर सदस्य आपको समय के माध्यम से उत्तर मिल जाएगा ..
wizlog

मुझे भी यह सवाल पसंद है। लेकिन मैं एक मैक्रो का उपयोग करने के अलावा इस के करीब पहुंचने का कोई अन्य तरीका नहीं देखता हूं। मुझे उम्मीद है कि कोई मुझे गलत साबित करेगा।
एलिसा

जवाबों:


15

यहां एक मैक्रो है जो आपके चयन में प्रत्येक पंक्ति के लिए एक सशर्त प्रारूप बनाता है। यह पहली पंक्ति के प्रारूप को चयन में EACH पंक्ति में कॉपी करके करता है (एक-एक करके, पूरी तरह से नहीं)। बदलें B1: P1 आपके डेटा तालिका में पहली पंक्ति के संदर्भ में।

Sub NewCF()
    Range("B1:P1").Copy
    For Each r In Selection.Rows
        r.PasteSpecial (xlPasteFormats)
    Next r
    Application.CutCopyMode = False
End Sub

उपयोग करने के लिए, अपने डेटासेट (मेरे मामले में, B2: P300 ) में अन-स्वरूपित पंक्तियों को हाइलाइट करें और फिर मैक्रो चलाएँ। नीचे दिए गए उदाहरण में, ध्यान दें कि पहले दो पंक्तियों में अधिकतम संख्या क्रमशः 5 और 15 है; दोनों कोशिकाएँ गहरे लाल रंग की हैं

मुझे यकीन है कि इस से भी तेज समाधान है, हालांकि।

यहाँ छवि विवरण दर्ज करें


1
धन्यवाद, यह खूबसूरती से काम किया। यह अनिश्चित होने पर मदद मांगने के मूल्य का एक बड़ा उदाहरण है ... मैं एक मैक्रो का उपयोग करने के विचार से भटक गया था, क्योंकि मैंने माना कि मुझे सीखने की आवश्यकता होगी कि कैसे सशर्त स्वरूपण को खरोंच से सेट किया जाए। मैक्रो को केवल मौजूदा फॉर्मेटिंग को कॉपी करने के लिए प्राप्त करना अधिक चालाक है :)
माइकल पेवी

@MichaelPavey मुझे खुशी है कि मैं मदद कर सकता हूँ! और सुपरयुसर का स्वागत है! :)
एलेसा

1
+ 1. अगर किसी की दिलचस्पी है तो मैंने इस अवधारणा को अपने ब्लॉग पर आगे बढ़ाया: yoursumbuddy.com/conditional-formatting-per-row-color-scales
Doug Glancy

यह हास्यास्पद है कि इस तरह की चीज को एक फीचर के रूप में एक्सेल में नहीं बनाया गया है। क्या इस तरीके से पंक्तियों की तुलना करना असामान्य है?
एलेक्स

5

इसे पूरा करने का सबसे आसान तरीका है कॉपी / पेस्ट के साथ वृद्धिशील रूप से। सबसे पहले, प्रारूप 1 पंक्ति को जिस तरह से आप चाहते हैं। फिर केवल दूसरी पंक्ति में केवल स्वरूपण को कॉपी और पेस्ट करें। अब BOTH पंक्तियों 1 और 2 को कॉपी करें और फ़ॉर्मेटिंग को पंक्तियों 3 और 4. में पेस्ट करें। कुल्ला और दोहराएं, कॉपी 4, अतीत 4, कॉपी 8, पेस्ट 8, कॉपी 16, पेस्ट 16। एक बार जब आप 16 जैसी सभ्य राशि प्राप्त कर लेते हैं, 64 या 128 तक पहुंचने के लिए इसे कुछ समय के लिए चिपकाएँ। फिर आप इन्हें कॉपी कर सकते हैं और उनके स्वरूपण को चिपका सकते हैं, और आप तेजी से पहले से अधिक क्षेत्र को कवर कर सकते हैं।

यह सुरुचिपूर्ण नहीं है, और मेरे अनुभव में लगभग 2500 पंक्तियों को अधिकतम करने के लिए सशर्त रूप से खाए जाने वाले फॉर्म को शुरू करने के लिए आवश्यक संसाधन हैं ... लेकिन इसका काम पूरा हो गया है।

मैं सिर्फ तर्क है कि हर एक पंक्ति के लिए एक अलग सशर्त प्रारूप बनाने के लिए तर्क नहीं थे, संसाधनों को hogging ...


मुझे लगता है कि ओपी ने कहा "हालांकि, मेरे पास 300 पंक्तियां हैं और प्रत्येक पंक्ति को व्यक्तिगत रूप से चुनने और सशर्त स्वरूपण सेट करने में बहुत लंबा समय लगेगा।" प्रश्न में
प्रसन्ना

@ पॉल्ट्रॉन, धन्यवाद! इसे जोड़ने के लिए: Ctrl / Cmd + Shift + Up / सही का उपयोग करके आप पिछली सभी पंक्तियों और स्तंभों को आसानी से चुन सकते हैं, इसलिए आपको पिछली पंक्तियों को गिनने की आवश्यकता नहीं है। फिर जब आप पेस्ट करने के लिए तैयार होते हैं, तो केवल पहले से तैयार किए गए पंक्तियों और विशेष पेस्ट प्रारूप के नीचे पहली सेल में कर्सर को रखें, यह कॉपी किए गए जितने पंक्तियों को कवर करने के लिए विस्तारित होगा। Ctrl / Cmd + Shift + V अंतिम विशेष पेस्ट को भी याद रखेगा जिसे आप उपयोग करना चाहते हैं, इसलिए पूरी प्रक्रिया काफी जल्दी हो जाती है। बस 600 पंक्तियों के साथ दो स्प्रेडशीट पर इसका इस्तेमाल किया।
ऑस्कर ऑस्टेगार्ड 20

मैंने इसे ~ 100 पंक्तियों वाली एक मेज पर किया और इसने खूबसूरती से काम किया। केवल फॉर्मेट पेंटर के 7 पुनरावृत्तियों को लिया।
mskfisher

0

बस इसे और VBA के माध्यम से ऐसा करने के अन्य उदाहरण मिले और यह मुझे सोच में पड़ गया और मैंने किसी भी स्क्रिप्ट को जानने या कॉपी करने के बिना एक ही काम करने का एक अपेक्षाकृत त्वरित और दर्द रहित तरीका निकाला।

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

यह उपरोक्त कोड की तरह एक शॉट सौदा नहीं है, लेकिन यह एक समय में एक पंक्ति करने की तुलना में तेजी से तेज है। उम्मीद है की यह मदद करेगा।


0

आप एक पंक्ति में प्रारूपण स्थिति भी लागू कर सकते हैं। पंक्ति को फिर से हाइलाइट करें और इसे लॉक करने के लिए "फ़ॉर्मेट पेंटर" पर डबल क्लिक करें। अन्य पंक्तियों के लिए नीचे स्थिति को लागू करने के लिए तीर कुंजी का उपयोग करें।

मेरी कंपनी के लिए आमतौर पर एक्सेल में मैक्रो को ब्लॉक किया जाता है इसलिए यह मेरे लिए काम करता है। आशा है कि यह भी आपकी मदद करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.