एक्सेल सेल का फॉर्मूला है या हार्डकोड है तो कैसे बताएं?


17

क्या किसी को एक विशेष टिप (गैर-वीबीए दृढ़ता से पसंद है) व्यवस्थित रूप से यह बताने के लिए है कि क्या सेल में हार्डकोड है या इसका व्युत्पन्न सूत्र है?

कुछ डेटा के साथ काम कर रहा हूँ, जिसमें गन्दे उप-योग हैं और यह देखने की कोशिश कर रहा हूँ कि क्या मैं कच्ची लाइनों को अलग कर सकता हूँ।


क्या "शो फॉर्मूला" मोड (Ctrl + `) मदद करता है?
sblair

यह करता है, लेकिन मैं इसे "व्यवस्थित" नहीं मानूंगा - मुझे उप-योग लाइनों को दूर करने के लिए हाथ से विस्फोट करने की आवश्यकता है।
YGA

जवाबों:


8

सशर्त स्वरूपण का उपयोग करें। "कौन सा कक्ष फ़ॉर्मेट करें" विकल्प और "= NOT (सेलशफ़ॉर्मुला)" को निर्धारित करने के लिए "सूत्र का उपयोग करें" चुनें। यह कुछ भी है कि हार्डकोड है प्रारूप होगा।


8
तो यह पूरा जवाब नहीं था, लेकिन यह वास्तव में काफी सुरुचिपूर्ण है। पूरा उत्तर इस पर है: j-walk.com/ss/excel/usertips/tip045.htm कुंजी यह है कि आपको "सेलहासफॉर्मूला" नामक एक नाम (फॉर्मूला -> नाम प्रबंधक) बनाने के लिए 1 "की आवश्यकता है" रहस्यमय सूत्र = GET.CELL (48, संकेत ("आरसी", FALSE))। जैसा कि लिंक कहता है, सूत्र GET.CELL का उपयोग करता है, जो कि XLM मैक्रो भाषा (VBA की पूर्ववर्ती) में है और इसका उपयोग सीधे वर्कशीट में नहीं किया जा सकता है। यदि सेल का फॉर्मूला है तो "48" आर्ग GET.CELL 'सही' लौटाता है। मूल रूप से चयनित श्रेणी में प्रत्येक सेल के लिए एक रेफरी बनाता है।
YGA

मैंने उन विवरणों को शामिल करने के लिए उत्तर संपादित किया है। साभार @YGA
Alain

15

प्रश्न में कक्षों का चयन करें, Ctrl+ दबाएँ Gऔर फिर Specialनिम्नलिखित संवाद बॉक्स प्राप्त करने के लिए चयन करें :

स्पेशल डायलॉग बॉक्स पर जाएं

फिर आप जिस प्रकार की कोशिकाएँ चाहते हैं, उसे निर्दिष्ट करें OKऔर क्लिक करें और केवल उन प्रकार की कोशिकाओं का चयन किया जाएगा।



3
=iferror(Formulatext(cell),"Not Formula")

या केवल सूत्र दिखाने के लिए:

=iferror(Formulatext(cell),"")

Excel के बजाय LibreOffice Calc का उपयोग करने वाले किसी के लिए, फॉर्म्युलेट () फॉर्मूला () के साथ बदलें।
फिक्सर 1234

2

दो अन्य विधियां हैं

  1. मेरे मैपिंग जैसे मैपिंग टूल का उपयोग करें ! एडिन (जिसे एक भरोसेमंद एडिन के रूप में चलाया जा सकता है)
  2. आप बहुत उपयोगी XLM / रेंज नाम वर्कअराउंड का उपयोग कर सकते हैं जो हार्डकोडेड सेल, फॉर्मूला, लिंक्ड सेल आदि का वास्तविक समय रंग प्रदान करता है। इसके लिए VBA के विपरीत किसी भी प्रोग्रामिंग ज्ञान की आवश्यकता नहीं होती है।

1

मुझे पता है कि आपने गैर-VBA को प्राथमिकता दी है, लेकिन यदि आप कोई अन्य समाधान नहीं करते हैं, तो रेंज ऑब्जेक्ट में एक HasFormula गुण होता है।

रिटर्न: सही है अगर रेंज में सभी कोशिकाओं में सूत्र होते हैं; यदि श्रेणी में कोई भी कोशिका सूत्र नहीं है तो गलत है; अशक्त अन्यथा।

स्रोत: http://msdn.microsoft.com/en-us/library/bb208626%28v=office.12%29.aspx


1

यदि आप एक्सेल फाइल को मैक्रो-फ्री वर्कबुक फॉर्मेट में स्टोर करना चाहते हैं, तो आपको VBA और मैक्रोज़ (अर्थात अन्य उत्तरों में सुझाए गए XL4 / XLM दृष्टिकोण) से बचना चाहिए। इस जवाब में, मैंने एक मैक्रो-फ्री एक्सेल फाइल की धारणा बनाई।

यदि आप MS-Excel 2013 का उपयोग करते हैं, तो आप उपयोग कर सकते हैं:

=ISFORMULA(reference)

यदि आप पुराने MS-Excel संस्करण (जैसे 2010, 2007) का उपयोग करते हैं, तो यह निर्धारित करने के लिए कोई सही फ़ंक्शन नहीं है कि सेल में कोई सूत्र है या नहीं। हालाँकि, आप इसका उपयोग करके अनुमानित कर सकते हैं:

=IF(OR(ISBLANK(reference);CELL("prefix";reference)<>"");FALSE;IF(CELL("type";reference)="l";TRUE;"MAYBE"))

रिटर्न के ऊपर फ़ंक्शन:

  • सूत्र डेटा वाले कक्षों के लिए सही परिणाम स्ट्रिंग डेटा में होता है।
  • स्ट्रिंग शाब्दिक या रिक्त कोशिकाओं वाले FALSE है।
  • बूलियन, संख्या या दिनांक वाली कोशिकाओं के लिए "MAYBE", भले ही यह मूल्य शाब्दिक हो या किसी सूत्र का परिणाम हो।

1

मूल तिथि अच्छी तरह से अतीत है, लेकिन अगर यह किसी के लिए उपयोग किया जाता है, तो मैंने कोशिकाओं की सीमा का चयन करके इसे प्राप्त करने में कामयाब रहा, फिर रिप्लेसमेंट (Ctrl + H) का उपयोग करके, इसे "फ़ार्मुलों" में देखें और एक समान की जगह लें। =एक एपोस्ट्रोफ-बराबर के साथ'=

इसने सभी फॉर्मूले निकाले, लेकिन जाहिर है कि अगर $ C $ 1 समाहित होता है तो यह भी चीजों को परिवर्तित =if($A1=$B1,"Match","Different")कर देगा'=if($A1'=$B1,"Match","Different")

A1'=B1सूत्र के बीच में ध्यान दें जो समस्याग्रस्त हो सकता है, लेकिन फिर भी इसका मतलब है कि आपको सूत्र देखने को मिलते हैं, यद्यपि गैर-व्यावहारिक रूप से। इसे वापस बदलने के लिए SUBSTITUTE फ़ंक्शन का उपयोग किया जा सकता है, इसलिए $ D $ 1 में शामिल है =SUBSTITUTE(C1,"'=","="), फिर Notepad से कॉपी करें और $ E $ 1 में वापस पेस्ट करें

दूसरा तरीका 'फॉर्मूलों को दिखाना' होगा, लेकिन यह सिर्फ एक चयनित रेंज ही नहीं, बल्कि हर सेल के लिए फॉर्मूला दिखाएगा।


1
Function is_formula(c As Range) As Boolean
  is_formula = Left(c.Formula, 1) = "="
End Function

क्या आप हमें यह बताने के लिए संक्षिप्त विवरण जोड़ सकते हैं कि यहाँ क्या हो रहा है? :)
बर्टिएब

बस इसे VBA मॉड्यूल में रखें, हालाँकि मुझे पता है कि अब OP VBA नहीं चाहता था। लेकिन वैसे भी, इसलिए मैं उपयोग करता हूं।
जॉर्ज स्केल्टन

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