MS Excel 2003 में किसी मैच का रिमाइंडर कैसे निकाला जाता है


0

मैंने फ़ंक्शन के विभिन्न संयोजनों का उपयोग करने की कोशिश की, लेकिन ऐसा लगता है कि कोई विशिष्ट फ़ंक्शन गैर-खोज / मिलान किए गए मानों को वापस नहीं कर सकता है। इसे मैन्युअल रूप से करने के लिए बड़ी मात्रा में डेटा का कारण बनता है जो मुझे इसके माध्यम से सॉर्ट करने की आवश्यकता होती है।

मैं सूची बी के आधार पर सूची ए के शेष को निकालने के लिए एमएस एक्सेल 2003 चाहता हूं।

* सूची 2000 आइटम है, सूची बी केवल 10-30 अधिकतम है

सूची ए
नंबर 1 ---- 1 2 3 4 5 6 (प्रत्येक अंक को 1 सेल में रखा जाता है, हमेशा 6 अंक)
नंबर 2 ---- 1 1 2 3 4 5 (प्रत्येक अंक को 1 सेल में रखा जाता है, हमेशा 6 अंक)
नंबर 3 ---- 1 3 4 5 6 7 (प्रत्येक अंक को 1 सेल में रखा जाता है, हमेशा 6 अंक)

सूची बी
नंबर 1 ---- 1 2 3 (प्रत्येक अंक को 1 सेल में रखा जाता है, हमेशा 3 अंक)
नंबर 2 ---- 1 1 4 (प्रत्येक अंक को 1 सेल में रखा जाता है, हमेशा 3 अंक)
नंबर 3 ---- 2 3 5 (प्रत्येक अंक को 1 सेल में रखा जाता है, हमेशा 3 अंक)

उदाहरण के लिए:

सूची ए में, सूची बी से इनपुट के आधार पर मैच (यदि कोई हो) खोजें और शेष को आउटपुट के रूप में लौटाएं। यदि कोई मिलान नहीं मिला है, तो कोई आउटपुट की आवश्यकता नहीं है।

सूची ए
नंबर 1 ---- 1 2 3 4 5 6 (प्रत्येक अंक को 1 सेल में रखा जाता है, हमेशा 6 अंक)

