एक्सेल - एक सीएसवी फ़ाइल में एक विशिष्ट कॉलम ढूंढें, और वर्तमान शीट पर कॉपी करें


0

मुझे CSV प्रारूप में एक नियमित डेटा निर्यात मिलता है, जिसे मैं एक्सेल में खींचना और हेल्पर कॉलम और पिवट टेबल के माध्यम से रिपोर्ट करना पसंद करता हूं।

मैं इसे csv फ़ाइल से लिंक करके, और उस डेटा के कॉलम से कॉपी करता हूं, जिसमें मेरी दिलचस्पी है।

मैं कुछ का उपयोग करता हूं जैसे = अगर ('फ़ाइल पथ [फ़ाइल नाम .csv] Sheet1'! A1 <> "", 'फ़ाइल पथ [filename.csv] Sheet1'! A1, "")

मैं तो पूरे कॉलम को ऑटो भरता हूं।

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

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

CSV के सभी स्तंभों में अद्वितीय स्तंभ शीर्ष लेख हैं।

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

Catalogue Number    Price   Purchase Date   Sales Office
1    £500.00    11-Sep  EMEA
2    £606.00    8-Aug   APAC
3    £454.00    3-Jul   NA
4    £2,132.00  29-Jan  NA
5    £548.00    30-Nov  APAC
6    £514.00    23-Apr  NA
7    £36.00     3-Feb   EMEA
8    £998.00    11-Oct  EMEA
9    £1,454.00  11-Sep  EMEA

उदाहरण के लिए (डमी डेटा), उदाहरण के लिए, मैं 'मूल्य' (D1: D10) के स्तंभ की पहचान करना चाहूंगा, और फिर पूरे स्तंभ को एक नई शीट में खींचूंगा।

मैंने HLOOKUP, INDEX और MATCH के साथ प्रयोग करने की कोशिश की है, लेकिन पूरे कॉलम को कैसे प्राप्त करें, यह काफी कारगर नहीं हो सकता। नीचे दिए गए उदाहरण में, आप देख सकते हैं कि मैं क्या प्रयास कर रहा हूं, और जब तक मैं सही कॉलम की पहचान कर सकता हूं, मुझे उस फॉर्मूले को सफलतापूर्वक करने के लिए ऑटोफ़िल मिल सकती है जिस तरह से मुझे आवश्यकता होगी।

Formula "=MATCH("Catalogue Number",5:5,0)"
Output  3

Formula "=MATCH("Price",5:5,0)"
Output  4

Formula "=HLOOKUP("Price",C1:F10,2)"
Output  500

Formula "=HLOOKUP("Price",$1:$1048576,2,0)"
Output  500
    500

Formula "=INDEX($1:$1048576,2,(MATCH("Price",$1:$1,0)))"
Output  500
    500
    500
    500
    500
    500

मैं एक्सेल 2010 का उपयोग कर रहा हूं।

जवाबों:


2
=INDIRECT("R"&ROW()&"C"&MATCH("Price",$A$1:$F$1,0),0)

यह INDIRECT()सामान्य A1 सेल संदर्भ के बजाय R1C1 सेल संदर्भ बनाकर काम करता है ।

पंक्ति का उपयोग करके पहचाना जाता है ROW()MATCH()प्रश्न में शीर्षक के स्तंभ संख्या (बाईं ओर से गिनती, ए = 1) का उपयोग करके कॉलम को आबादी किया जाता है ।

ध्यान दें - सुनिश्चित करें कि आपके MATCHखोज मानदंड कॉलम ए (यानी $ A $ 1: $ F $ 1) तक सभी तरह से जाते हैं, भले ही आपका कॉलम हेडर कॉलम B में शुरू हो - अन्यथा R1C1 संदर्भ थोड़ा गलत होगा।)

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