excel सूत्र - एक्सेल को कुछ पाठ मानों को स्वचालित रूप से तिथियों में परिवर्तित करने से रोकें




और कार्यों (25)

एक वैकल्पिक विधि:

उस कॉलम के प्रारूप को कनवर्ट करें जिसे आप 'टेक्स्ट' में बदलना चाहते हैं। उन सभी कक्षों का चयन करें जिन्हें आप संरक्षित करना चाहते हैं, कॉपी करें। उन कॉलम को अचयनित किए बिना, "संपादित करें> विशेष पेस्ट करें> मूल्यों के रूप में" पर क्लिक करें

सीएसवी के रूप में सहेजें। ध्यान दें कि फ़ाइल के साथ यह आखिरी चीज होनी चाहिए क्योंकि जब आप इसे फिर से खोलते हैं, तो यह स्वयं को तिथियों के रूप में प्रारूपित करेगा क्योंकि सेल प्रारूपों को CSV फ़ाइलों में सहेजा नहीं जा सकता है।

क्या किसी को यह पता चल जाता है कि कोई टोकन है या नहीं, मैं अपने सीएसवी में किसी निश्चित फ़ील्ड के लिए जोड़ सकता हूं, इसलिए एक्सेल इसे किसी तारीख में बदलने की कोशिश नहीं करता है?

मैं अपने आवेदन से एक .csv फ़ाइल लिखने की कोशिश कर रहा हूं और मानों में से एक ऐसा लगता है कि एक्सेल स्वचालित रूप से इसे किसी तारीख से टेक्स्ट में परिवर्तित कर रहा है। मैंने डबल कोट्स के भीतर अपने सभी टेक्स्ट फ़ील्ड्स (एक तिथि की तरह दिखने वाले) को डालने का प्रयास किया है, लेकिन इसका कोई प्रभाव नहीं है।


Google ड्राइव का उपयोग करके एक वर्कअराउंड (या यदि आप मैक पर हैं तो नंबर):

  1. एक्सेल में डेटा खोलें
  2. गलत डेटा वाले कॉलम के प्रारूप को टेक्स्ट (प्रारूप> कक्ष> संख्या> टेक्स्ट) पर सेट करें
  3. Google ड्राइव में .csv लोड करें, और इसे Google शीट्स के साथ खोलें
  4. अपमानजनक कॉलम कॉपी करें
  5. एक्सेल में टेक्स्ट को टेक्स्ट के रूप में पेस्ट करें (संपादित करें> विशेष पेस्ट करें> टेक्स्ट)

वैकल्पिक रूप से यदि आप चरण 3 के लिए मैक पर हैं तो आप संख्याओं में डेटा खोल सकते हैं।


एक्सेल 2010 में एक नई शीट खोलें। डेटा रिबन पर "टेक्स्ट से बाहरी डेटा प्राप्त करें" पर क्लिक करें। अपनी सीएसवी फ़ाइल का चयन करें और फिर "ओपन" पर क्लिक करें। अगला पर क्लिक करें"। "टैब" अनचेक करें, "कॉमा" के बगल में एक चेक मार्क रखें, फिर "अगला" पर क्लिक करें। पहले कॉलम पर कहीं भी क्लिक करें। शिफ्ट कुंजी पकड़े हुए स्लाइडर को तब तक खींचें जब तक आप अंतिम कॉलम में क्लिक नहीं कर सकते, फिर शिफ्ट कुंजी को छोड़ दें। "टेक्स्ट" रेडियो बटन पर क्लिक करें और फिर "समाप्त करें" पर क्लिक करें

सभी कॉलम टेक्स्ट के रूप में आयात किए जाएंगे, जैसे कि वे CSV फ़ाइल में थे।


सीएसवी फ़ाइल को पहली जगह उत्पन्न करते समय यहां काम पर उपयोग की जाने वाली सरल विधि यहां दी गई है, यह मानों को थोड़ा बदल देती है, इसलिए यह सभी अनुप्रयोगों में उपयुक्त नहीं है:

सीएसवी में सभी मूल्यों के लिए एक जगह तैयार करें

