मैं स्वचालित रूप से बदलते से सशर्त स्वरूपण सूत्र और श्रेणियां कैसे रख सकता हूं?


24

मैंने पाया है कि जब आप एक स्प्रैडशीट में डेटा की प्रतिलिपि बनाते, हटाते या स्थानांतरित करते हैं, तो सशर्त स्वरूपण सूत्र और श्रेणी स्वचालित रूप से समायोजित हो जाएंगे। हालांकि यह एक अच्छा विचार है, यह कुछ अजीब तरीकों से मेरे लिए चीजों को तोड़ देता है।

इससे बचने के लिए, मैंने उन नियमों को लिखने की कोशिश की जो संपूर्ण स्प्रेडशीट पर लागू होते थे और कॉलम हेडर से बंद किए गए डेटा को हाइलाइट करने के लिए जिन्हें मैं जांचना चाहता था।

उदाहरण: के लिए =AND(A$1="Check This Column For Blanks),ISBLANK(A1))आवेदन किया=$1:$1048576

हालांकि, यहां तक ​​कि नियम के साथ स्पष्ट रूप से पूरी शीट पर लागू किया गया था, यह अभी भी स्वचालित रूप से समायोजित कर रहा था (और ऐसा करने से अजीब तरीके से टूट रहा है) जैसा कि मैंने शीट में काम किया था।

इससे कैसे बचा जा सकता है?


शायद आप पूरे स्प्रेडशीट का उपयोग नहीं कर सकते ... क्या आप जो कर रहे हैं उसका अधिक ठोस उदाहरण दे सकते हैं?
डॉकटोरो रीचर्ड सेप

क्या आप शायद स्क्रीनशॉट ले सकते हैं और संकेत कर सकते हैं कि कौन से क्षेत्र टूट गए हैं?
जेरी

@JohnBensin ऐसा लगता है कि यह वास्तव में मैं क्या देख रहा था। मैं अगली बार याद करने की कोशिश करूंगा।
इस्जी

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

वास्तव में क्या गलत हो जाता है के बारे में एक लेख: Excel 2010 सशर्त स्वरूपण दुःस्वप्न । उन्होंने यह सुनिश्चित किया कि इसे थोड़ा और बेहतर बनाने की कोशिश करते हुए इसे और खराब बना दिया ...
रोमनस्टैंड

जवाबों:


7

जब मुझे ऐसी श्रेणी की आवश्यकता होती है, जो किसी भी परिस्थिति में परिवर्तित नहीं होनी चाहिए , जिसमें चलना, सम्मिलित करना और कक्षों को हटाना शामिल है, तो मैंने एक नामित सीमा और INDIRECTफ़ंक्शन का उपयोग किया।

उदाहरण के लिए, यदि मैं हमेशा कक्षों पर लागू होने वाली श्रेणी चाहता हूं, तो मैंने A1:A50नाम प्रबंधक के माध्यम से एक नामित सीमा निर्धारित की है:

नाम श्रेणी जोड़ें

नाम प्रबंधक में, एक नई श्रेणी जोड़ें (नया क्लिक करें), और रिफ़र टू: फ़ील्ड में, इच्छित कक्षों की श्रेणी को निर्दिष्ट करने के लिए संकेत फ़ंक्शन का उपयोग करें, जैसे =INDIRECT("A1:A50")या =INDIRECT("Sheet!A1:A50")। क्योंकि सीमा तकनीकी रूप से सिर्फ एक पाठकीय तर्क है, पुनर्व्यवस्थित कोशिकाओं की कोई भी राशि एक्सेल को अपडेट करने का कारण नहीं बनेगी।

इसके अलावा, यह कम से कम एक्सेल 2010 और एक्सेल 2013 में काम करता है। हालांकि मेरा स्क्रीनशॉट 2013 का है, मैंने इस सटीक तकनीक का उपयोग 2010 में किया है।

चेतावनियां

  1. ध्यान रखें कि यह आक्रमण आपको यात्रा कर सकता है। उदाहरण के लिए, यदि आप शीट का नाम बदलते हैं, तो नामित सीमा टूट जाएगी।

  2. मैंने महत्वपूर्ण रणनीति पर इस रणनीति का उपयोग करते हुए एक मामूली प्रदर्शन देखा है। एक मॉडल जिस पर मैं काम करता हूं वह इस तकनीक का उपयोग करता है जिसका नाम कई हज़ार अलग-अलग सेल रेंज है, और एक्सेल एक सुस्त सा महसूस करता है जब मैं उन रेंज में सेल अपडेट करता हूं। यह मेरी कल्पना हो सकती है, या यह तथ्य हो सकता है कि Excel संकेत देने के लिए अतिरिक्त फ़ंक्शन कॉल कर रहा है।


यद्यपि नामित सीमा लक्ष्य कोशिकाओं को संदर्भित करने के लिए एक सुविधाजनक लघु-हाथ विधि प्रदान करती है, लेकिन क्या आप केवल INDIRECTअपने दम पर फ़ंक्शन का उपयोग नहीं कर सकते हैं?
18

@ इजी हां, मेरा ऐसा मानना ​​है। हालाँकि, जैसा कि आप कहते हैं, नामांकित श्रेणियां सुविधाजनक हैं, और मैं अक्सर एक कार्यपुस्तिका में कई स्थानों पर एक ही श्रेणी की कोशिकाओं का जिक्र करता हूं। मैं प्रदर्शन कारणों के लिए संभव के रूप में सीमाओं को छोटा रखने की कोशिश करता हूं, और केवल आवश्यक होने पर उन्हें बदल देता हूं, इसलिए नामित श्रेणी का उपयोग करने का मतलब है कि मुझे केवल इसे एक स्थान पर बदलने की आवश्यकता है।
जॉन बेन्सिन

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

मैं इसे अभी तक लागू करने के लिए आस-पास नहीं गया हूं, लेकिन शायद अगली बार जब मैं इस समस्या को हल करूंगा। अगर कोई समस्या है तो मैं आपको बता दूंगा।
इस्जी

9
मैंने सशर्त स्वरूपण नियमावली प्रबंधक के "कॉलम" पर लागू नाम में श्रेणी का उपयोग करने की कोशिश की, लेकिन "ओके" या "लागू करें" को हिट करने पर नामित सीमा का विस्तार हो जाता है। क्या मैं गलत कर रहा हूँ?
मिहाई अलेक्जेंड्रू बोर्सन

2

मैंने पाया है कि नियम तोड़ना बहुत आसान है, लेकिन यहाँ कुछ ऐसा है जिसे आप आजमा सकते हैं कि कोई भी नियम नहीं टूटता।

आप कक्षों के अंदर पाठ बदल सकते हैं। यदि आपको एक पंक्ति जोड़ने की आवश्यकता है, तो अपना डेटा अपनी तालिका के अंत में जोड़ें और इसे पुन: सॉर्ट करें। यदि आपको एक पंक्ति को हटाने की आवश्यकता है, तो केवल पाठ / संख्याओं को हटा दें, फिर तालिका को फिर से क्रमित करें।

यह मेरे लिए काम करता है जब मेरे पास सशर्त स्वरूपण है जो कॉलमों पर लागू होता है, और मैं आमतौर पर पूरे कॉलम के लिए प्रारूपण सेट करता हूं, जैसे। $ एफ: $ एफ। यह तब भी काम करना चाहिए जब आप एक आंशिक सीमा के लिए प्रारूपण कर रहे हों, बस यह सुनिश्चित कर लें कि जब आप ऐसा कर रहे हैं / जोड़ रहे हैं और निकाल रहे हैं और यह सुनिश्चित कर रहे हैं कि आपके द्वारा प्रारूपित सभी डेटा अभी भी आपके मूल सीमा मापदंडों के भीतर हैं।

यह मेरे लिए बहुत बड़ी निराशा है।

आशा है कि ये आपकी मदद करेगा।


1

मुझे एसओ यकीन नहीं है और मैं एक ही समस्या का सामना अक्सर करता हूं।

मैं कहूंगा कि सशर्त स्वरूपण (CF) पैनल में 'अप्लाई टू' फील्ड हमेशा गतिशील रूप से काम करेगा। तो, यह हमेशा प्रारूप के किसी भी संदर्भ को बदल देगा =$A$1:$A$50

यह एक पीड़ा है।


यह तब भी नहीं है, जब मैं या तो स्पष्ट या परिवर्तनशील घोषणाओं का उपयोग करता हूं ($ या $ नहीं)।
पॉल

1

मैंने पाया कि सशर्त स्वरूपण नियम में INDIRECTफ़ंक्शन और फ़ंक्शन का उपयोग करने ROWसे एक्सेल की समस्या नए नियम बनाते हैं और सीमा बदलते हैं।

उदाहरण के लिए, मैं अपनी चेकबुक रजिस्टर स्प्रेडशीट में पंक्तियों के बीच एक पंक्ति जोड़ना चाहता था जब महीने एक पंक्ति से अगली पंक्ति में बदल जाता है। तो, CF नियम में मेरा सूत्र है:

=MONTH(INDIRECT("C"&ROW()))<>MONTH(INDIRECT("C"&ROW()-1))

मेरी स्प्रैडशीट में कॉलम C में दिनांक शामिल है। मुझे श्रेणी के लिए कुछ विशेष नहीं करना था (रेंज नाम, आदि को परिभाषित नहीं करना था)।

तो मूल पोस्टर के उदाहरण में, CF नियम में "A1" या "A $ 1" के बजाय, उपयोग करें:

INDIRECT("A"&ROW())

0

मैंने एक समान मुद्दे का अनुभव किया है। मैंने पंक्तियों को जोड़ने और सूत्रों को कॉपी करने के लिए कुछ मैक्रोज़ बनाए हैं, और फिर कॉलम और पंक्ति आकारों को समायोजित करके प्रारूपित करें कि शीट कैसे दिखती है। मैंने पाया है कि यह समस्या दो अवसरों में से एक में होती है।

1) जब INSIDE "से लागू होता है" कुछ इस सीमा के बाहर काट / चिपकाया जाता है।

