एक्सेल में एक पूर्ण बाहरी जुड़ने का अनुकरण कैसे करें?


34

मान लें कि मेरे पास एक्सेल में कुछ डेटा है (और वास्तविक डेटाबेस में नहीं)। एक पत्रक में, मेरे पास डेटा है, जहां एक कॉलम आईडी के रूप में कार्य करता है, और मैंने यह सुनिश्चित किया है कि इस कॉलम में मान अद्वितीय हैं। एक अन्य शीट में, मेरे पास कुछ डेटा भी है, फिर से एक कॉलम के साथ जिसे एक आईडी के रूप में लिया जा सकता है, और यह अद्वितीय भी है। यदि शीट 1 में पंक्ति एन का कुछ मूल्य है, और शीट 2 में पंक्ति एम का समान मूल्य है, तो मुझे यकीन है कि पंक्ति एन और पंक्ति एम एक ही वास्तविक दुनिया वस्तु का वर्णन करते हैं।

मैं क्या पूछ रहा हूं: मैं किसी भी मैक्रोज़ को लिखे बिना एक पूर्ण बाहरी जोड़ के बराबर कैसे प्राप्त कर सकता हूं? रिबन के माध्यम से सुलभ सूत्र और सभी फ़ंक्शन ठीक हैं।

एक छोटा "खेल डेटा" उदाहरण:

शीट 1:

Dostoyevski    Russia
Pushkin        Russia
Shelley        England
Flaubert       France
Hugo           France
Eichendorff    Germany
Byron          England
Zola           France

शीट 2:

Shelley        Percy Bysshe
Eichendorff    Josef Freiherr Von
Flaubert       Gustave
Byron          Lord
Keller         Gottfried
Dostoyevski    Fyodor
Zola           Emile
Balzac         Honoré de

वांछित उत्पादन (छंटाई महत्वपूर्ण नहीं है):

Dostoyevski    Russia   Fyodor
Pushkin        Russia
Shelley        England  Percy Bysshe
Flaubert       France   Gustave
Hugo           France
Eichendorff    Germany  Josef Freiherr von
Byron          England  Lord
Zola           France   Emile
Keller                  Gottfried
Balzac                  Honoré de

इस परिदृश्य से हर कोई भयभीत है: मुझे पता है कि यह गलत तरीका है। अगर मेरे पास कोई विकल्प है, तो मैं इसके लिए एक्सेल का उपयोग नहीं करूंगा । हालाँकि, वहाँ पर्याप्त परिस्थितियाँ हैं जहाँ एक व्यावहारिक समाधान की जरूरत है, स्टेट, और एक बेहतर (आईटी दृष्टिकोण से) समाधान लागू नहीं किया जा सकता है।


यदि आप दोनों सूचियों को क्रमबद्ध करते हैं और उन्हें साइड-बाय-साइड रखते हैं, तो वांछित कॉलम को मैन्युअल रूप से मिलान करना काफी आसान होना चाहिए। यदि आपके पास बहुत अधिक डेटा है, तो आप एक फ़ंक्शन लिख सकते हैं जो दो रेंज लेता है और यह आपके लिए करता है।
दान 16

