FILTER.XML फंक्शनसह चिकट मजकूर विभाजित करणे

सामग्री

अगदी अलीकडे, आम्ही इंटरनेटवरून XML डेटा आयात करण्यासाठी FILTER.XML फंक्शनच्या वापराविषयी चर्चा केली – मुख्य कार्य ज्यासाठी हे कार्य, खरेतर, हेतू आहे. वाटेत, तथापि, या फंक्शनचा आणखी एक अनपेक्षित आणि सुंदर वापर समोर आला आहे – चिकट मजकूर पेशींमध्ये द्रुतपणे विभाजित करण्यासाठी.

समजा आमच्याकडे असा डेटा कॉलम आहे:

FILTER.XML फंक्शनसह चिकट मजकूर विभाजित करणे

अर्थात, सोयीसाठी, मी ते स्वतंत्र स्तंभांमध्ये विभागू इच्छितो: कंपनीचे नाव, शहर, रस्ता, घर. आपण हे वेगवेगळ्या प्रकारे करू शकता:

  • वापर स्तंभांनुसार मजकूर टॅब वरून डेटा (डेटा - मजकूर ते स्तंभ) आणि तीन पावले जा मजकूर पार्सर. परंतु उद्या डेटा बदलल्यास, तुम्हाला पुन्हा संपूर्ण प्रक्रिया पुन्हा करावी लागेल.
  • हा डेटा पॉवर क्‍वेरीमध्‍ये लोड करा आणि तो तेथे विभाजित करा आणि नंतर तो शीटवर परत अपलोड करा आणि डेटा बदलल्यावर क्वेरी अपडेट करा (जे आधीच सोपे आहे).
  • तुम्हाला फ्लायवर अपडेट करण्याची आवश्यकता असल्यास, तुम्ही स्वल्पविराम शोधण्यासाठी आणि त्यांच्यामधील मजकूर काढण्यासाठी काही अत्यंत जटिल सूत्रे लिहू शकता.

आणि तुम्ही ते अधिक सुरेखपणे करू शकता आणि FILTER.XML फंक्शन वापरू शकता, परंतु त्याचा त्याच्याशी काय संबंध आहे?

FILTER.XML फंक्शनला त्याचा प्रारंभिक युक्तिवाद म्हणून एक XML कोड प्राप्त होतो — विशेष टॅग आणि विशेषतांनी चिन्हांकित केलेला मजकूर, आणि नंतर आम्हाला आवश्यक असलेल्या डेटाचे तुकडे काढून त्याचे घटकांमध्ये विश्लेषण करते. XML कोड सहसा असे काहीतरी दिसते:

FILTER.XML फंक्शनसह चिकट मजकूर विभाजित करणे

XML मध्ये, प्रत्येक डेटा घटक टॅगमध्ये संलग्न करणे आवश्यक आहे. टॅग हा काही मजकूर असतो (वरील उदाहरणात तो व्यवस्थापक, नाव, नफा) कोन कंसात बंद केलेला असतो. टॅग्ज नेहमी जोड्यांमध्ये येतात - उघडणे आणि बंद करणे (सुरुवातीला जोडलेल्या स्लॅशसह).

FILTER.XML फंक्शन आपल्याला आवश्यक असलेल्या सर्व टॅगमधील सामग्री सहजपणे काढू शकते, उदाहरणार्थ, सर्व व्यवस्थापकांची नावे आणि (सर्वात महत्त्वाचे म्हणजे) ते सर्व एकाच सूचीमध्ये प्रदर्शित करू शकतात. तर आमचे कार्य स्त्रोत मजकूरात टॅग जोडणे आहे, ते FILTER.XML फंक्शनद्वारे पुढील विश्लेषणासाठी योग्य XML कोडमध्ये बदलणे.

जर आम्ही आमच्या यादीतील पहिला पत्ता उदाहरण म्हणून घेतला, तर आम्हाला ते या बांधकामात बदलण्याची आवश्यकता असेल:

FILTER.XML फंक्शनसह चिकट मजकूर विभाजित करणे

मी ग्लोबल ओपनिंग आणि क्लोजिंग ऑल टेक्स्ट टॅग म्हटले t, आणि प्रत्येक घटक तयार करणारे टॅग आहेत s., परंतु आपण इतर कोणतेही पदनाम वापरू शकता - काही फरक पडत नाही.

जर आम्ही या कोडमधून इंडेंट्स आणि लाइन ब्रेक्स काढले - पूर्णपणे, तसे, पर्यायी आणि फक्त स्पष्टतेसाठी जोडले, तर हे सर्व एका ओळीत बदलेल:

FILTER.XML फंक्शनसह चिकट मजकूर विभाजित करणे

आणि त्यात काही टॅगसह स्वल्पविराम बदलून ते आधीच स्त्रोत पत्त्यावरून तुलनेने सहज मिळवता येते. फंक्शन वापरून सबस्टिट्यूट (बदली) आणि चिन्हासह चिकटविणे & ओपनिंग आणि क्लोजिंग टॅगच्या सुरूवातीस आणि शेवटी:

FILTER.XML फंक्शनसह चिकट मजकूर विभाजित करणे

परिणामी श्रेणी क्षैतिजरित्या विस्तृत करण्यासाठी, आम्ही मानक फंक्शन वापरतो ट्रान्सप (हस्तांतरण), त्यात आमचे सूत्र गुंडाळत आहे:

FILTER.XML फंक्शनसह चिकट मजकूर विभाजित करणे

या संपूर्ण रचनेचे एक महत्त्वाचे वैशिष्ट्य म्हणजे Office 2021 आणि Office 365 च्या नवीन आवृत्तीमध्ये डायनॅमिक अॅरेच्या समर्थनासह, इनपुटसाठी कोणतेही विशेष जेश्चर आवश्यक नाहीत – फक्त एंटर करा आणि क्लिक करा प्रविष्ट करा - सूत्र स्वतःच त्याला आवश्यक असलेल्या पेशींची संख्या व्यापते आणि प्रत्येक गोष्ट धमाकेदारपणे कार्य करते. मागील आवृत्त्यांमध्ये, जिथे अद्याप कोणतेही डायनॅमिक अॅरे नव्हते, तुम्हाला सूत्र प्रविष्ट करण्यापूर्वी प्रथम रिक्त सेलची एक पुरेशी संख्या निवडावी लागेल (तुम्ही फरकाने करू शकता), आणि सूत्र तयार केल्यानंतर, कीबोर्ड शॉर्टकट दाबा. Ctrl+शिफ्ट+प्रविष्ट कराअॅरे सूत्र म्हणून प्रविष्ट करण्यासाठी.

ओळीच्या ब्रेकद्वारे एका सेलमध्ये एकत्र अडकलेला मजकूर विभक्त करताना समान युक्ती वापरली जाऊ शकते:

FILTER.XML फंक्शनसह चिकट मजकूर विभाजित करणे

मागील उदाहरणातील फरक एवढाच आहे की स्वल्पविराम ऐवजी, येथे आपण अदृश्य Alt + Enter लाईन ब्रेक कॅरेक्टर बदलतो, जे CHAR फंक्शन वापरून फॉर्म्युलामध्ये कोड 10 सह निर्दिष्ट केले जाऊ शकते.

  • एक्सेलमध्ये लाइन ब्रेक्स (Alt + Enter) सह काम करण्याचे बारकावे
  • Excel मध्ये स्तंभांनुसार मजकूर विभाजित करा
  • SUBSTITUTE सह मजकूर बदलत आहे

प्रत्युत्तर द्या