जांचें कि क्या किसी सेल में एक विकल्प है


229

क्या किसी सेल में किसी दिए गए चरित्र / सबस्ट्रिंग की जाँच करने के लिए इन-बिल्ट फ़ंक्शन है?

इसका मतलब है कि आप पाठ्य कार्यों को लागू कर सकते हैं जैसे Left/Right / Midसशर्त आधार पर त्रुटियों को फेंकने के बिना हैं जब पात्रों को अनुपस्थित करते हैं।

जवाबों:


374

इसका उपयोग करके देखें:

=ISNUMBER(SEARCH("Some Text", A3))

TRUEयदि सेल A3शामिल है तो यह वापस आ जाएगी Some Text


7
चालाक! धन्यवाद gwin003 :) मैं अभी भी थोड़ा आश्चर्यचकित हूं कि इसके लिए अधिक सहज कार्य नहीं है।
15

18
हाँ, मैं सहमत हूँ, यह अच्छा होगा यदि कोई CONTAINS("Text", cell)समारोह हो।
gwin003

20
लायक यह ध्यान रखें कि यह मैं केस संवेदी हो सकता है, और आप मामले मिलान करना चाहते हैं, तो आप का उपयोग करना चाहिए FIND()के स्थान परSEARCH()
कोड जॉकी

7
के ,बजाय का उपयोग कर एक त्रुटि मिली ;। प्रदान किए गए सूत्र को बदलने के बाद =ISNUMBER(SEARCH("Some Text"; A3))इसने काम किया। धन्यवाद!
रेनतोव

6
@renatov जो वास्तव में आपके OS के स्थान पर निर्भर करता है ; विशेष रूप से, "सूची विभाजक" के लिए उपयोग किया जाने वाला चरित्र।
पेपोलुआन

22

सेल C10 में "CHECK" टेक्स्ट दिखाई देने पर निम्न सूत्र निर्धारित करता है। यदि ऐसा नहीं होता है, तो परिणाम रिक्त है। यदि ऐसा होता है, तो परिणाम "CHECK" का काम है।

=IF(ISERROR(FIND("CHECK",C10,1)),"","CHECK")

आप कोड ब्लॉक को उजागर करने के लिए लाइन की शुरुआत में 4 रिक्त स्थान या टैब का उपयोग कर सकते हैं।
नीमातोजजकोतमास

@Steve, THANK YOU;)
दिमित्री

12

यह सूत्र मुझे अधिक सहज लगता है:

=SUBSTITUTE(A1,"SomeText","") <> A1

यह TRUE देता है यदि "SomeText" A1 के भीतर समाहित है।

अन्य उत्तरों में उल्लिखित IsNumber / Search और IsError / Find फ़ार्मुलों निश्चित रूप से काम करते हैं, लेकिन मैं हमेशा खुद को एक्सेल में उन लोगों के साथ अक्सर मदद या प्रयोग करने की आवश्यकता देखता हूं।


12

उन लोगों के लिए जो आईएफ स्टेटमेंट के अंदर एक एकल फ़ंक्शन का उपयोग करके ऐसा करना चाहते हैं, मैं उपयोग करता हूं

=IF(COUNTIF(A1,"*TEXT*"),TrueValue,FalseValue)

यह देखने के लिए कि क्या प्रतिस्थापन TEXT सेल A1 में है

[नोट: पाठ के चारों ओर तारांकन करने की आवश्यकता है]


यह काम करता है, लेकिन जब विशाल डेटा, COUNTIF सूत्र का उपयोग करता है, तो फ़ाइल का जवाब नहीं देता है, यहां तक ​​कि फ़ाइल का आकार भी विशाल हो जाता है
Gaurravs

8

FIND()Excel में फ़ंक्शन देखें ।

वाक्य - विन्यास:

FIND( substring, string, [start_position])

रिटर्न #VALUE!अगर यह सबस्ट्रिंग नहीं मिल रहा है।


हां इसमें नेस्टेड ISNUMBERभी काम करता है, केस-सेंसिटिव मैचों के लिए ही।
जियोथैरी

1

मुझे रिंक पसंद है। मैं वास्तव में कई तारों की जाँच करना चाहता हूँ और इसे इस तरह किया है:

पहली स्थिति: नाम जो कि घर बनाने वाले या सामुदायिक नाम हो सकते हैं और मुझे एक समूह के रूप में बिल्डरों को बाल्टी देने की आवश्यकता है। ऐसा करने के लिए मैं "बिल्डर" या "निर्माण" शब्द की तलाश कर रहा हूं, आदि -

=IF(OR(COUNTIF(A1,"*builder*"),COUNTIF(A1,"*builder*")),"Builder","Community")

एसओ में आपका स्वागत है। आपको एक अच्छा जवाब देना चाहिए
ज्येष्ठ मास