@ जैसा कि मैंने कहा, मैं एक फ़ंक्शन लिखे बिना ऐसा करने के लिए कह रहा हूं । उन स्थितियों में जहां मैं इसे लिख सकता हूं, समाधान तुच्छ है (कम से कम मेरे लिए, क्योंकि मैंने
वीबीए

एक्सेल डेटा कनेक्शन के माध्यम से SQL प्रश्नों का समर्थन करता है। मैं इसे बहुत भयानक हूँ इसलिए मैं दुर्भाग्य से बहुत अधिक सलाह नहीं दे सकता, लेकिन यह आपके लिए देखने लायक हो सकता है।
काइल

@ केश मैंने अपने जवाब में उस विकल्प को जोड़ा। यह दिल के बेहोश होने के लिए नहीं है और इसके लिए खेलने और / या ओवरकिल को पूरा करने के लिए गड़बड़ हो सकती है, लेकिन क्यों नहीं!
एंडरलैंड 22

जवाबों:


44

आसान दृष्टिकोण - मानक एक्सेल संचालन

सबसे पहले, दोनों प्रमुख स्तंभों को एक ही स्तंभ के रूप में एक ही, नई शीट में दोनों प्रमुख स्तंभों की कॉपी / पेस्ट करें।

"डुप्लिकेट हटाएं" का उपयोग करें अपने सभी अद्वितीय कुंजी की एकल सूची प्राप्त करें।

फिर, प्रत्येक तालिका में आपके प्रत्येक डेटा कॉलम के लिए दो कॉलम (इस मामले में) जोड़ें। मैं आपको प्रारूप का उपयोग तालिका विकल्प के रूप में भी करने की सलाह देता हूं क्योंकि यह आपके सूत्रों को बहुत अच्छा लगता है। Vlookup का उपयोग करते हुए, निम्न सूत्र का उपयोग करें:

=IFERROR(VLOOKUP([@ID],Sheet4!A:B,2,FALSE),"")

कहाँ Sheet4!A:Bका प्रतिनिधित्व करता है जो कुछ भी स्रोत तालिका डेटा तालिका प्रत्येक संबंधित मूल्य के लिए है। IFERROR बदसूरत # N / A परिणामों को रोकता है जो तब दिखाई देते हैं जब vlookup सफल नहीं होता है और इस मामले में एक रिक्त सेल वापस कर देता है।

यह आपको आपकी परिणामी तालिका देता है।


पत्रक 3:

यहाँ छवि विवरण दर्ज करें

Sheet4:

यहाँ छवि विवरण दर्ज करें

परिणाम डेटा:

यहाँ छवि विवरण दर्ज करें

परिणाम सूत्र ( Ctrl+ ~इसे टॉगल करेंगे):

यहाँ छवि विवरण दर्ज करें


SQL क्वेरी में निर्मित

आप इसे अंतर्निहित SQL क्वेरी के साथ भी कर सकते हैं। यह ... बहुत कम उपयोगकर्ता के अनुकूल है, लेकिन शायद एक बेहतर उपयोग मामला होगा। इससे आपको टेबल के रूप में अपने "स्रोत" डेटा को स्वरूपित करने की आवश्यकता होगी।

  1. एक नई शीट में सेल पर क्लिक करें
  2. डेटा पर जाएं -> अन्य स्रोतों से -> Microsoft क्वेरी से
  3. डेटाबेस टैब के तहत एक्सेल फाइल * का चयन करें और ओके करें
  4. अपनी कार्यपुस्तिका चुनें
  5. निम्नलिखित चार क्षेत्रों का चयन करें:
    • यहाँ छवि विवरण दर्ज करें
  6. 1990 के दशक में "अगला" और "ओके" पर क्लिक करें
  7. के बाद इन निर्देशों शामिल हों बनाने पहले वाम बाहरी। मेरे मामले में मैं "देशों" तालिका को बाएं स्रोत के रूप में उपयोग कर रहा हूं और "नाम" दाईं ओर।
    • यहाँ छवि विवरण दर्ज करें
    • यह केवल कुछ पंक्तियाँ देता है (जब से आप ID पर जुड़ते हैं)
  8. "जोड़ घटाव बनाएँ और फिर इसे संघ के रूप में जोड़ें" भाग अधिक जटिल है।

    • यहाँ घटाव में शामिल होने के विन्यास है: यहाँ छवि विवरण दर्ज करें
    • इस जॉइन एसक्यूएल को एसक्यूएल बटन से कॉपी करें:
    • चयन करें countries$.ID, countries$.Val1, names$.ID names$,। Val2 {OJ से C:\Users\Username\Desktop\Book2.xlsxcountries$ countries$बाईं ओर शामिल हैं C:\Users\Username\Desktop\Book2.xlsxnames$ names$ON countries$.ID = names$.ID} जहां ( names$.ID शून्य है)

  9. आपके द्वारा बनाए गए पहले बाहरी में वापस जाएं। SQL और मैन्युअल रूप से संपादित करें

    • Unionनीचे जोड़ें
    • उपर्युक्त घटाव को जोड़ो के पाठ में जोड़ें
  10. एसक्यूएल बटन के बाईं ओर "डेटा वापस करें" बटन को तुरंत हिट करें
    • आप केवल इस बिंदु पर इच्छित विशिष्ट डेटा का चयन करने के लिए SQL को संपादित करना चाह सकते हैं। मुझे परिणाम में कॉलम छिपाना आसान लगता है।
  11. क्वेरी को कहीं रखें और स्थान की पुष्टि करें
    • यहाँ छवि विवरण दर्ज करें

कमजोर दिल के लिए नहीं। लेकिन अगर आप चाहते हैं कि ऑफिस के कुछ नॉट-अपडेटेड-ऐज-लॉन्ग-एज़-यू-यू-शायद-जिंदा हिस्सों को देखने का एक शानदार मौका हो तो यह एक शानदार मौका है।


1
क्या आपके पास [@ID] नोटेशन का संदर्भ है? मुझे संदेह नहीं है कि यह काम करता है, लेकिन मैंने इसे पहले कभी नहीं देखा है और मैं एक्सेल में बहुत काम करता हूं।
19J में TJL

1
@TJL यदि आप किसी तालिका को तालिका के रूप में स्वरूपित करते हैं, तो वह अन्य स्तंभों को संदर्भित करने के लिए उस प्रकार के अंकन का उपयोग करेगी। सेल संदर्भों की तुलना में बहुत स्पष्ट है। यह 2010 की एक विशेषता हो सकती है? मुझे यकीन नहीं है। मैंने 2010 से पहले तालिका के रूप में प्रारूपण के जादू का उपयोग नहीं किया था ..
एंडरलैंड


क्या आप मूल क्वेरी में केवल शब्द को बाएँ शब्द नहीं बदल सकते हैं? मुझे यकीन है कि यह उस क्वेरी को चलाने के लिए ACE OLEDB ड्राइवर का उपयोग कर रहा है, जो फुल जॉइन सिंटैक्स का समर्थन करता है।
काइल हेल

14

वैकल्पिक समाधान के रूप में, क्या मैं पावर क्वेरी का सुझाव दे सकता हूं ? यह मूल रूप से वास्तव में इस तरह का प्रदर्शन करने के लिए माइक्रोसॉफ्ट से एक मुफ्त एक्सेल ऐड-इन है। इसकी कार्यक्षमता वास्तव में सीधे एक्सेल 2016 में शामिल की जाएगी, इसलिए यह भविष्य के अनुकूल है।

वैसे भी, पावर क्वेरी के साथ, कदम बहुत सरल हैं:

  1. दोनों क्वेरीज़ को पावर क्वेरी संपादक में आयात करें।
  2. उन पर एक मर्ज क्वेरी परिवर्तन करना, उपयुक्त जॉइन कॉलम की स्थापना और जॉइन प्रकार को पूर्ण बाहरी के रूप में सेट करना।
  3. अपनी परिणाम तालिका को एक नई शीट में लोड करें।

इसके बारे में अच्छी बात यह है कि इसे एक बार सेट करने के बाद, यदि आप अपने आधार डेटा तालिकाओं में बदलाव करते हैं तो आप डेटा को हिट करते हैं> सभी को रिफ्रेश करते हैं और आपकी पावर क्वेरी परिणाम शीट भी अपडेट हो जाती है।


बहुत दिलचस्प। मेरा एक दोस्त जो एक रेस्तरां का मालिक है, मुझसे एमएस ऑफिस के बारे में पूछ रहा था और उसने मुझे अपना 2016 का सूट दिखाया, जिसमें एमएस एक्सेस शामिल नहीं है। मैं देख रहा हूं कि अब ऐसा क्यों है। एक्सेल की बहुत सी सीमाएँ थीं। मैंने 2003 से ऊपर कभी नहीं खरीदा क्योंकि कोई भी मूल्य नहीं था और मुझे नया रूप भी पसंद नहीं था; 2010 और उससे अधिक। एक्सेस यह सब करता है और इसलिए यह सवाल भी पैदा करता है, कि इतने सारे लोग एक्सेल में डेटाबेस का काम करने की कोशिश क्यों कर रहे हैं जब एक्सेस इसे प्राप्त करने का तरीका है? केवल एक चीज मैं देख सकता हूं कि शायद एक अच्छा एक्सेस डीबी काम कर रहा है, इसे अच्छे वीबी अनुभव की भी आवश्यकता है।
ईजेबाइट्स

@ejbytes ज्यादातर लोग स्प्रेडशीट की अवधारणा को समझते हैं। अधिकांश करते हैं ... एक डेटाबेस की अवधारणा को नहीं समझते हैं। मेरे पास एक प्रोजेक्ट को एक स्प्रेडशीट-ए-डेटाबेस प्रोजेक्ट को एक डेटाबेस में परिवर्तित करने का था और उपयोगकर्ताओं ने अभी भी इसे "स्प्रेडशीट" कहा है - एक डेटाबेस कैसे काम करता है, इसके लिए व्यापक स्पष्टीकरण के बाद भी!
एंडरलैंड

मुझे लगता है कि आप सही हैं। गैर-कठोर नियमों और गैर-सन्निहित लचीलेपन के साथ एक स्प्रेडशीट ... और फ़िल्टर के रूप में प्रच्छन्न प्रश्न। मेक-शिफ्ट टेबल और सूचियों के लिए एक मंच।
ईजबाइट्स

@ejbytes tldr संस्करण MS है जो एक्सेल में एक कॉलमस्टोर मेमोरी इंजन का परीक्षण करना चाहता था ताकि अधिक पंक्तियों में उसे शामिल किया जा सके, इसमें बाहरी डेटा कनेक्शन शामिल थे, यह बेतहाशा लोकप्रिय साबित हुआ, इसलिए उन्होंने एक ETL टूल में जोड़ा। अब उन्होंने सभी उपकरणों को पावरबीआई के रूप में रोल अप किया है।
काइल हेल

@KyleHale मैं Office 2010 का उपयोग कर रहा हूं और एक पूर्ण OUT JOIN करने की कोशिश कर रहा हूं, लेकिन Power Query दूसरे तालिका से ID की उपेक्षा करता है जो पहली तालिका में नहीं हैं।
GeMir

0

एक (बाहरी जुड़ाव) अर्ध-अनुकरण करने का एक त्वरित तरीका यह है कि आप अपनी दूसरी सूची ले लें और इसे सीधे अपनी मुट्ठी सूची के नीचे पेस्ट करें, यानी आपकी (प्राथमिक कुंजी) सभी एक ही (प्राथमिक) कॉलम में हैं। फिर उस प्राथमिक कॉलम को क्रमबद्ध करें, आप एक अंतःशिरा सूची के साथ समाप्त करेंगे, फिर एक ट्रांसफ़ेक्ट किया गया IF समीकरण (सुपरयूज़र तालिका लेआउट दृश्य को गड़बड़ कर रहा है ..):

listA सूची बी


सैम ब्लू टिम 32874 टिम लाल मैरी 5710 क्रिस ग्रीन गुस्ताव 047 फ्रेड ब्लू
मेरी ब्लैक

कॉपी / पेस्ट / सॉर्ट, परिणाम इस तरह दिखता है: एबी क्रिस ग्रीन फ्रेड ब्लू गुस्ताव 047 मैरी 5710 मैरी ब्लैक सैम ब्लू टिम 32874 टिम लाल

तब सेल c1 के लिए सूत्र: (c1) = यदि (A1 = A2, B2)

परिणाम इस तरह दिखता है:

ABC क्रिस ग्रीन FALSE फ्रेड ब्लू FALSE गुस्ताव 047 FALSE मेरी 5710 ब्लैक मेरी ब्लैक FALSE सैम ब्लू ब्लू FALSE टिम 32874 लाल टिम लाल FALSE

छल आदि से छुटकारा पाने के लिए सी को छाँटें। यह विचार का एक मूल संस्करण है, यदि अधिक डेटा neded है तो बस इसे विस्तारित करें। -wag770310


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