यह जगह "1", "2.3" और "-2.9 4" जैसी संख्याओं से एक्सेल द्वारा छीन ली जाएगी, लेकिन "01/10/1993" जैसी तारीखों पर और "TRUE" जैसे बूलियन पर बने रहेंगे, जिससे उन्हें परिवर्तित किया जा सकेगा एक्सेल के आंतरिक डेटा प्रकार।

यह पढ़ने के लिए ज़ेड किए गए डबल कोट्स को भी रोकता है, इसलिए एक सीएसवी में पाठ बनाने का मूर्ख तरीका एक्सेल द्वारा अपरिवर्तित रहता है IF "3.1415" जैसे कुछ पाठ को डबल कोट्स के साथ घिरा हुआ है और पूरे स्ट्रिंग को एक स्पेस के साथ प्रीपेड करना है, यानी (एकल कोट्स का उपयोग करके यह दिखाने के लिए कि आप क्या टाइप करेंगे) '' 3.1415 "'। फिर एक्सेल में आपके पास हमेशा मूल स्ट्रिंग होती है, सिवाय इसके कि यह डबल कोट्स से घिरा हुआ है और किसी स्पेस द्वारा प्रीपेड किया गया है, इसलिए आपको किसी भी सूत्र आदि के लिए खाते की आवश्यकता है।


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

उदाहरण: 25/12/2008 '25/12/2008 25/12/2008 बन जाता है

आयात करते समय आप फ़ील्ड प्रकार का चयन भी कर सकते हैं।


हाय मेरे पास एक ही समस्या है,

मैं एक और सीएसवी फ़ाइल बनाने के लिए यह vbscipt लिखता हूं। नई सीएसवी फ़ाइल में प्रत्येक फ़ील्ड के फ़ॉन्ट में एक स्थान होगा, इसलिए एक्सेल इसे टेक्स्ट के रूप में समझ पाएगा।

तो आप नीचे दिए गए कोड के साथ एक .vbs फ़ाइल बनाते हैं (उदाहरण के लिए Modify_CSV.vbs), इसे सेव और बंद करें। अपनी मूल फ़ाइल को अपनी vbscript फ़ाइल में खींचें और छोड़ें । यह एक ही स्थान पर फ़ाइल नाम के लिए "SPACE_ADDED" के साथ एक नई फ़ाइल बनाएगा।

Set objArgs = WScript.Arguments

Set objFso = createobject("scripting.filesystemobject")

dim objTextFile
dim arrStr ' an array to hold the text content
dim sLine  ' holding text to write to new file

'Looping through all dropped file
For t = 0 to objArgs.Count - 1
    ' Input Path
    inPath = objFso.GetFile(wscript.arguments.item(t))

    ' OutPut Path
    outPath = replace(inPath, objFso.GetFileName(inPath), left(objFso.GetFileName(inPath), InStrRev(objFso.GetFileName(inPath),".") - 1) & "_SPACE_ADDED.csv")

    ' Read the file
    set objTextFile = objFso.OpenTextFile(inPath)


    'Now Creating the file can overwrite exiting file
    set aNewFile = objFso.CreateTextFile(outPath, True) 
    aNewFile.Close  

    'Open the file to appending data
    set aNewFile = objFso.OpenTextFile(outPath, 8) '2=Open for writing 8 for appending

    ' Reading data and writing it to new file
    Do while NOT objTextFile.AtEndOfStream
        arrStr = split(objTextFile.ReadLine,",")

        sLine = ""  'Clear previous data

        For i=lbound(arrStr) to ubound(arrStr)
            sLine = sLine + " " + arrStr(i) + ","
        Next

        'Writing data to new file
        aNewFile.WriteLine left(sLine, len(sLine)-1) 'Get rid of that extra comma from the loop


    Loop

    'Closing new file
    aNewFile.Close  

Next ' This is for next file

set aNewFile=nothing
set objFso = nothing
set objArgs = nothing

चेतावनी: एक्सेल '07 (कम से कम) में एक (नोटर) बग है: यदि किसी फ़ील्ड की सामग्री में कोई अल्पविराम है, तो यह = "फ़ील्ड, सामग्री" को सही तरीके से पार्स नहीं करता है, बल्कि कॉमा के बाद सबकुछ रखता है उद्धरण चिह्नों के बावजूद निम्नलिखित क्षेत्र।

एकमात्र कामकाज जो मैंने पाया है कि काम को खत्म करना है = जब फील्ड सामग्री में अल्पविराम शामिल होता है।