सूची बी के आधार पर
नंबर 1 ---- 1 2 3 (मिला (1 & amp; 2 & amp; 3 मौजूद है), तो मैं मैन्युअल रूप से शेष # # 4 5 6 या = 456 का चयन करता हूं)
No.2 ---- 1 1 4 (कोई मिलान नहीं मिला (1 & 1; 4 मौजूद नहीं है), कोई आउटपुट नहीं)
No.3 ---- 2 3 5 (मिला (2 & amp; 3 & amp; 5 मौजूद है), फिर मैं 1 # # 4 # 6 या आउटपुट = 146 का चयन करता हूं

मुझे लगा कि मैं सूची ए पर प्रत्येक आइटम में प्रत्येक अंक 0-9 की आवृत्ति की गणना करने के लिए COUNT फ़ंक्शन का उपयोग करता हूं और फिर IF & amp का उपयोग करता हूं; और फ़ंक्शन (यह निर्दिष्ट करना कि कौन सा और कितना प्रत्येक अंक एक मैच के रूप में अर्हता प्राप्त करने के लिए आवश्यक है) मुझे यह बताने के लिए कि सूची बी मैचों की सूची ए पर कौन से आइटम हैं।

इसलिए, सूची ए में प्रत्येक आइटम के लिए, मुझे पूरी सूची बी के माध्यम से चलाने के लिए एक्सेल की आवश्यकता होती है और आउटपुट अधिकतम आउटपुट तक, आउटपुट से नहीं हो सकता है।

मैं यह भी चाहता हूं कि खोज करने के लिए उपयोग किए गए सूत्र में बदलाव किए बिना सूची बी में मूल्यों को बदलने की क्षमता हो ताकि मैं समान कार्यपत्रक का उपयोग आसानी से बार-बार कर सकूं।

अब तक अन्य कार्यों का उपयोग करने के लिए मेरे सभी अन्य प्रयास शेष को उस तरीके से निकालने में विफल रहे हैं जैसा मैं चाहता हूं। यदि आपके कोई सुझाव हैं तो कृपया मुझे सिखाएं।


मुझे समझ नहीं आ रहा है कि आप टेबल से नंबर कैसे उठा रहे हैं।
Raystafarian

@Raystafarian मैंने जो चाहा, उसे परिष्कृत किया, मुझे आशा है कि यह पर्याप्त स्पष्ट है।
Peter Vermillion

प्रत्येक वर्ण का स्वतंत्र रूप से मूल्यांकन करने की आवश्यकता है? वे हमेशा सूची B के समान क्रम (श्रृंखला) में नहीं होंगे? यह कई सहायक स्तंभों और व्हाट्सएप के बिना बहुत मुश्किल होने वाला है, खासकर अगर यह 2003 का एक्सेल है। एक मैक्रो इसे बेहतर करने में सक्षम हो सकता है।
Raystafarian

आपके मिलान नियमों का कोई मतलब नहीं है। ज्यादातर मामलों में, ऐसा प्रतीत होता है कि आप एक स्ट्रिंग मैच पाते हैं और शेष मैच से पहले या बाद में कोई भी संख्या है। हालाँकि, No.2 परिणाम के लिए आपका उदाहरण ऐसा लगता है कि सूची B 114 को 235 छोड़ने के लिए 11 ## 4 से मिलान किया गया था।
fixer1234

तो सूची बी (हमेशा हमेशा तीन?) में सभी तीन अंकों का मिलान मानदंड है, लिस्ट ए में एक ही क्रम में होने पर भी जरूरी नहीं कि सन्निहित हो? क्या दोनों सूची आइटम हमेशा बढ़ते क्रम में हैं?
fixer1234

जवाबों:


1

ठीक है, यहाँ एक समाधान है जो काम करता है लेकिन आपको मस्तिष्क क्षति की स्थापना कर सकता है। मैंने इसे एक बार में एक कदम बनाया था, एक सेट चीजों की गणना की जो तब अगली गणनाओं द्वारा उपयोग की गई थी। एक बार मेरे पास एक कार्यशील मॉडल होने के बाद, मैंने पीछे की ओर काम किया, सेल संदर्भों के लिए वास्तविक फ़ार्मुलों को प्रतिस्थापित किया ताकि सभी फ़ार्मुलों को केवल आपकी वास्तविक सूचियों के लिए संदर्भित किया जाए न कि मध्यवर्ती गणनाओं को। सूत्रों का कहना है। वास्तव में, पहला प्रयास उन उत्पादन सूत्रों का निर्माण करता है जो सेल क्षमता से अधिक थे। मैंने इसे दो तालिकाओं में विभाजित किया, पहला खिला दूसरा। तालिकाओं बहुत बड़ी हैं और आप पूरे तालिकाओं में दो दिशाओं में सूत्रों को पॉप्युलेट करने के लिए सही स्थानों की ओर इशारा करते हुए सभी सेल संदर्भ प्राप्त करने की कोशिश कर रहे हैं। इसलिए मैंने कुछ अप्रत्यक्ष संदर्भ जोड़े ताकि सूत्र केवल कॉपी और पेस्ट किए जा सकें और मैन्युअल सफाई के बिना काम करेंगे। दुर्भाग्य से, इसने कुछ बहुत बड़े फॉर्मूले तैयार किए।

मैं इसे एक स्प्रेडशीट पर विशिष्ट स्थानों में स्थित एक उदाहरण के रूप में समझाता हूँ। यदि आपको कहीं और टुकड़ों का पता लगाने की आवश्यकता है, तो पहले सेल में सभी पंक्ति और स्तंभ संदर्भों को संपादित करें और फिर तालिकाओं को पॉप्युलेट करने के लिए कॉपी और पेस्ट करें। अपनी स्वयं की पवित्रता के लिए, कुछ ज्ञात उदाहरणों को सेट करें ताकि आप यह सत्यापित कर सकें कि प्रत्येक तालिका में पंक्तियों और स्तंभों के पहले जोड़े पूरी चीज़ को आबाद करने से पहले काम कर रहे हैं। रोगनिरोधी एस्पिरिन की एक जोड़ी ले लो और हम शुरू करेंगे।

यह पंक्ति 1 (2,000 पंक्तियों) में शुरू होने वाले डेटा के साथ कॉलम ए में आपकी सूची ए पर आधारित है। पंक्ति 1 (30 पंक्तियों) में शुरू होने वाले डेटा के साथ J के माध्यम से सूची B स्तंभ H में है।

पहली तालिका L1 में शुरू होती है। यह तालिका सूची A अभिलेखों में सूची B प्रविष्टियों की स्थिति की सूची बनाती है। उदाहरण के लिए:

                          Position:  1 2 3 4 5 6          
    So if a List A record contains:  1 3 3 5 7 9
    and a List B record contains:    1 3     7
    the entry in this table will be: 1 2     5  (stored as a single number: 125)

यदि सूची बी रिकॉर्ड सूची ए रिकॉर्ड से मेल नहीं खाती है, तो सेल में एक # एन / ए होगा। इस तालिका का लेआउट इस प्रकार है:

            [L]     [M]      [N]       [O]  
    [1]             <=======List B Row========>
    [2] List A Row   1        2         3    ...
    [3]     1
    [4]     2
    [5]     3
        ...

आपको वास्तव में पंक्ति संख्याओं को स्तंभ M के पंक्ति 2 में AP के माध्यम से स्तंभ L के रूप में और स्तंभ L में पंक्ति लेबल के रूप में रखने की आवश्यकता है। ये सूत्र सूत्र के रूप में उपयोग होते हैं। 30 डेटा कॉलम हैं, सूची बी प्रविष्टियों में से प्रत्येक पंक्ति के लिए एक, और आपके पास 2,000 पंक्तियाँ होंगी, जो सूची A में प्रविष्टियों का प्रतिनिधित्व करती है, पंक्ति 3 से शुरू होती है। तालिका के प्रत्येक कक्ष में सूची B प्रविष्टि बनाम सूची A प्रविष्टि प्रदर्शित होती है। । यह M3 का सूत्र है:

    =MATCH(INDIRECT("H"&M$2),$A1:$F1,0)&MATCH(INDIRECT("H"&M$2),$A1:$F1,0)
     +MATCH(INDIRECT("I"&M$2),INDIRECT(ADDRESS($L3,MATCH(INDIRECT("H"&M$2),$A1:$F1,0)+1, , )&":$F"&$L3),0)&MATCH(INDIRECT("H"&M$2),$A1:$F1,0)
     +MATCH(INDIRECT("I"&M$2),INDIRECT(ADDRESS($L3,MATCH(INDIRECT("H"&M$2),$A1:$F1,0)+1, , )&":$F"&$L3),0)
     +MATCH(INDIRECT("J"&M$2),INDIRECT(ADDRESS($L3,MATCH(INDIRECT("H"&M$2),$A1:$F1,0)
     +MATCH(INDIRECT("I"&M$2),INDIRECT(ADDRESS($L3,MATCH(INDIRECT("H"&M$2),$A1:$F1,0)+1, , )&":$F"&$L3),0)+1, , )&":$F"&$L3),0)

मैंने इसे और अधिक पठनीय बनाने के लिए सूत्र को तोड़ दिया है, लेकिन यह सब एक सूत्र है। सत्यापित करें कि आपके पास यह N3 में N4 के माध्यम से कुछ नमूना डेटा के साथ काम कर रहा है और फिर तालिका को भरने के लिए कॉपी और पेस्ट करें।

दूसरी तालिका AR1 में शुरू होती है। इस तालिका को उसी तरह संरचित किया गया है:

           [AR]    [AS]      [AT]      [AU]  
    [1]             <=======List B Row========>
    [2] List A Row   1        2         3    ...
    [3]     1
    [4]     2
    [5]     3
        ...

यह तालिका पहले की तरह काम करती है - प्रत्येक सेल एक सूची बी रिकॉर्ड बनाम एक सूची ए रिकॉर्ड के परिणामों का प्रतिनिधित्व करता है। इस तालिका में आपका शेष भाग है। इसलिए उदाहरण में मैंने पहली तालिका के लिए दिया, शेष 359 होगा:

    So if a List A record contains:  1 3 3 5 7 9
    and a List B record contains:    1 3     7
    the remainder is:                    3 5   9

सेल AS3 में जाने वाला सूत्र है:

    =IF(ISNA(M3),"",IF(ISERROR(FIND(COLUMN(INDIRECT("a"&$AR3)),M3)),INDIRECT("a"&$AR3),"")&
     IF(ISERROR(FIND(COLUMN(INDIRECT("b"&$AR3)),M3)),INDIRECT("b"&$AR3),"")&
     IF(ISERROR(FIND(COLUMN(INDIRECT("c"&$AR3)),M3)),INDIRECT("c"&$AR3),"")&
     IF(ISERROR(FIND(COLUMN(INDIRECT("d"&$AR3)),M3)),INDIRECT("d"&$AR3),"")&
     IF(ISERROR(FIND(COLUMN(INDIRECT("e"&$AR3)),M3)),INDIRECT("e"&$AR3),"")&
     IF(ISERROR(FIND(COLUMN(INDIRECT("f"&$AR3)),M3)),INDIRECT("f"&$AR3),""))

इस तालिका के प्रत्येक सेल में या तो शेष या एक अशक्त वर्ण समाहित होगा यदि कोई मेल नहीं था।

आप प्रत्येक सूची A रिकॉर्ड के परिणामों का सारांश प्राप्त करना चाहते थे। चूंकि तालिका की प्रत्येक पंक्ति एक सूची रिकॉर्ड का प्रतिनिधित्व करती है, इसलिए सारांश तालिका की प्रत्येक पंक्ति के अंत में जा सकता है। तालिका के 30 स्तंभ स्तंभ BV पर समाप्त होते हैं, इसलिए परिणाम स्तंभ BW में होते हैं। BW3 का सूत्र होगा:

    =AS3&IF(ISBLANK(AS3),""," ")&AT3&IF(ISBLANK(AT3),""," ")& ... &BV3&IF(ISBLANK(BV3),""," ")

यहां सभी 30 शब्द दिखाने के बजाय, यह सिर्फ पहले दो और आखिरी को दर्शाता है। बाकी को जोड़ने के लिए उसी पैटर्न का पालन करें। यह प्रत्येक मैच के परिणामों को संक्षिप्त करके परिणाम स्ट्रिंग बनाता है। यदि किसी कक्ष में कोई मान है, तो यह अगले मान से पहले एक स्थान जोड़ता है। यदि आप एक अलग परिसीमन चाहते हैं, तो अंतरिक्ष को किसी अन्य स्थान पर बदलें, जैसे अल्पविराम स्थान। सभी पंक्तियों के लिए स्तंभ BW नीचे इस सूत्र की प्रतिलिपि बनाएँ।

यह शायद परिणामों के लिए सबसे उपयोगी जगह नहीं है। एक बार आपके पास सब कुछ काम करने के बाद आप चीजों को इधर-उधर कर सकते हैं। दरअसल, यदि आप कुछ भी स्थानांतरित करते हैं, तो आपके पास सेल संदर्भों की बड़े पैमाने पर सफाई हो सकती है। यह अधिक समझ में आता है कि जो आउटपुट आप किसी अन्य स्थान पर चाहते हैं, उसे बनाएं और सेल संदर्भों का उपयोग करें जो पहले से सेट है।


@ पेटर वर्मिलियन - कॉलम एल सूची ए के लिए पंक्ति संख्याएं हैं, जो सूत्र एक सूचकांक के रूप में उपयोग करते हैं। कॉलम AR के लिए भी यही है। आपको तालिकाओं के लिए पंक्ति लेबल की तरह कार्य करने के लिए उन संख्याओं को सम्मिलित करना होगा। सूची बी के लिए पंक्ति संख्या आपको पंक्ति 2 में स्तंभ शीर्ष के रूप में दर्ज करने की आवश्यकता है, पहली तालिका के लिए एपी के माध्यम से कॉलम एम और दूसरी तालिका के लिए बी.वी. सूत्र काम करने के लिए, आपको उत्तर में उदाहरणों की तरह दिखने के लिए वास्तव में पंक्ति और स्तंभ शीर्ष बनाने की आवश्यकता है। अधिक एस्पिरिन लें और फिर से प्रयास करें।
fixer1234

अधिक एस्पिरिन ले रहा है ... फिर से कोशिश कर रहा है
Peter Vermillion

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