सामग्री सारणी
वाइल्डकार्ड मजकूरासह IF स्टेटमेंट तयार करण्याचा प्रयत्न करत आहात, परंतु ते प्रत्येक वेळी अयशस्वी होते? समस्या तुमच्या सूत्रात नाही तर फंक्शनमध्येच आहे - एक्सेल IF वाइल्डकार्ड वर्णांना समर्थन देत नाही. तथापि, आंशिक मजकूर जुळणीसाठी ते कार्य करण्यासाठी एक मार्ग आहे, आणि हे ट्यूटोरियल तुम्हाला कसे शिकवेल.
जेव्हा तुम्हाला Excel मध्ये आंशिक किंवा अस्पष्ट जुळणी करायची असेल, तेव्हा सर्वात स्पष्ट उपाय आहे वाइल्डकार्ड वापरण्यासाठी. परंतु तुम्हाला वापरायचे असलेले विशिष्ट फंक्शन वाइल्डकार्ड वर्णांना समर्थन देत नसल्यास काय? दुर्दैवाने, Excel IF हे अशा फंक्शन्सपैकी एक आहे. COUNTIF, SUMIF आणि AVERAGEIFS सारखी इतर "सशर्त" कार्ये वाइल्डकार्डसह उत्तम प्रकारे कार्य करतात हे लक्षात घेता हे विशेषतः निराशाजनक आहे.
सुदैवाने, सर्जनशील एक्सेल वापरकर्त्याला रोखू शकणारा अडथळा नाही :) IF एकत्र करून इतर फंक्शन्ससह, तुम्ही त्यास आंशिक जुळणीचे मूल्यमापन करण्यास भाग पाडू शकता आणि Excel IF वाइल्डकार्ड फॉर्म्युलाचा एक चांगला पर्याय मिळवू शकता.
वाइल्डकार्डसह एक्सेल IF कार्य का करत नाही
खालील नमुना तक्त्यामध्ये, समजा तुम्हाला पहिल्या स्तंभातील ID मध्ये "A" अक्षर आहे की नाही हे तपासायचे आहे. आढळल्यास - स्तंभ B मध्ये "होय" प्रदर्शित करा, नसल्यास - "नाही" प्रदर्शित करा.
तार्किक चाचणीमध्ये वाइल्डकार्ड मजकूर समाविष्ट करणे हा एक सोपा उपाय असेल असे दिसते:
=IF(A2="*a*","Yes", "No")
<3
पण खेदाने ते काम करत नाही. सूत्र सर्व सेलसाठी "नाही" मिळवते, अगदी "A" समाविष्ट असलेल्या सेलसाठी:
कावाइल्डकार्ड आयएफ स्टेटमेंट अयशस्वी झाले? सर्व देखाव्यांवरून, एक्सेल समान चिन्हासह वापरलेले वाइल्डकार्ड किंवा इतर तार्किक ऑपरेटर ओळखत नाही. वाइल्डकार्डला सपोर्ट करणार्या फंक्शन्सच्या सूचीवर बारकाईने नजर टाकल्यास, तुमच्या लक्षात येईल की त्यांचा सिंटॅक्स वाइल्डकार्ड मजकूर असे गृहीत धरतो की थेट यासारख्या युक्तिवादात दिसून येईल:
=COUNTIF(A2:A10, "*a*")
Excel IF मध्ये आंशिक मजकूर आहे
आता तुम्हाला वाइल्डकार्ड IF फॉर्म्युला अयशस्वी होण्याचे कारण माहित आहे, ते कसे कार्य करायचे ते शोधण्याचा प्रयत्न करूया. यासाठी, आम्ही फक्त एक फंक्शन एम्बेड करू जे IF च्या तार्किक चाचणीमध्ये वाइल्डकार्ड स्वीकारते, म्हणजे COUNTIF फंक्शन:
IF(COUNTIF( cell , "* text * "), value_if_true, value_if_false)या पध्दतीने, IF ला वाइल्डकार्ड समजण्यात कोणतीही अडचण येत नाही आणि "A" किंवा "a" (COUNTIF केस-संवेदी नसल्यामुळे):
=IF(COUNTIF(A2, "*a*"),"Yes", "No")
हे सूत्र B2 किंवा पंक्ती 2 मधील इतर कोणत्याही सेलवर जाते आणि नंतर तुम्ही ते आवश्यक तितक्या सेलमध्ये खाली ड्रॅग करू शकता:
हे सोल्यूशन विशिष्ट पॅटर्नचे स्ट्रिंग शोधण्यासाठी देखील वापरले जाऊ शकते. हायफनसह विभक्त केलेले 2 वर्णांचे 2 गट असलेले आयडी वैध आहेत असे गृहीत धरून, तुम्ही "???-???" त्यांना ओळखण्यासाठी वाइल्डकार्ड स्ट्रिंग:
=IF(COUNTIF(A2, "??-??"), "Valid", "")
हे सूत्र कसे कार्य करते:
च्या तार्किक चाचणीसाठी जर, आम्ही COUNTIF फंक्शन वापरतो जे निर्दिष्ट वाइल्डकार्डशी जुळणार्या सेलची संख्या मोजतेस्ट्रिंग निकष श्रेणी एकल सेल (A2) असल्याने, परिणाम नेहमी 1 (सामना आढळला) किंवा 0 (सामना सापडला नाही) असतो. 1 हे TRUE आणि 0 ला FALSE च्या बरोबरीचे आहे हे लक्षात घेऊन, जेव्हा संख्या 1 असेल तेव्हा सूत्र "वैध" (value_if_true) मिळवते आणि जेव्हा संख्या 0 असते तेव्हा रिक्त स्ट्रिंग (value_if_false) मिळवते.
असल्यास आंशिक साठी शोध सूत्र जुळण्या
अंशिक मजकूर जुळणीसाठी Excel IF ला कार्य करण्यास भाग पाडण्याचा दुसरा मार्ग म्हणजे तार्किक चाचणीमध्ये FIND किंवा SEARCH फंक्शन समाविष्ट करणे. फरक हा आहे की FIND केस-सेन्सिटिव्ह आहे तर SEARCH नाही.
म्हणून, तुम्हाला लोअरकेस आणि अप्परकेस समान किंवा भिन्न वर्ण म्हणून हाताळायचे आहे की नाही यावर अवलंबून, यापैकी एक सूत्र योग्य कार्य करेल:<3 आंशिक जुळणीसाठी
केस-संवेदनशील सूत्र:
IF(ISNUMBER(SEARCH(" text ", cell )), value_if_true, value_if_false )केस-संवेदी आंशिक जुळणीसाठी सूत्र:
IF(ISNUMBER(FIND(" text ", cell )), value_if_true, value_if_false )दोन्ही फंक्शन्स "सेल समाविष्ट आहे" प्रकारची जुळणी करण्यासाठी डिझाइन केलेली असल्याने, या प्रकरणात वाइल्डकार्डची खरोखर आवश्यकता नाही.
उदाहरणार्थ, "A" किंवा "a" असलेले ID शोधण्यासाठी , सूत्र आहे:
=IF(ISNUMBER(SEARCH("A", A2)), "Yes", "No")
केवळ कॅपिटल "A" शोधण्यासाठी आणि "a" कडे दुर्लक्ष करण्यासाठी, सूत्र आहे:
=IF(ISNUMBER(FIND("A", A2)), "Yes", "No")
खालील स्क्रीनशॉटमध्ये B6 मध्ये, तुम्ही परिणामातील फरक पाहू शकता:
हे सूत्र कसे कार्य करते:
वर चे हृदयसूत्रानुसार, ISNUMBER आणि SEARCH (किंवा FIND) चे संयोजन आहे:
ISNUMBER(SEARCH("A", A2))
SEARCH फंक्शन निर्दिष्ट मजकूर (या उदाहरणातील "A") शोधते आणि आत त्याचे स्थान परत करते A2 मध्ये एक स्ट्रिंग. मजकूर न आढळल्यास, #VALUE त्रुटी परत केली जाईल. SEARCH आणि FIND दोन्ही "सेल समाविष्ट आहे" प्रकार जुळण्यासाठी डिझाइन केलेले असल्यामुळे, या प्रकरणात वाइल्डकार्डची खरोखर आवश्यकता नाही.
ISNUMBER फंक्शन एका संख्येचे सत्यात आणि त्रुटीसह इतर कोणतेही मूल्य असत्य मध्ये रूपांतरित करते. . तार्किक मूल्य थेट IF च्या तार्किक चाचणीवर जाते. आमच्या बाबतीत, A2 मध्ये "A" आहे, त्यामुळे ISNUMBER TRUE:
IF(TRUE, "Yes", "No")
परिणामी म्हणून, IF value_if_true वितर्कासाठी सेट केलेले मूल्य परत करतो, जे आहे "होय".
वाइल्डकार्डसह एक्सेल IF किंवा स्टेटमेंट
वाइल्डकार्ड मजकूर स्ट्रिंगपैकी एक असलेल्या सेल ओळखण्याची आवश्यकता आहे? या प्रकरणात, आपण वर चर्चा केलेल्या COUNTIF किंवा ISNUMBER शोध सूत्रासह क्लासिक IF OR विधान एकत्र करू शकता.
उदाहरणार्थ, A2 मध्ये "aa" किंवा "bb" शोधण्यासाठी अक्षर केसकडे दुर्लक्ष करून आणि परत " होय" यापैकी एक आढळल्यास, यापैकी एक सूत्र वापरा:
=IF(OR(ISNUMBER(SEARCH("aa", A2)), ISNUMBER(SEARCH("bb", A2))), "Yes", "")
किंवा
=IF(OR(COUNTIF(A2, "*aa*"), COUNTIF(A2, "*bb*")), "Yes", "")
दोन COUNTIF फंक्शन्स जोडणे देखील कार्य करेल. या प्रकरणात, अधिक चिन्ह OR ऑपरेटर प्रमाणे कार्य करते:
=IF(COUNTIF(A3, "*aa*") + COUNTIF(A3, "*bb*"), "Yes", "")
फॉर्म्युलामध्ये वाइल्डकार्ड स्ट्रिंग हार्डकोड करण्याऐवजी, तुम्ही त्यांना वेगळ्या सेलमध्ये इनपुट करू शकता, जसे की D2 आणि F2 म्हणा, दाखवल्याप्रमाणे खालील स्क्रीनशॉटमध्ये. कृपया याकडे लक्ष द्यासेल संदर्भ $ चिन्हाने लॉक केले आहेत जेणेकरून सूत्र खालील सेलमध्ये योग्यरित्या कॉपी करेल:
=IF(OR(COUNTIF(A2, "*"&$D$2&"*"), COUNTIF(A2, "*"&$F$2&"*")), "Yes", "")
वरील सूत्र 2 आंशिक जुळण्यांसाठी चांगले कार्य करतात , परंतु जर तुम्ही 3 किंवा अधिक शोधत असाल तर ते खूप लांब होतील. या प्रकरणात, कार्याकडे वेगळ्या पद्धतीने संपर्क साधण्याचे कारण आहे:
अॅरे कॉन्स्टंटमध्ये SEARCH फंक्शनला एकाधिक सबस्ट्रिंग्स पुरवा, मिळालेल्या संख्या मोजा आणि परिणाम शून्यापेक्षा जास्त आहे का ते तपासा (याचा अर्थ किमान एक सबस्ट्रिंग आढळल्यास:
=IF(COUNT(SEARCH({"aa","bb"}, A2))>0, "Yes", "")
अशा प्रकारे, तुम्हाला अधिक संक्षिप्त सूत्रासह अगदी समान परिणाम मिळेल:
वाइल्डकार्डसह एक्सेल IF आणि सूत्र
जेव्हा तुम्हाला सेलमध्ये दोन किंवा अधिक भिन्न सबस्ट्रिंग्स आहेत की नाही हे तपासायचे असेल, तेव्हा सर्वात सोपा मार्ग म्हणजे तार्किक चाचणीसाठी वाइल्डकार्डसह COUNTIFS फंक्शन वापरणे.<3
समजा तुम्हाला स्तंभ A मध्ये सेल शोधायचा आहे ज्यामध्ये "b" आणि "2" दोन्ही आहेत. ते पूर्ण करण्यासाठी, COUNTIFS च्या निकषांसाठी "*b*" आणि "*2*" आणि निकष श्रेणीसाठी A2 वापरा:
=IF(COUNTIFS(A2, "*b*", A2, "*2*"), "Yes", "")
दुसरा मार्ग म्हणजे IF आणि सूत्र एकत्र वापरणे. ISNUMBER SEARCH सह:
=IF(AND(ISNUMBER(SEARCH("b", A2)), ISNUMBER(SEARCH("2", A2))), "Yes", "")
आम्ही या सूत्रामध्ये कोणतेही वाइल्डकार्ड वर्ण समाविष्ट करत नसले तरी ते दोन वाइल्डकार्ड स्ट्रिंग ("*b*" आणि "*2*" शोधण्यासारखे कार्य करते. ) त्याच सेलमध्ये.
अर्थात, पूर्वनिर्धारित सेलमध्ये शोध मूल्ये प्रविष्ट करण्यापासून, आमच्या बाबतीत D2 आणि F2, आणि पुरवठा करण्यापासून काहीही प्रतिबंधित करत नाहीसेल सूत्राचा संदर्भ देते:
=IF(AND(ISNUMBER(SEARCH($D$2, A2)), ISNUMBER(SEARCH($F$2, A2))), "Yes", "")
जेथे शक्य असेल तेथे अधिक संक्षिप्त सूत्रे वापरण्यास प्राधान्य दिल्यास, तुम्हाला अॅरे स्थिर दृष्टीकोन अधिक आवडेल. IF COUNT SEARCH फॉर्म्युला मागील उदाहरणाप्रमाणेच आहे, परंतु यावेळी दोन्ही सबस्ट्रिंग्स A2 मध्ये दिसणे आवश्यक असल्याने, आम्ही मोजणी 2:
=IF(COUNT(SEARCH({"b","2"}, A2))=2, "Yes", "")
<17 च्या समान आहे का ते तपासतो.
एक्सेलमधील IF स्टेटमेंटमध्ये वाइल्डकार्ड वापरण्याच्या या मुख्य पद्धती आहेत. तुम्हाला इतर कोणतेही उपाय माहित असल्यास, तुम्ही तुमचा अनुभव टिप्पण्यांमध्ये शेअर केल्यास इतर वापरकर्ते नक्कीच प्रशंसा करतील. वाचल्याबद्दल मी तुमचा आभारी आहे आणि तुम्हाला पुढील आठवड्यात आमच्या ब्लॉगवर भेटण्याची आशा आहे!
डाउनलोड करण्यासाठी सराव वर्कबुक
एक्सेल IF वाइल्डकार्ड फॉर्म्युला उदाहरणे (.xlsx फाइल)