एक्सेल शीट के बीच विवरण कैसे मैप करें?


1

मेरे पास एक्सेल वर्कशीट है जिसमें दो शीट हैं और नीचे दिए गए इनपुट के साथ दो कॉलम हैं:

शीट 1 डेटा:

column1                                         column2
-------                                         -------

/a/b/c/d/good_1_test.mp        
/d/e/f/g/test_2_xyz_pqr.pset
/a/b/g/d/good_1_test2.mp  
/d/e/f/g/test_2_xyz_pqr.pset

शीट 2 डेटा:

  column1                                         column2
  -------                                         -------
  good_1                                           orange
  test_2                                           apple

मैं शीट 1 का आउटपुट नीचे की तरह देखना चाहता हूं:

column1                                     column2
-------                                     -------
/a/b/c/d/good_1_test.mp                     orange
/d/e/f/g/test_2_xyz_pqr.pset                apple
/a/b/g/d/good_1_test2.mp                    orange
/d/e/h/g/test_2_xyz_pqr.pset                apple

जवाबों:


1

निम्नलिखित किसी भी पथ की लंबाई के लिए काम करेगा, न केवल चीजों की तरह /a/b/c/d/test_2_xyz_pqr.psetबल्कि चीजों की तरह भी /pump/up/the/jam/pump/it/up/test_2_xyz_pqr.pset। यह आखिरी के बाद पहले 6-वर्ण स्ट्रिंग को निकालता है /, और इसे शीट 2 तालिका में देखता है।

इसे सेल में पेस्ट करें B1और नीचे खींचें:

=VLOOKUP(MID(A1,FIND(CHAR(1),SUBSTITUTE(A1,"/",CHAR(1),LEN(A1)
    -LEN(SUBSTITUTE(A1,"/",""))))+1,6), Sheet2!A:B, 2, FALSE)

यह आपके "शीट 1 कॉलम 1" डेटा को शुरू करता है A1और आपका "शीट 2" डेटा कॉलम ए और बी में है (अधिमानतः उन कॉलमों में और कुछ नहीं के साथ)।

इसके अलावा, यह मानता है कि केवल 6-वर्ण स्ट्रिंग्स (जैसे कि test_4) लुक-अप तालिका में हैं। यदि आप अलग-अलग लंबाई के तारों पर विचार करना चाहते हैं, तो उत्तर एक अच्छा सौदा अधिक जटिल होगा।


कृपया मुझे अलग-अलग लंबाई के तारों के लिए बताएं, 2 शीट में कहें कि 1 कॉलम में अलग-अलग लेनगेट्स के मान हैं। उदाहरण: abc_def या let_do_this_better या abc_def_ghi जैसे कि सभी तार अलग-अलग लंबाई के हैं, क्या कोई ऐसा तरीका है जिससे हम स्ट्रिंग को उठा सकते हैं। मिलान करें कि क्या यह स्ट्रिंग शीट 1 के कॉलम 1 में मौजूद है यदि यह मौजूद है, तो कॉलम 2 में इस स्ट्रिंग से जुड़े मूल्य को शीट 2, 2 के कॉलम में रखा जाए।
श्रीहरि

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

@ श्रीहरि मैं आपको सुझाव दूंगा कि आपको क्या लगता है कि इस सूत्र में सबसे उपयोगी उत्तर है और एक अन्य प्रश्न पोस्ट करें, या आपके द्वारा बताई गई नई जानकारी को शामिल करने के लिए अपने प्रश्न को संपादित करें (उदाहरण के लिए फ़ाइल / फ़ोल्डर का नाम लंबाई)
Ellesa

2

वर्णित आपकी सटीक स्थिति के लिए, इसे कॉलम 2 में आज़माएँ और नीचे खींचें (कोशिकाओं या स्तंभों को आवश्यकतानुसार बदलना सुनिश्चित करें):

=VLOOKUP(MID$($A2,10,6), Sheet2!A:B, 2, False)

उत्तर देने के लिए धन्यवाद लांस, मैंने यहाँ केवल नमूना डेटा दिया था sheet2 column1 में मेरे पास अलग-अलग लंबाई के मान हैं, मेरी आवश्यकता यह है कि यदि वे मान प्रसार शीट में मौजूद हैं, तो मुझे कॉलम २ मान को २ कॉलम में रखने की आवश्यकता है शीट १ का २
श्रीहरि

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

1

यदि आप एक उपयोगकर्ता परिभाषित फ़ंक्शन का उपयोग कर सकते हैं। इस पर समारोह से अनुकूलित है सुपर उपयोगकर्ता @Hidden कोआला द्वारा

   Option Compare Text
   Public Function RETURNTEXT(src As Range, crt As Range, col as Integer) As String
   s = Trim(src.Value)
   For Each c In crt
    If InStr(1, s, Trim(c.Value)) Then newstr = WorksheetFunction.VLookup(Trim(c.Value), crt, col, False)
    Next c
    RETURNTEXT = newstr
    End Function

शीट को खोजने और वापस करने के लिए स्ट्रिंग्स को परिभाषित करने वाली श्रेणी Sheet2 में इस नमूने में है! $ A $ 1: $ B $ 2

... वापसी करने के लिए एक कॉलम जोड़ा गया, इसे वूडअप फ़ंक्शन के समान अधिक बहुमुखी बनाने के लिए

फ़ंक्शन तब आप = RETURNTEXT (A3, Sheet2! $ A $ 1: $ B $ 2,2) के रूप में दर्ज करते हैं

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