2) जब "लागू होता है" के अंदर मर्ज किए गए सेल होते हैं, और किसी भी पंक्तियों या स्तंभों को समायोजित किया जाता है।

यह मर्ज किए गए सेल समस्या के दौरान प्रकट होता है, कि एक्सेल को सबकुछ खोलना पड़ता है, अपने सशर्त एप्लिकेशन को पुनर्गणना करना होता है, सभी कोशिकाओं को समायोजित करना (पंक्तियों को जोड़ना या हटाना या नहीं करना) और फिर उन्हें वापस जोड़ना। यह हमारे लिए अदृश्य है लेकिन लगता है कि यह कैसे लागू किया जाता है।

सोचा कि इस समाधान पर पहुँचने में हमारी मदद कर सकते हैं।

-टी


0

मेरे पास इसके लिए एक सरल उपाय है।

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


0

सशर्त स्वरूपण सूत्र में, फ़ंक्शन के R1C1साथ अंकन का उपयोग करें INDIRECT:
उदाहरण 1:

If same row column A = 1 ...

=IF($A1=1,1,0) becomes 
=IF(INDIRECT("RC1",FALSE)=1,1,0)

उदाहरण 2:
If same row column A = 2 AND next row column A = 3...

=IF(AND(($A1=2),($A2=3)),1,0) becomes
=IF(AND((INDIRECT("RC1",FALSE)=2),(INDIRECT("R[1]C1",FALSE)=3)),1,0)

