प्रविष्टि डेटा लाइव लिंक होने पर कॉमा सीमांकित डेटा को एक सेल से कई सेल में अलग कर रहा है


1

मेरा एक्सेल मॉडल कुछ ट्रेडिंग सॉफ्टवेयर से लाइव डेटा आयात करता है। यदि मैं निम्नलिखित सूत्र सम्मिलित करता हूं, तो मुझे वर्तमान निविदा प्रस्तावों का विवरण मिलता है, जो लगातार बदल रहे हैं:

=RTD("rit2.rtd",, "tenderinfo", "1")

हालाँकि, टेंडर समाप्त होने के बाद, खाली सेल में लौटने से पहले, यह डेटा निम्नानुसार प्रदर्शित होता है:

4020, RETC, 23401, 2910

मूल रूप से यह एक सेल में एक डील से संबंधित डेटा की एक सूची है, जो अल्पविराम द्वारा अलग होती है।

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

क्या आपके पास कोई विचार है कि मैं इसे कैसे हल कर सकता हूं?


हां, आप लिखते हैं कि पाठ का उपयोग कॉलम से नहीं किया जा सकता क्योंकि यह फ़ॉर्मूला को ख़राब करता है। लेकिन आप फॉर्मूला का उपयोग कर सकते हैं मैंने सुझाव दिया है कि यह फॉर्मूला सेल पर भी सफलतापूर्वक काम कर रहा है।
राजेश एस।

जवाबों:


1

आप सेल से डेटा निकालने के लिए पाठ फ़ंक्शन लेफ्ट (), मिड () और राइट () का उपयोग कर सकते हैं, भले ही सेल में एक सूत्र हो। पाठ फ़ंक्शन सूत्र के परिणाम को देखेगा और पाठ को पार्स कर सकता है।

सूत्रों का सटीक मापदंड डेटा पर निर्भर करेगा। उदाहरण के लिए, यदि पहला मान हमेशा चार अंकों का होता है, तो आप बस उपयोग कर सकते हैं

=Left(A1),4)

लेकिन अगर पहले मूल्य में कम या अधिक अंक हो सकते हैं, तो आपको पहले अल्पविराम की स्थिति देखने और पहले अल्पविराम से पहले पाठ निकालने की आवश्यकता हो सकती है:

=Left(A1,Find(",",A1)-1)

अन्य सूत्र एक समान दृष्टिकोण का पालन करेंगे।

यदि आप फ़ार्मुलों के साथ ऐसा नहीं करना चाहते हैं, तो आप सेल सामग्री को दूसरी जगह कॉपी करने के लिए VBA का उपयोग कर सकते हैं और फिर इसे टेक्स्ट टू कॉलम में पार्स कर सकते हैं।


हे टायलिन, दूसरा सूत्र ऐसा लगता है कि यह काम करेगा क्योंकि प्रत्येक संख्या में अंकों की मात्रा अलग-अलग होगी। मैं पहले अल्पविराम से पहले नंबर प्राप्त करने के लिए उस सूत्र का उपयोग करने में कामयाब रहा हूं। यदि मेरे पास कॉमा के साथ 3 नंबर अलग हैं तो मैं बस बाएं, मध्य और दाएं कार्यों का उपयोग कर सकता हूं। क्या होगा यदि मेरे पास 5 या 6 मूल्य अल्पविराम से अलग हैं? मैं अभी भी बाएं और दाएं नंबर प्राप्त कर सकता हूं, लेकिन "मध्य" किस मूल्य को संदर्भित करेगा? मैं अब भी प्रत्येक अधिक केंद्रीय संख्या कैसे निकाल सकता हूं?
स्टीव गालिया पेस

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

1

संपादित:

पाठ का कॉलम इसके लिए उपयुक्त नहीं है क्योंकि आप फॉर्मूला सेल से कोमा सेपरेटेड वैल्यूज़ को विभाजित करने की कोशिश कर रहे हैं।

ध्यान दें,

कॉलम टू टेक्स्ट ऐसा कर सकता है लेकिन यह फॉर्मूला को बिगाड़ देता है।

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

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

=TRIM(MID(SUBSTITUTE($A2, ",",  REPT(" ", 999)), (COLUMN(A:A)-1)*999+1, 999))

ध्यान दें, आवश्यकतानुसार सेल संदर्भों को सूत्र में समायोजित करें।

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