2011-11-29 11 views
12

मैं शब्दों की सूची के लिए एक सेल खोजना चाहता हूं। मुझे लगा कि यह एक सरणी सूत्र के रूप में काम करेगा:एक्सेल: सरणी सूत्रों का उपयोग कर किसी विशेष स्ट्रिंग के भीतर तारों की सूची के लिए खोजें?

{=FIND(<list of words I want to search for>,<cell I want to search>)} 

लेकिन यह केवल एक मैच पाता है, जब शब्द सेल मैं खोज रहा हूँ में है कि शब्द मैं के लिए खोज कर रहा हूँ की सूची की पहली पंक्ति में बैठता है । क्या कोई सूची लिखने का कोई तरीका है जो पूरी सूची को देखता है? और मैं पसंद करूंगा अगर यह सिर्फ सही/गलत नहीं लौटा। मुझे पता है कि शब्दों की सूची के लिए सेल कैसे खोजना है और सेल में मौजूद सूची में कोई शब्द मौजूद है या नहीं, इस पर आधारित सत्य/गलत लौटाएं। मैं वास्तव में जानना चाहता हूं कि कौन सा शब्द मिला, या इसकी स्थिति।

+0

यह शायद बहुत सरल है, तो आप एक से अधिक इस्तेमाल कर सकते हैं 'होगा' FIND'' कॉल: उदा एक-सेल-प्रति-शब्द-खोज का उपयोग करें। क्या यह एक विकल्प है? वैकल्पिक रूप से, आप इसे संभालने के लिए एक वीबीए फ़ंक्शन लिख सकते हैं। –

+0

<उन शब्दों की सूची जिन्हें मैं खोजना चाहता हूं> एक ​​प्रति शब्द एक शब्द के साथ एक सरणी है। क्या तुम्हारे कहने का मतलब यही था? मुझे वीबीए नहीं पता, लेकिन क्या आप किसी भी उदाहरण वीबीए कोड के बारे में जानते हैं जो कुछ ऐसा करता है? –

+1

क्या कोई भी मुझे कम कर सकता है कृपया कुछ प्रतिक्रिया दें? –

उत्तर

26

यह कोई मिलान नहीं होने पर मिलान शब्द या त्रुटि लौटाएगा। इस उदाहरण के लिए मैंने निम्नलिखित का उपयोग किया। G1:G7
सेल में खोज करने के लिए: के लिए खोज करने के लिए

शब्दों की सूची A1

=INDEX(G1:G7,MAX(IF(ISERROR(FIND(G1:G7,A1)),-1,1)*(ROW(G1:G7)-ROW(G1)+1))) 

दबाने Ctrl +शिफ्ट + दर्ज द्वारा एक सरणी सूत्र के रूप में दर्ज करें।

यह सूत्र पहले मिलानों को खोजने के लिए शब्दों की सूची देखकर काम करता है, फिर सूची में शब्द की स्थिति को सकारात्मक मान के रूप में रिकॉर्ड किया जाता है या यदि यह पाया जाता है तो ऋणात्मक मूल्य के रूप में नहीं। इस सरणी का सबसे बड़ा मूल्य सूची में पाए गए शब्द की स्थिति है। यदि कोई शब्द नहीं मिलता है, तो INDEX() फ़ंक्शन में एक नकारात्मक मान पारित किया जाता है, जिससे त्रुटि आती है।

वापस जाने के लिए एक मिलान शब्द की पंक्ति संख्या, आप निम्न का उपयोग कर सकते हैं:

=MAX(IF(ISERROR(FIND(G1:G7,A1)),-1,1)*ROW(G1:G7)) 

यह भी दबाने Ctrl +शिफ्ट + दर्ज द्वारा एक सरणी सूत्र के रूप में दर्ज किया जाना चाहिए। यदि कोई मिलान नहीं मिलता है तो यह -1 वापस आ जाएगा।

+1

धन्यवाद, यह बहुत अच्छा है! –

+0

सिर्फ एक प्रश्न: आप 'ROW (G1: G7)' के बजाय '(ROW (G1: G7) -ROW (G1) +1) से गुणा क्यों करते हैं? मेरे उद्देश्य के लिए, मुझे शब्द की पंक्ति मिलनी चाहिए, इसलिए मैंने अभी 'ROW (G1: G7) 'का उपयोग किया है। –

+0

फॉर्मूला को अधिक सामान्य बनाने का मेरा तरीका था। 'INDEX' फ़ंक्शन का दूसरा तर्क सरणी में सापेक्ष स्थिति है, निश्चित पंक्ति संख्या नहीं। इसलिए यदि खोज शब्द की आपकी सूची 'G3' पर शुरू हुई है, तो' ROW (G3: G9) 'का उपयोग करके स्वयं गलत परिणाम लौटाएगा। – Excellll

0
  1. अपनी शब्द सूची को डिलीमीटर के साथ व्यवस्थित करें जो कभी भी शब्दों में नहीं होता है, f.e. |
  2. खोजने कॉल में अदला-बदली तर्क - हम {=FIND("cell I want to search","list of words I want to search for")}
  3. पैटर्न एक जैसे हों, वहाँ चाहता था की तुलना में अधिक परिणाम प्राप्त करने का जोखिम है खोज करता है, तो सेल मूल्य पैटर्न स्ट्रिंग में शब्दों में से एक से मेल खाते है चाहते हैं, हम सिर्फ सही प्रतिबंधित & "|" जोड़कर परिणाम सेल मान परीक्षण (सरणी सूत्रों के साथ अच्छी तरह से काम करता है) सेल जी 3 में शामिल हो सकता है: {=SUM(FIND($A$1:$A$100&"|";A3))} यह सुनिश्चित करता है कि स्प्रेडशीट "cellvlaue |" जैसे स्ट्रिंग की तुलना करेगी। दोबारा "pattern1 |", "pattern2 |" आदि।जो पैटर्न 1 = "नया जोड़ा गया", पैटर्न 2 = "जोड़ा गया" ("जोड़ा गया" मिलान करने वाली सभी कोशिकाओं का योग बहुत अधिक होगा, जिसमें "नए जोड़े गए" से मेल खाने वाली कोशिकाओं के लक्ष्य मान शामिल हैं, जो एक तार्किक त्रुटि होगी)
1

मेरे जैसे लोगों के लिए इस उत्तर जिनके लिए एक सही/गलत जवाब पूरी तरह से स्वीकार्य है जोड़ा जा रहा है

OR(IF(ISNUMBER(SEARCH($G$1:$G$7,A1)),TRUE,FALSE)) 

या केस-संवेदी

OR(IF(ISNUMBER(FIND($G$1:$G$7,A1)),TRUE,FALSE)) 

कहाँ खोज शब्दों के लिए रेंजहै 0

Ctrl + गंदगी के लिए याद रखें + ENTER

+0

खोज केस-इंसेंसिटिव – Blechdose

+0

हाँ, वहां गलत रास्ता है, धन्यवाद। संपादित –

+0

या बस '= OR (नहीं (ISERROR (खोज ({" शब्द 1 "," शब्द 2 "," शब्द 3 "}, MyRange)))'। – Morten

संबंधित मुद्दे