एक्सेलमधील सानुकूल फंक्शन्सचे फायदे आणि तोटे

  • ह्याचा प्रसार करा
Michael Brown

आम्ही वापरकर्ता परिभाषित फंक्शन्स बद्दल शिकवण्यांची मालिका सुरू ठेवत आहोत. आमच्या मागील लेखांमध्ये, आम्ही सानुकूल फंक्शन्सशी परिचित झालो आणि ते कसे तयार करावे आणि कसे वापरावे ते शिकलो. या मॅन्युअलमध्ये आपण ही फंक्शन्स वापरण्याची वैशिष्ट्ये पाहू आणि UDF आणि VBA मॅक्रोमधील फरक पाहू.

या ट्युटोरियलमध्ये आपण पुढील गोष्टी शिकू:

    आम्हाला आशा आहे की हा लेख UDF बद्दलचे तुमचे ज्ञान वाढवेल आणि तुमच्या Excel वर्कबुकमध्ये त्यांचा अधिक प्रभावीपणे वापर करण्यात मदत करेल.

    UDF आणि मॅक्रो एकच आहे का?

    दोन्ही वापरकर्ता परिभाषित फंक्शन्स आणि VBA मॅक्रो VBA संपादक वापरून तयार केले जातात. त्यांच्यात काय फरक आहे आणि कशाला प्राधान्य द्यायचे?

    सर्वात महत्त्वाचा फरक म्हणजे फंक्शन गणना करते आणि मॅक्रो काही क्रिया करते. नियमित एक्सेल फंक्शन प्रमाणे वापरकर्ता परिभाषित फंक्शन सेलमध्ये लिहिलेले असणे आवश्यक आहे. त्याच्या अंमलबजावणीच्या परिणामी, सेल काही मूल्य परत करतो. त्याच वेळी, इतर सेलची मूल्ये तसेच वर्तमान सेलचे काही गुणधर्म (विशेषतः स्वरूपन) बदलणे अशक्य आहे. तथापि, तुम्ही कंडिशनल फॉरमॅटिंग फॉर्म्युलामध्ये कस्टम फंक्शन वापरू शकता.

    UDF आणि VBA मॅक्रो वेगवेगळ्या प्रकारे काम करतात. उदाहरणार्थ, जेव्हा तुम्ही Visual Basic Editor मध्ये UDF तयार करता, तेव्हा तुम्ही Function स्टेटमेंटने सुरुवात करता आणि End Function ने समाप्त करता. जेव्हा तुम्ही मॅक्रो रेकॉर्ड करता, तेव्हा तुम्ही अ ने सुरुवात करताविधान Sub आणि End Sub ने समाप्त करा.

    सर्व व्हिज्युअल बेसिक ऑपरेटर UDF तयार करण्यासाठी वापरले जाऊ शकत नाहीत. या कारणास्तव, मॅक्रो हा अधिक बहुमुखी उपाय आहे.

    मॅक्रोला वापरकर्त्याने परिभाषित केलेल्या फंक्शनच्या विपरीत वापरकर्त्याला कोणतेही वितर्क पास करण्याची आवश्यकता नसते (किंवा ते कोणतेही वितर्क स्वीकारू शकत नाही).

    मुद्दा असा आहे की मॅक्रोच्या काही कमांड सेल पत्ते किंवा स्वरूपन घटक (उदाहरणार्थ, रंग) वापरू शकतात. तुम्ही सेल हलवल्यास, पंक्ती आणि स्तंभ जोडल्यास किंवा काढून टाकल्यास, सेलचे स्वरूप बदलल्यास, तुम्ही तुमचे मॅक्रो सहजपणे "ब्रेक" करू शकता. हे विशेषतः शक्य आहे जर तुम्ही तुमची फाईल अशा सहकार्‍यांसोबत शेअर केली ज्यांना तुमचे मॅक्रो कसे काम करतात हे माहीत नाही.

    उदाहरणार्थ, तुमच्याकडे एक परिपूर्ण मॅक्रो असलेली फाइल आहे. हे सूत्र सेल A1 ते A4 च्या टक्केवारीची गणना करते. मॅक्रो या पेशींचा रंग पिवळा बदलतो. सक्रिय सेलमध्ये टक्केवारीचे स्वरूप सेट केले आहे.

    तुम्ही किंवा इतर कोणीतरी नवीन पंक्ती घालण्याचे ठरवल्यास, मॅक्रो A4 सेलमधील मूल्य शोधत राहील ( तुमच्या UDF मधील 4,1 पॅरामीटर, अयशस्वी आणि त्रुटी परत करा:

    या प्रकरणात, शून्याने भागाकारल्यामुळे त्रुटी आली (नव्याने जोडलेल्यामध्ये कोणतेही मूल्य नाही पंक्ती). जर मॅक्रो कार्य करत असेल तर, समजा, सारांश, तर तुम्हाला फक्त एक चुकीचा परिणाम मिळेल. परंतु तुम्हाला त्याबद्दल माहिती नसेल.

    मॅक्रोच्या उलट, वापरकर्ता परिभाषित फंक्शन्स अशी अप्रिय परिस्थिती निर्माण करू शकत नाहीत.

    खाली तुम्‍ही ची कामगिरी पाहाUDF वापरून समान गणना. येथे तुम्ही वर्कशीटमध्ये कुठेही इनपुट सेल निर्दिष्ट करू शकता आणि ते बदलताना तुम्हाला कोणत्याही अनपेक्षित समस्यांना सामोरे जावे लागणार नाही.

    मी C3 मध्ये खालील सूत्र लिहिले आहे:

    =UDF_vs_Macro(A1,A4)

    मग मी एक रिकामी पंक्ती घातली आणि तुम्ही वरील स्क्रीनशॉटमध्ये पाहू शकता त्याप्रमाणे सूत्र बदलले.

    आता आपण इनपुट सेल किंवा फंक्शनसह सेल कुठेही हलवू शकतो. परिणाम नेहमी योग्य असेल.

    UDF वापरण्याचा एक अतिरिक्त फायदा म्हणजे इनपुट सेलमधील मूल्य बदलल्यावर ते आपोआप अपडेट होतात. मॅक्रो वापरताना, तुम्ही नेहमी सर्व डेटा अद्ययावत असल्याची खात्री केली पाहिजे.

    हे उदाहरण लक्षात घेऊन, मी शक्य असेल तिथे UDF वापरण्यास प्राधान्य देईन आणि फक्त इतर गैर-गणना क्रियाकलापांसाठी मॅक्रो वापरेन.

    UDF वापरण्याच्या मर्यादा आणि तोटे

    मी वर UDF चे फायदे आधीच सांगितले आहेत. लांबलचक कथा, ते मानक एक्सेल फंक्शन्ससह शक्य नसलेली गणना करू शकते. याव्यतिरिक्त, ते एका फंक्शनमध्ये बदलून लांब आणि जटिल सूत्रे जतन आणि वापरू शकते. आणि तुम्हाला पुन्हा पुन्हा क्लिष्ट सूत्रे लिहावी लागणार नाहीत.

    आता UDF च्या कमतरतांबद्दल अधिक तपशीलवार बोलूया:

    • UDF तयार करण्यासाठी VBA चा वापर करणे आवश्यक आहे. त्याभोवती कोणताही मार्ग नाही. याचा अर्थ वापरकर्ता एक्सेल मॅक्रो प्रमाणे UDF रेकॉर्ड करू शकत नाही. तुम्हाला स्वतः UDF तयार करावा लागेल. तथापि, आपण कॉपी करू शकता आणितुमच्या फंक्शनमध्ये पूर्वी रेकॉर्ड केलेल्या मॅक्रो कोडचे काही भाग पेस्ट करा. तुम्हाला फक्त सानुकूल फंक्शन्सच्या मर्यादांची जाणीव असणे आवश्यक आहे.
    • UDF चा आणखी एक दोष म्हणजे इतर कोणत्याही एक्सेल फंक्शनप्रमाणे ते सेलमध्ये फक्त एक मूल्य किंवा मूल्यांचा अॅरे परत करू शकते. हे फक्त आकडेमोड करते, आणखी काही नाही.
    • तुम्हाला तुमचे कार्यपुस्तक तुमच्या सहकाऱ्यांसोबत शेअर करायचे असल्यास, तुमचे UDF त्याच फाइलमध्ये सेव्ह करण्याचे सुनिश्चित करा. अन्यथा, तुमची सानुकूल कार्ये त्यांच्यासाठी कार्य करणार नाहीत.
    • VBA संपादकासह तयार केलेली सानुकूल कार्ये नियमित कार्यांपेक्षा हळू असतात. हे विशेषतः मोठ्या टेबलमध्ये लक्षात घेण्यासारखे आहे. दुर्दैवाने, VBA ही आतापर्यंत अतिशय मंद प्रोग्रामिंग भाषा आहे. म्हणून, तुमच्याकडे भरपूर डेटा असल्यास, जेव्हा शक्य असेल तेव्हा मानक फंक्शन्स वापरण्याचा प्रयत्न करा किंवा LAMBDA फंक्शन वापरून UDF तयार करा.

    सानुकूल कार्य मर्यादा:

    • UDF आहेत गणना करण्यासाठी आणि मूल्य परत करण्यासाठी डिझाइन केलेले. ते मॅक्रोच्या जागी वापरले जाऊ शकत नाहीत.
    • ते इतर कोणत्याही सेलची सामग्री बदलू शकत नाहीत (केवळ सक्रिय सेल).
    • फंक्शन नावांनी काही नियमांचे पालन केले पाहिजे. उदाहरणार्थ, तुम्ही मूळ एक्सेल फंक्शनच्या नावाशी किंवा सेल अॅड्रेसशी जुळणारे नाव वापरू शकत नाही, जसे की AB123.
    • तुमच्या कस्टम फंक्शनमध्ये नावामध्ये स्पेस असू शकत नाही, परंतु त्यात अंडरस्कोर कॅरेक्टरचा समावेश असू शकतो. तथापि, प्रत्येक नवीनच्या सुरूवातीस कॅपिटल अक्षरे वापरणे ही पसंतीची पद्धत आहेशब्द (उदाहरणार्थ, GetMaxBetween).
    • UDF वर्कशीटच्या इतर भागात सेल कॉपी आणि पेस्ट करू शकत नाही.
    • ते सक्रिय वर्कशीट बदलू शकत नाहीत.
    • UDF' सक्रिय सेलमधील स्वरूपन बदलू नका. तुम्ही भिन्न मूल्ये प्रदर्शित करताना सेलचे स्वरूपन बदलू इच्छित असल्यास, तुम्ही सशर्त स्वरूपन वापरावे.
    • ते अतिरिक्त पुस्तके उघडू शकत नाहीत.
    • ते अनुप्रयोग वापरून मॅक्रो चालवण्यासाठी वापरले जाऊ शकत नाहीत.OnTime .
    • मॅक्रो रेकॉर्डर वापरून वापरकर्ता-परिभाषित फंक्शन तयार केले जाऊ शकत नाही.
    • फंक्शन्स डेव्हलपर > मध्ये दिसत नाहीत. मॅक्रो डायलॉग.
    • तुमची फंक्शन्स डायलॉग बॉक्समध्ये ( इन्सर्ट > फंक्शन ) आणि फंक्शन्सच्या सूचीमध्ये ते सार्वजनिक<7 म्हणून घोषित केले असल्यासच दिसून येतील> (अन्यथा नमूद केल्याशिवाय हे डीफॉल्ट आहे).
    • खाजगी म्हणून घोषित केलेली कोणतीही कार्ये वैशिष्ट्य सूचीमध्ये दिसणार नाहीत.

    एक अतिशय हळू ऑपरेशन , तसेच वापरातील काही निर्बंध, तुम्हाला विचार करायला लावू शकतात: "या सानुकूल फंक्शन्सचा उपयोग काय आहे?"

    ते उपयोगी पडू शकतात आणि जर आपण त्यांच्यावर लादलेल्या मर्यादा लक्षात घेत असाल तर ते करू शकतात. जर तुम्ही UDF योग्यरित्या कसे तयार करायचे आणि कसे वापरायचे ते शिकल्यास, तुम्ही तुमची फंक्शन्सची लायब्ररी लिहू शकता. हे एक्सेलमधील डेटासह कार्य करण्याची तुमची क्षमता मोठ्या प्रमाणात वाढवेल.

    माझ्यासाठी, कस्टम फंक्शन्स उत्तम वेळ वाचवणारे आहेत. आणि तुझ्याविषयी काय? तुम्ही आधीच तुमचा स्वतःचा UDF तयार करण्याचा प्रयत्न केला आहे का? तुम्हाला ते आवडले कामूलभूत एक्सेल फंक्शन्सपेक्षा चांगले? त्यावर टिप्पण्यांमध्ये चर्चा करूया :)

    मायकेल ब्राउन हे सॉफ्टवेअर टूल्स वापरून जटिल प्रक्रिया सुलभ करण्याच्या उत्कटतेने एक समर्पित तंत्रज्ञान उत्साही आहे. टेक उद्योगातील एका दशकाहून अधिक अनुभवासह, त्यांनी Microsoft Excel आणि Outlook, तसेच Google Sheets आणि Docs मध्ये आपल्या कौशल्यांचा गौरव केला आहे. मायकेलचा ब्लॉग त्याचे ज्ञान आणि कौशल्य इतरांसोबत सामायिक करण्यासाठी समर्पित आहे, उत्पादकता आणि कार्यक्षमता सुधारण्यासाठी सुलभ टिपा आणि ट्यूटोरियल प्रदान करतो. तुम्ही अनुभवी व्यावसायिक असाल किंवा नवशिक्या असाल, मायकेलचा ब्लॉग या आवश्यक सॉफ्टवेअर टूल्सचा जास्तीत जास्त फायदा घेण्यासाठी मौल्यवान अंतर्दृष्टी आणि व्यावहारिक सल्ला देतो.