2011-04-19 13 views
5

मान लीजिए मैं निम्न तालिका संरचना है (A1: सी 3)एक्सेल 2007/2010 रंग पैमाने सशर्त स्वरूपण

 A B C 
1 H1 H2 H3 
2 1 1 3 
3 4 5 4 

मैं कैसे निम्नलिखित शर्तों के साथ एक सशर्त स्वरूपण लागू कर सकते हैं:

  • केवल शीर्ष लेख कोशिकाओं (H1, H2, H3) रंग के होते हैं
  • रंग योजना 2 या 3 रंग पैमाने पर
  • रंग कंप्यूटिंग होना चाहिए के लिए इस्तेमाल किया मूल्यों ए 2/ए 3, बी 2/बी 3, सी 2/सी 3 (रेंज 0-1 है)

नोट: मैं एक VBA समाधान के लिए नहीं देख रहा हूँ के रूप में मैं अपने ही कर सकते हैं, लेकिन अगर आप कुछ पागल 1 लाइनर कृपया बता :)
नोट : मैं if x<0.3 red, if 0.3<x<0.6 orange आदि जैसे कई नियमों को लागू नहीं करना चाहता हूं

क्या इसके लिए कोई साफ समाधान है?
क्या फॉर्मूला के मूल्य के आधार पर 3-रंग-पैमाने लागू किया जा सकता है?

+0

आप पूछ रहे हैं यह है कि क्या परिस्थितियों के बिना सशर्त स्वरूपण संभव है? –

+0

नहीं, मैं पूछ रहा हूं कि सशर्त स्वरूपण, 3-रंग-स्केल शैली का उपयोग करके सूत्रों के संयोजन के साथ संभव है; तो सेल मूल्य के आधार पर रंग के बजाय, मैं अन्य कोशिकाओं –

+0

से जुड़े सूत्र के परिणाम के आधार पर रंग सकता हूं, यदि यह वास्तव में छोटा है तो मैं एक वीबीए स्क्रिप्ट भी स्वीकार करूंगा। मैं एक त्वरित और गंदे हैक की तलाश में हूं :) मुझे पता है कि रंग की गणना करने वाले सभी शीर्षकों पर एक लंबा समाधान कैसे लिखना है, लेकिन सिर्फ मज़ेदार के लिए मैं कुछ चालाक समाधान देखना चाहता हूं: डी –

उत्तर

1

मुझे लगता है कि आप कुछ निफ्टी की तलाश में हैं जो दुर्भाग्य से मौजूद नहीं है। मैं बस दो विकल्प देखता हूं।

आप या तो तीन स्थितियों के साथ सशर्त स्वरूपण कर सकते हैं, या यहां तक ​​कि केवल दो यदि आप डिफ़ॉल्ट सेल रंग का उपयोग तीनों में से एक के रूप में करना चाहते हैं (उदाहरण के लिए फॉर्मूला है = (ए 2/ए 3) < 0.3, फॉर्मूला है = (ए 2/ए 3) < 0.6, या जो भी आप अपने थ्रेसहोल्ड मान चाहते हैं)। आप एक्सेल में एक हेडर सेल पर मैन्युअल रूप से इस फोमेटिंग को लागू कर सकते हैं, और इसे सभी शीर्षकों पर कॉपी कर सकते हैं; या वीबीए के माध्यम से इसे लागू करें।

या आप वीबीए में हेडर को रंग सकते हैं, और अपनी शीट पर एक बटन डाल सकते हैं जो रंग को अपडेट करने के लिए कोड को कॉल करता है।

With Range("A1") 
    For i = 1 To 3 
     colorscale = .Cells(2, i).Value/.Cells(3, i).Value 
     .Cells(1, i).Interior.Color = _ 
      RGB(colorscale * 255, colorscale * 255, _ 
      colorscale * 255) ' for example. Or pick your colors otherwise. 
    Next i 
End With 

, मेरे लिए ध्वनि पहला विकल्प (सशर्त स्वरूपण) की तरह बेहतर अनुकूल है, क्योंकि यह रंग आप जिस सेल मूल्यों पर आधारित अद्यतन करेगा। मुझे स्वीकार करना है, हालांकि, मुझे नहीं लगता कि आप इससे कुछ "क्लीनर" क्यों ढूंढ रहे हैं, क्योंकि यह वास्तव में वास्तव में एक सरल समाधान है। क्या दो स्थितियां "बहुत सारे नियम" बनाती हैं? नहीं अंग्रेजी भाषा के किसी भी खिंचाव ...

+0

यह केवल दो नियम नहीं है । मैं परिणाम के आधार पर लाल-पीले-हरे रंग से पूर्ण ढाल देखना चाहता हूं, जो कि कोई सब्यूनिट अंश हो सकता है। मैं किसी भी तरह से कुछ प्रत्यक्ष एपीआई का उपयोग करके इस ढाल की गणना करने में सक्षम होने की उम्मीद कर रहा था, लेकिन मुझे नहीं लगता कि ऐसा करने के लिए कुछ है। –

+0

आह। "2 या 3-रंग-पैमाने" से मैंने सोचा था कि आप दो या तीन संभावित रंगों के साथ एक पैमाने का मतलब था। आप बस आरजीबी मतलब था। –

0

यहाँ जीन फ़्राँस्वा कॉर्बेट कोड पर आधारित एक फिल्म है कि एक लाल-पीले-हरे ढाल से रंग लेता है द्वारा:

With Range("A1") 
    For i = 1 To 3 
     ColorScale = .Cells(2, i).Value/.Cells(3, i).Value 
     If ColorScale < 0.5 Then 
      red = 255 
      green = ColorScale * 2 * 255 
     Else 
      red = (1 - ColorScale) * 2 * 255 
      green = 255 
     End If 

     .Cells(1, i).Interior.Color = RGB(red, green, 0) 
    Next i 
End With 
+0

क्या एक्सेल 2007 किसी भी मनमानी सेल रंग को स्वीकार करता है? या यह अभी भी Excel 2003 की तरह 40-रंग पैलेट तक ही सीमित है? (मैं अभी भी 2003 का उपयोग कर रहा हूं।) –

+0

मुझे विश्वास है, मैंने बस 1 से 100 तक लूप चलाया और एक अच्छा ढाल मिला। (कम से कम एक्सेल 2010 में, मेरे पास घर पर 2007 नहीं है) –

+0

अच्छा। पैलेट इतने तीन दशक पहले हैं! –

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