0

यदि उपयोग का मामला रिपोर्ट स्प्रेडशीट उत्पन्न करना है, तो यह अच्छी तरह से काम करना चाहिए:


यदि आप सभी डेटा प्रविष्टि करने के बाद अंतिम डेटा का एक साधारण रिफ्रेश मैन्युअल रूप से करने के लिए तैयार हैं, तो आप एक्सेल की अत्यधिक सहायकता को एक बार के सेटअप चरणों के साथ बायपास कर सकते हैं।

मान लें कि आपका डेटा सामान्य रूप से व्यवस्थित किया गया है (पंक्तियों में):

  1. अपने सभी डेटा को एक शीट में इनपुट करें। इस ट्यूटोरियल के लिए मैं शीट का नाम दूंगा Inputइस पर कोई सशर्त प्रारूपण लागू न करें। अपने दिल की सामग्री के चारों ओर मूल्यों को स्थानांतरित करने के लिए स्वतंत्र महसूस करें (जैसे हटाएं / डालें / कॉपी / पेस्ट करें)
  2. एक और खाली शीट बनाएं और उसे नाम दें जैसे आप (जैसे Output)। अपने ग्लोबल फॉर्मेटिंग जैसे कॉलम की चौड़ाई और हेडर फॉर्मेटिंग (न कि हेडर की सामग्री, सिर्फ फॉर्मेटिंग) पर मैन्युअल रूप से कॉपी करें।
  3. $A$1अपनी हेडर पंक्ति की शुरुआत के स्थान के साथ निम्नलिखित सूत्र में बदलें , फिर उन सभी स्तंभों और पंक्तियों की प्रतिलिपि बनाएँ जिन्हें आप आउटपुट करना चाहते हैं: =IF(LEN(OFFSET(Input!$A$1,ROW()-1,COLUMN()-1))>0,OFFSET(Input!$A$1,ROW()-1,COLUMN()-1),"") ( IF(LEN(...)>0,...,"")कथन आवश्यक है क्योंकि एक्सेल भी आपके लिए डेटा प्रकारों को सहायक रूप से निर्धारित करता है और 0रिक्त कोशिकाओं के लिए उपयोग करता है , और) -1मामले आ क्रमसूचक अर्थ विज्ञान बनाम ऑफसेट से)
  4. Outputशीट पर सशर्त स्वरूपण लागू करें ।