इसका मतलब यह हो सकता है कि कुछ ऐसे क्षेत्र हैं जो Excel में बिल्कुल "दाएं" का प्रतिनिधित्व करना असंभव हैं, लेकिन अब तक मुझे भरोसा है कि कोई भी आश्चर्यचकित नहीं है।


माइक्रोसॉफ्ट ऑफिस 2016 रिलीज में अभी भी एक मुद्दा है, जो कि उन लोगों के लिए परेशान है जो जीएआरएस, मार्च 1, एसईपीटी 1 आदि जैसे जीन नामों के साथ काम कर रहे हैं। समाधान में मैंने ".csv" फ़ाइल उत्पन्न करने के बाद सबसे व्यावहारिक पाया है, जिसे एक्सेल उपयोगकर्ताओं के साथ खोला / साझा किया जाएगा:

  1. सीएसवी फ़ाइल को टेक्स्ट (नोटपैड) के रूप में खोलें
  2. इसे कॉपी करें (ctrl + a, ctrl + c)।
  3. इसे एक नई एक्सेल शीट में पेस्ट करें- यह सभी एक कॉलम में लंबे टेक्स्ट स्ट्रिंग के रूप में पेस्ट करेगा।
  4. इस कॉलम को चुनें / चुनें।
  5. डेटा पर जाएं- "कॉलम पर टेक्स्ट ...", विंडो पर खुलने पर "सीमांकित" (अगला) चुनें। जांचें कि "अल्पविराम" चिह्नित है (यह चिह्नित करने से पहले डेटा को अलग-अलग कॉलम में दिखाया जाएगा) (अगला), इस विंडो में आप इच्छित कॉलम चुन सकते हैं और इसे टेक्स्ट (सामान्य के बजाए) (समाप्त) के रूप में चिह्नित कर सकते हैं।

HTH


डबल कोट्स में स्पेफिक्सिंग स्पेस ने इस मुद्दे को हल किया !!

मेरे पास .csv फ़ाइल कॉलम में से एक में "7/8" जैसे डेटा थे और एमएस-एक्सेल इसे "07-Aug" के रूप में परिवर्तित कर रहा था। लेकिन "लिबर ऑफिस कैल्क" के साथ कोई मुद्दा नहीं था।

इसे हल करने के लिए, मैंने बस स्पेस कैरेक्टर (7 से पहले जोड़ा गया स्पेस) पसंद किया है जैसे कि "7/8" और यह मेरे लिए काम करता है। यह एक्सेल -2007 के लिए परीक्षण किया जाता है।


यह एक्सेल नहीं है। विंडोज फॉर्मूला को पहचानता है, डाटा डेट और ऑटोोकॉर्क्ट्स के रूप में। आपको विंडोज सेटिंग्स को बदलना होगा।

"कंट्रोल पैनल" (-> "क्लासिक व्यू पर स्विच करें") -> "क्षेत्रीय और भाषा विकल्प" -> टैब "क्षेत्रीय विकल्प" -> "अनुकूलित करें ..." -> टैब "संख्याएं" -> और फिर प्रतीकों को बदलें आप जो चाहते हैं उसके अनुसार।

http://www.pcreview.co.uk/forums/enable-disable-auto-convert-number-date-t3791902.html

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


मैंने यह वीबीए मैक्रो बनाया जो मूल रूप से संख्याओं को चिपकाने से पहले आउटपुट रेंज को टेक्स्ट के रूप में स्वरूपित करता है। एक्सेल के बिना उन्हें दिनांक के रूप में व्याख्या किए बिना 8/11, 23/6, 1/3 आदि जैसे मान पेस्ट करना चाहते हैं, मेरे लिए सही काम करता है।

Sub PasteAsText()
' Created by Lars-Erik Sørbotten, 2017-09-17
Call CreateSheetBackup

Columns(ActiveCell.Column).NumberFormat = "@"

Dim DataObj As MSForms.DataObject
Set DataObj = New MSForms.DataObject
DataObj.GetFromClipboard

ActiveCell.PasteSpecial

End Sub

