2013-02-27 26 views
6

में पहले नंबर के चारों ओर एक स्ट्रिंग को विभाजित/विश्लेषण कैसे करूं, मेरे पास स्तंभ ए में एक स्ट्रिंग है जो अक्षरों और संख्याओं का मिश्रण है। मैं पहले नंबर से पहले स्ट्रिंग को विभाजित करना चाहता हूं जो दिखाता है कि कॉलम बी में "एबीसी 123" "एबीसी" और कॉलम सी में "123" बन जाता है।मैं Excel

उत्तर

11

यदि कोई पैटर्न है, उदा। हमेशा 3 अक्षर ..... या केवल 3 या 4 अक्षर, उदाहरण के लिए, आप अधिक आसानी से प्राप्त कर सकते हैं लेकिन किसी भी संख्या के अक्षरों के लिए (यह मानते हुए कि संख्याएं हमेशा अक्षरों का पालन करती हैं) आप इस सूत्र का उपयोग बी 2 में कर सकते हैं (जो कि सरल है topcat3 की कड़ी में सुझाव दिया सूत्र, मैं सी 2 में लगता है)

=LEFT(A2,MIN(FIND({1,2,3,4,5,6,7,8,9,0},A2&1234567890))-1)

और उसके बाद इस सूत्र

=REPLACE(A2,1,LEN(B2),"")

नोट यह पिछले सूत्र देता है कि किसी पाठ मान के रूप में संख्या हिस्सा - अगर आप चाहते हैं फॉर्मूला के अंत में यह संख्यात्मक +0 होना चाहिए (लेकिन आप किसी भी ली को खो देंगे डिंग शून्य)

1

बस बैरी के सूत्रों पर थोड़ी भिन्नता में योगदान देना चाहता था। थोड़ा आसान मेरी राय में समझने के लिए लेकिन थोड़ा और अधिक मुश्किल का उपयोग करें:

आप इस सरणी सूत्र का उपयोग कर सकते प्रारंभिक स्थिति +1 पहले नंबर का पता लगाने के लिए:

{=MIN(IFERROR(FIND({1,2,3,4,5,6,7,8,9,0},A2),""))} 

Ctrl + Alt के साथ प्रवेश किया + इसे एक सरणी सूत्र बनाने के लिए दर्ज करें।

तो फिर तुम उस नंबर का उपयोग कर सकते स्ट्रिंग का पहला हिस्सा विभाजित करने के लिए:

=LEFT(A2,B2-1) 

और फिर आप REPLACE उपयोग कर सकते हैं() स्ट्रिंग का पहला भाग (पत्र) से छुटकारा पाने के ।

=REPLACE(A2,1,LEN(C2),"") 

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

+0

हैलो स्टेपैन - मेरे संस्करण में 1234567890 को ए 2 से जोड़कर यह सुनिश्चित करता है कि FIND फ़ंक्शन आपको कोई त्रुटि नहीं देता है (क्योंकि सभी अंक पाए जाते हैं) - इसलिए आपको IFERROR फ़ंक्शन की आवश्यकता नहीं है .... और आपको CTRL की आवश्यकता नहीं है + SHIFT + ENTER –

+0

@barry houdini मैं सहमत हूं, मेरा संस्करण इष्टतम नहीं है। FIND() द्वारा उत्पन्न सरणी में सभी त्रुटियों से बचने के लिए केवल A2 के बजाय A2 और 1234567890 का उपयोग करने के लिए मुझे चालाक लगता है। जब मैंने इसे पहली बार देखा तो मैंने दो बार किया। केवल जब मैंने FIND() भाग पर ध्यान केंद्रित किया तो मैंने देखा कि आपने ऐसा क्यों किया। ऐरे सूत्रों को अच्छी तरह से प्रलेखित नहीं किया गया है और ऐसा लगता है कि सूत्र जो प्राकृतिक रूप से सरणी उत्पन्न करते हैं, उन्हें भी कम दस्तावेज किया जाता है। – Stepan1010

संबंधित मुद्दे