यह आपके Inputडेटा शीट को Outputशीट पर बिना किसी सेल संदर्भ के कॉपी करता है जिसे एक्सेल ऑटो-कसाई करेगा ताकि आप आत्मविश्वास से Outputशीट पर अपनी सशर्त स्वरूपण को परिभाषित कर सकें ।

आपको बस उस सीमा को मैन्युअल रूप से विस्तारित करना होगा Outputजो आपके Inputडेटा के आकार के रूप में सूत्र को शीट में लागू किया जाता है ।

मेरा सुझाव है कि आप किसी भी सेल में विलय से बचें।


पुनश्च यह प्रश्न कई बार पूछा गया है (यह गूगल शीट्स में भी लागू होता है, जो एक्सेल का एक क्लोन है) ताकि आप अपने उपयोग के मामले को उनके माध्यम से देख सकें।

  1. एक्सेल सशर्त स्वरूपण विखंडन
  2. (यह एक) मैं स्वचालित रूप से बदलने से सशर्त स्वरूपण सूत्र और श्रेणी कैसे रख सकता हूं?
  3. कट-पेस्ट पर सशर्त स्वरूपण संरक्षित करें
  4. एक्सेल: संपूर्ण स्प्रेडशीट में सशर्त स्वरूपण को स्थायी रूप से कैसे लागू किया जाए?
  5. क्यों एक्सेल मेरे सशर्त स्वरूपण butchering है?

0

यदि आप प्रारूप ( Paste > Paste Special > Unicode Textया समान) के बिना पेस्ट करते हैं, तो विशेष स्वरूपण की प्रतिलिपि नहीं बनाई जाएगी, और जैसे कि "लागू होता है" -सर्ग नहीं बदलना चाहिए।

आप पंक्तियों / स्तंभों को हटा सकते हैं, लेकिन यदि आप उन्हें "लागू करने के लिए" लागू करते हैं-व्यवस्था विभाजित हो जाएगी।

आप "कर्सर" के नीचे बाईं ओर छोटे वर्ग पर अंतिम पंक्ति / कॉलम और "कॉपी-ड्रैग" का चयन करके क्षेत्र का विस्तार करते हैं। इस तरह "लागू करें"-व्यवस्था बरकरार रहनी चाहिए। (ध्यान दें कि यह पंक्तियों या स्तंभों पर किसी भी सूत्र का विस्तार नहीं करेगा जैसे कि सम्मिलित करता है।)

यह, हालांकि, प्रारूप के बिना पेस्ट करने के लिए याद करने के लिए कुल दर्द है, आदि। मैं आमतौर पर नहीं।

मैं कभी-कभी उस क्षेत्र के लिए एक नाम भी परिभाषित करता हूं जिसे मैं प्रारूपित करना चाहता हूं। इसका उपयोग नियम में नहीं किया जाएगा, लेकिन आप सभी नियमों को हटाकर नियम को साफ कर सकते हैं, लेकिन "Applies" सेक्शन में क्षेत्र के नाम का उपयोग कर सकते हैं।

मैंने एक्सेल 16.3 (मुझे लगता है कि कार्यालय 2016 ... हम्म) का उपयोग करके मैक पर परीक्षण किया है।

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