मुझे यह जानने में बहुत दिलचस्पी है कि यह अन्य लोगों के लिए भी काम करता है या नहीं। मैं थोड़ी देर के लिए इस समस्या का हल ढूंढ रहा हूं, लेकिन मैंने इसे त्वरित वीबीए समाधान नहीं देखा है जिसमें पहले इनपुट टेक्स्ट के सामने 'डालने' शामिल नहीं था। यह कोड डेटा को अपने मूल रूप में बरकरार रखता है।


मेरे पास इस हफ्ते इस सम्मेलन में आया है, जो एक उत्कृष्ट दृष्टिकोण प्रतीत होता है, लेकिन मुझे इसे कहीं भी संदर्भित नहीं किया जा सकता है। क्या कोई इससे परिचित है? क्या आप इसके लिए एक स्रोत उद्धृत कर सकते हैं? मैंने घंटों और घंटों की तलाश नहीं की है, लेकिन उम्मीद है कि कोई इस दृष्टिकोण को पहचान लेगा।

उदाहरण 1: = ("012345678905") 012345678905 के रूप में प्रदर्शित होता है

उदाहरण 2: = ("1 9 54-12-12") 1 9 54-12-12 के रूप में प्रदर्शित होता है, 12/12/1954 नहीं।


मैं क्रेडिट कार्ड नंबरों के लिए ऐसा करता हूं जो वैज्ञानिक नोटेशन में परिवर्तित रहता है: मैं Google शीट्स में अपना .csv आयात करना समाप्त करता हूं। आयात विकल्प अब संख्यात्मक मानों के स्वचालित स्वरूपण को अक्षम करने की अनुमति देते हैं। मैंने सादा पाठ के लिए कोई संवेदनशील कॉलम सेट किया है और xlsx के रूप में डाउनलोड किया है।

यह एक भयानक वर्कफ़्लो है, लेकिन कम से कम मेरे मूल्यों को छोड़ दिया जाना चाहिए।


मैंने पाया है कि डबल कोट्स से पहले '=' डालने से आप जो चाहते हैं उसे पूरा करेंगे। यह डेटा को टेक्स्ट होने के लिए मजबूर करता है।

जैसे। = "2008-10-03", = "अधिक पाठ"

संपादित करें (अन्य पदों के अनुसार) : जेफकिन्स द्वारा नोट किए गए एक्सेल 2007 बग के कारण किसी को एंड्रयू द्वारा प्रस्तावित समाधान का उपयोग करना चाहिए: "=""2008-10-03"""


सबसे अच्छा समाधान मैंने अभी यह पता लगाया है।

  • शब्द में खोलें
  • एन डैश के साथ सभी हाइफ़न बदलें
  • सहेजें और बंद करें
  • एक्सेल में खोलें

एक बार संपादन करने के बाद, आप फिर से हाइफ़ेंस के साथ एन डैश को प्रतिस्थापित करने के लिए इसे Word में फिर से खोल सकते हैं।


अपनी सीएसवी फ़ाइल को संशोधित किए बिना आप यह कर सकते हैं:

  1. एक्सेल प्रारूप कक्ष विकल्प को "टेक्स्ट" में बदलें
  2. फिर सीएसवी कोशिकाओं को परिभाषित करने के लिए "टेक्स्ट आयात विज़ार्ड" का उपयोग करना।
  3. आयात किए जाने के बाद उस डेटा को हटा दें
  4. तो बस सादा पाठ के रूप में पेस्ट करें

एक्सेल स्वचालित रूप से प्रारूपित करेगा और आपके सीएसवी कोशिकाओं को स्वत: दिनांक प्रारूपों को अनदेखा कर स्वरूपित पाठ के रूप में अलग करेगा।

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