मुझे समझ में नहीं आ रहा है कि इसका क्या मतलब है .. यह बिल्डर के लिए दो बार जांच करता है जब संभवतः एक बार पर्याप्त होगा। अगर यह बिल्डर को मिल जाए तो यह बिल्डर को वापस कर देता है, अन्यथा यह समुदाय को वापस कर देता है। शब्द निर्माण कहीं भी प्रकट नहीं होता है। शायद कुछ पसंद है =OR(COUNTIF(A1,"*builder*"),COUNTIF(A1,"*construction*"))?
3

वहाँ है COUNTIFS:COUNTIFS(A1,"*builder*",A1,"*construction*")
vstepaniuk

1

यह एक पुराना प्रश्न है लेकिन मुझे लगता है कि यह अभी भी मान्य है।

चूंकि कोई फ़ंक्शन फ़ंक्शन नहीं है, इसलिए इसे VBA में घोषित क्यों नहीं किया जाता है? नीचे दिए गए कोड में VBA Instr फ़ंक्शन का उपयोग किया गया है, जो एक स्ट्रिंग में एक विकल्प की तलाश करता है। स्ट्रिंग न मिलने पर यह 0 पर वापस आ जाता है।

Public Function CONTAINS(TextString As String, SubString As String) As Integer
    CONTAINS = InStr(1, TextString, SubString)
End Function

व्यक्तिगत दक्षता में सुधार करने का अच्छा तरीका है, लेकिन प्रतिलिपि प्रस्तुत करने की क्षमता पर मैं कहूंगा :)
जियोथैरी

0

यह एक पुराना प्रश्न है, लेकिन एक्सेल 2016 या नए का उपयोग करने वालों के लिए एक समाधान यह है कि आप नेस्टेड की आवश्यकता को हटा सकते हैं यदि नए IFS( condition1, return1 [,condition2, return2] ...)सशर्त का उपयोग करके संरचनाएं ।

मैंने इसे इस प्रश्न के मामले में इसका उपयोग करने के तरीके के बारे में स्पष्ट रूप से स्पष्ट करने के लिए इसे स्वरूपित किया है:

=IFS(
ISERROR(SEARCH("String1",A1))=FALSE,"Something1",
ISERROR(SEARCH("String2",A1))=FALSE,"Something2",
ISERROR(SEARCH("String3",A1))=FALSE,"Something3"
)

चूंकि SEARCHकोई त्रुटि मिलती है यदि कोई स्ट्रिंग नहीं मिली है तो मैंने इसे ISERROR(...)=FALSEसत्यता की जांच करने के लिए लपेट दिया और फिर वांछित मूल्य वापस कर दिया। यह बहुत अच्छा होगा यदि SEARCHपठनीयता के लिए एक त्रुटि के बजाय 0 लौटाया जाए, लेकिन यह दुर्भाग्य से कैसे काम करता है।

महत्व का एक और नोट IFSयह है कि वह मैच वापस कर देगा जो पहले पाता है और इस प्रकार आदेश देना महत्वपूर्ण है। उदाहरण के लिए अगर मेरे तार थे Surf, Surfing, Surfsके रूप में String1,String2,String3ऊपर और मेरी कोशिकाओं स्ट्रिंग थी Surfingयह सबस्ट्रिंग किया जा रहा है की वजह से दूसरे के स्थान पर पहले कार्यकाल पर मेल खाएगा Surf। इस प्रकार आम भाजक को सूची में अंतिम होना चाहिए। मुझे सही तरीके से काम IFSकरने के लिए आदेश Surfing, Surfs, Surfदेना होगा (स्वैपिंग Surfingऔर Surfsइस सरल उदाहरण में भी काम करेगा), लेकिन Surfअंतिम होने की आवश्यकता होगी।


अधिकांश चाहते हैं कि / और क्षमता हो, दूसरे शब्दों में एक डिफ़ॉल्ट मूल्य। इस उद्धरण को जोड़ने से आपके उत्तर की अपील व्यापक हो सकती है: "डिफ़ॉल्ट रूप से सेट करने का कोई तरीका नहीं है यदि सभी परीक्षण FALSE लौटाते हैं (यानी एक मान यदि गलत है)। इसके बजाय, अंतिम परीक्षण के लिए TRUE दर्ज करें, और फिर एक मान के रूप में वापस जाने के लिए। डिफ़ॉल्ट मान अगर FALSE "
व्हाइटनीलैंड

-3

यहां वह सूत्र है जिसका मैं उपयोग कर रहा हूं

=IF( ISNUMBER(FIND(".",A1)), LEN(A1) - FIND(".",A1), 0 )


यह देखने के लिए जाँच करता है कि क्या "।" A1 में शामिल है, और यदि यह है, तो यह वापस आ जाता है ... A1 में शेष वर्णों की संख्या, "से शुरू"। यह सुनिश्चित नहीं है कि यहां अतिरिक्त गणना प्रासंगिक है या नहीं।
ग्रेड 'एह' बेकन

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