यहां पेश किए गए समाधानों में से कोई भी एक अच्छा समाधान नहीं है। यह अलग-अलग मामलों के लिए काम कर सकता है, लेकिन केवल तभी जब आप अंतिम प्रदर्शन के नियंत्रण में हैं। मेरा उदाहरण लें: मेरा काम खुदरा विक्रेताओं को बेचने वाले उत्पादों की सूची तैयार करता है। यह सीएसवी प्रारूप में है और इसमें भाग-कोड शामिल हैं, उनमें से कुछ शून्य के साथ शुरू होते हैं, निर्माताओं द्वारा निर्धारित (हमारे नियंत्रण में नहीं)। प्रमुख शून्य ले लो और आप वास्तव में किसी अन्य उत्पाद से मेल खा सकते हैं। खुदरा ग्राहक बैक-एंड प्रोसेसिंग प्रोग्राम की वजह से सीएसवी प्रारूप में सूची चाहते हैं, जो हमारे नियंत्रण से बाहर हैं और प्रति ग्राहक अलग हैं, इसलिए हम सीएसवी फाइलों के प्रारूप को नहीं बदल सकते हैं। कोई prefixed '=', न ही जोड़ा टैब। कच्चे सीएसवी फाइलों में डेटा सही है; यह तब होता है जब ग्राहक एक्सेल में उन फ़ाइलों को खोलते हैं तो समस्याएं शुरू होती हैं। और कई ग्राहक वास्तव में कंप्यूटर समझदार नहीं हैं। वे सिर्फ एक ईमेल अटैचमेंट खोलने और सहेजने के बारे में सोच सकते हैं। हम दो अलग-अलग प्रारूपों में डेटा प्रदान करने के बारे में सोच रहे हैं: एक एक्सेल फ्रेंडली के रूप में (एक टैब को जोड़कर ऊपर सुझाए गए विकल्पों का उपयोग करके, दूसरा 'मास्टर' के रूप में। लेकिन यह इच्छापूर्ण सोच हो सकता है क्योंकि कुछ ग्राहक समझ नहीं पाएंगे हमें यह करने की ज़रूरत है। इस बीच हम यह बताने के लिए जारी रखते हैं कि वे कभी-कभी अपनी स्प्रेडशीट में 'गलत' डेटा क्यों देखते हैं। जब तक कि माइक्रोसॉफ्ट उचित बदलाव नहीं करता है, तब तक मुझे कोई उचित समाधान नहीं दिखता है, जब तक कि इस पर कोई नियंत्रण नहीं है कि अंत उपयोगकर्ताओं फाइलों का प्रयोग करें।


मुझे पता है कि यह एक पुराना सवाल है, लेकिन समस्या जल्द ही नहीं जा रही है। सीएसवी फाइलें सबसे प्रोग्रामिंग भाषाओं से उत्पन्न होती हैं, बल्कि सादा पाठ संपादक के साथ एक क्रंच में छोटे, मानव-पठनीय, और सर्वव्यापी।

समस्या न केवल टेक्स्ट फ़ील्ड में तिथियों के साथ है , लेकिन कुछ संख्यात्मक भी पाठ से संख्याओं में परिवर्तित हो जाता है। कुछ उदाहरण जहां यह समस्याग्रस्त है:

  • ज़िप / डाक कोड
  • टेलीफ़ोन नंबर
  • सरकारी आईडी संख्याएं

जो कभी-कभी एक या अधिक शून्य (0) से शुरू हो सकता है , जो संख्यात्मक रूपांतरित होने पर फेंक दिया जाता है। या मान में वे अक्षर होते हैं जिन्हें गणितीय ऑपरेटरों (दिनांकों में) के साथ भ्रमित किया जा सकता है।

दो मामलों में मैं सोच सकता हूं कि "प्रीपेडिंग =" समाधान, जैसा कि पहले उल्लेख किया गया है, आदर्श नहीं हो सकता है

  • जहां फ़ाइल एमएस एक्सेल के अलावा किसी अन्य प्रोग्राम में आयात की जा सकती है (एमएस वर्ड का मेल मर्ज फ़ंक्शन दिमाग में आता है)
  • जहां मानव-पठनीयता महत्वपूर्ण हो सकती है।

इस के आसपास काम करने के लिए मेरा हैक

यदि कोई मान में गैर-संख्यात्मक और / या गैर-दिनांक वर्ण को पूर्व / जोड़ता है, तो मान टेक्स्ट के रूप में पहचाना जाएगा और परिवर्तित नहीं किया जाएगा। एक गैर-प्रिंटिंग चरित्र अच्छा होगा क्योंकि यह प्रदर्शित मूल्य को नहीं बदलेगा। हालांकि, सादा पुराना अंतरिक्ष चरित्र (एसएस, एएससीआईआईआई 32) इस के लिए काम नहीं करता है क्योंकि यह एक्सेल द्वारा कटा हुआ हो जाता है और फिर मूल्य अभी भी परिवर्तित हो जाता है। लेकिन कई अन्य प्रिंटिंग और गैर-प्रिंटिंग स्पेस वर्ण हैं जो अच्छी तरह से काम करेंगे। हालांकि सरल टैब वर्ण (\ t, ASCII 9) को जोड़ना (जोड़ना) सबसे आसान है।

इस दृष्टिकोण के लाभ:

  • कीबोर्ड से उपलब्ध है या याद रखने योग्य ASCII कोड (9) के साथ,
  • यह आयात को परेशान नहीं करता है,
  • आम तौर पर मेल मर्ज परिणामों को परेशान नहीं करता है (टेम्पलेट लेआउट के आधार पर - लेकिन आम तौर पर यह केवल एक पंक्ति के अंत में एक विस्तृत स्थान जोड़ता है)। (यदि यह एक समस्या है, तो अन्य अक्षरों को देखें जैसे शून्य-चौड़ाई वाली जगह (ZWSP, यूनिकोड यू + 200 बी)
  • नोटपैड (आदि) में सीएसवी देखते समय एक बड़ा बाधा नहीं है,
  • और एक्सेल (या नोटपैड इत्यादि) में ढूंढ / प्रतिस्थापित करके हटाया जा सकता है।
  • आपको सीएसवी आयात करने की आवश्यकता नहीं है, लेकिन एक्सेल में सीएसवी खोलने के लिए बस डबल-क्लिक कर सकते हैं।

एक अन्य विकल्प

हो सकता है कि एक्सएमएल फाइलें उत्पन्न हों, जिसके लिए एक नए प्रारूप को नए एमएस एक्सेल संस्करणों द्वारा आयात के लिए भी स्वीकार किया जाता है, और जो .XLS प्रारूप के समान कई विकल्प प्रदान करता है, लेकिन मुझे इसके साथ अनुभव नहीं है।

तो कई विकल्प हैं। आपकी आवश्यकताओं / आवेदन के आधार पर, कोई दूसरे से बेहतर हो सकता है।

इसके अलावा

यह कहा जाना चाहिए कि एमएस एक्सेल के नए संस्करण (2013+) स्प्रैडशीट प्रारूप में सीएसवी नहीं खोलते हैं - किसी के वर्कफ़्लो में एक और स्पीडबंप एक्सेल कम उपयोगी बनाता है ... कम से कम, इसके आसपास होने के लिए निर्देश मौजूद हैं। उदाहरण के लिए यह : Excel 2013 के भीतर .csv फ़ाइलों को सही ढंग से प्रदर्शित करने के लिए कैसे करें?


मुझे एक ही समस्या थी और यह कामकाज है जिसने मुझे सीएसवी फ़ाइल सामग्री को संपादित किए बिना मदद की:

यदि आपके पास ".csv" के अलावा फ़ाइल को नाम देने में लचीलापन है, तो आप इसे ".txt" एक्सटेंशन, जैसे "Myfile.txt" या "Myfile.csv.txt" के साथ नाम दे सकते हैं। फिर जब आप इसे Excel में खोलते हैं (ड्रैग और ड्रॉप द्वारा नहीं, लेकिन फ़ाइल-> ओपन या सबसे हाल ही में उपयोग की जाने वाली फ़ाइलों की सूची का उपयोग करके), एक्सेल आपको "टेक्स्ट आयात विज़ार्ड" प्रदान करेगा।

विज़ार्ड के पहले पृष्ठ में, फ़ाइल प्रकार के लिए "सीमित" चुनें।

विज़ार्ड के दूसरे पृष्ठ में "," को डिलीमीटर के रूप में चुनें और टेक्स्ट क्वालीफायर भी चुनें यदि आपने उद्धरणों से अपने मूल्यों को घेर लिया है

तीसरे पृष्ठ में, प्रत्येक कॉलम को व्यक्तिगत रूप से चुनें और Excel को अपने डेटा के साथ गड़बड़ करने से रोकने के लिए "सामान्य" के बजाय प्रत्येक प्रकार "टेक्स्ट" असाइन करें।

उम्मीद है कि यह आपको या किसी ऐसी समस्या के साथ मदद करता है!


(एक्सेल 2007 और बाद में)

स्रोत फ़ाइल को संपादित किए बिना दिनांक प्रारूपों को "पहचानने" के लिए एक्सेल को कैसे बल दें

कोई एक:

  • फ़ाइल को .txt के रूप में पुनर्नामित करें
  • यदि आप ऐसा नहीं कर सकते हैं, तो CSV फ़ाइल को एक्सेल में सीधे खोलने के बजाय, एक नई कार्यपुस्तिका बनाएं और फिर जाएं
    Data > Get external data > From Text
    और अपने सीएसवी का चयन करें।

किसी भी तरह से, आपको आयात विकल्पों के साथ प्रस्तुत किया जाएगा, बस तिथियों वाले प्रत्येक कॉलम का चयन करें और "टेक्स्ट" को "सामान्य" प्रारूप के रूप में प्रारूपित करने के लिए एक्सेल को बताएं।


मैंने इसी समस्या के लिए क्या किया है, प्रत्येक सीएसवी मान से पहले निम्नलिखित को जोड़ना था: "=" "" और Excel में फ़ाइल खोलने से पहले प्रत्येक CSV मान के बाद एक डबल कोट। उदाहरण के लिए निम्नलिखित मान लें:

012345,00198475

Excel में खोलने से पहले इन्हें बदला जाना चाहिए:

"="""012345","="""00198475"

ऐसा करने के बाद, प्रत्येक सेल मान एक्सेल में सूत्र के रूप में प्रकट होता है और इसलिए इसे संख्या, दिनांक इत्यादि के रूप में स्वरूपित नहीं किया जाएगा। उदाहरण के लिए, 012345 का मान इस प्रकार प्रकट होता है:

="012345"

सी # में मेरी सीएसवी फ़ाइल में लिखे जाने वाले स्ट्रिंग को बनाने के दौरान मुझे इसे इस तरह प्रारूपित करना था:

"=\"" + myVariable + "\""

मेरे मामले में, आर का उपयोग करके उत्पन्न सीएसवी फ़ाइल में "सितंबर 8" को एक्सेल 2013 द्वारा "8-सितंबर" में परिवर्तित कर दिया गया था। Xlsx प्रारूप में आउटपुट फ़ाइल जेनरेट करने के लिए xlsx पैकेज में write.xlsx2 () फ़ंक्शन का उपयोग करके समस्या हल हो गई थी , जिसे बिना अवांछित रूपांतरण के एक्सेल द्वारा लोड किया जा सकता है। इसलिए, यदि आपको एक सीएसवी फ़ाइल दी गई है, तो आप इसे लिखने और इसे text.xlsx2 () फ़ंक्शन का उपयोग करके xlsx में परिवर्तित करने का प्रयास कर सकते हैं।


यह समस्या अभी भी मैक ऑफिस 2011 और ऑफिस 2013 में मौजूद है, मैं इसे रोकने से नहीं रोक सकता। ऐसा लगता है कि यह एक मूल बात है।

मेरे मामले में मेरे पास सीवीवी के भीतर "1 - 2" और "7-12" जैसे मूल्यों को उलटा कॉमा के भीतर सही ढंग से संलग्न किया गया था, यह स्वचालित रूप से एक्सेल के भीतर एक तिथि में परिवर्तित हो जाता है, यदि आप इसे बाद में केवल सादे पाठ में परिवर्तित करने का प्रयास करते हैं 43768 जैसी तारीख का एक संख्या का प्रतिनिधित्व। इसके अतिरिक्त यह बारकोड और ईएएन संख्याओं में 123 ई + संख्याओं में बड़ी संख्या में सुधार करता है जिसे वापस परिवर्तित नहीं किया जा सकता है।

मैंने पाया है कि Google ड्राइव की Google शीट संख्याओं को तारीखों में परिवर्तित नहीं करती है। बारकोड में उनमें से प्रत्येक 3 वर्णों में अल्पविराम होता है लेकिन इन्हें आसानी से हटा दिया जाता है। यह सीएवी को वास्तव में अच्छी तरह से संभालता है खासकर जब मैक / विंडोज सीएसवी से निपटता है।

कभी किसी को बचा सकता है।


स्वचालित पर स्विच करने के लिए:

Application.Calculation = xlCalculationAutomatic    

मैन्युअल पर स्विच करने के लिए:

Application.Calculation = xlCalculationManual    




excel csv import