स्तंभ में दिनांक पहचानने के लिए एक्सेल प्राप्त करने में असमर्थ


45

मुझे लगातार एक्सेल में तारीखों के साथ काम करने में समस्या है, मुझे कुछ गलत करना चाहिए लेकिन मुझे समझ नहीं आ रहा है कि क्या।

मेरे पास एक स्प्रेडशीट है, जो हमारे एक्सचेंज सर्वर से निर्यात की जाती है, जिसमें तारीखों के साथ एक कॉलम होता है। मैं यूके में रहते हुए भी अमेरिकी प्रारूप में सामने आया हूं।

प्रश्न में कॉलम इस तरह दिखता है

04/08/2012
04/09/2009
04/01/2010
04/21/2011
04/05/2012
08/30/2009
08/29/2010
08/28/2011

एक्सेल में, मैंने कॉलम को हाइलाइट किया है और चुना है Format Cells...। इस संवाद बॉक्स में, मैंने स्थानीय के रूप में Dateचयनित, English (United States)सूची से मिलान तिथि प्रारूप का चयन किया है। मैंने ओके मारा और इस कॉलम द्वारा डेटा को सॉर्ट करने की कोशिश की।

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

यह बदले में पहले दो अंकों द्वारा दिनांक डेटा को सॉर्ट करता है।

मुझे पता है कि मैं इस डेटा को आईएसओ में फिर से प्रारूपित कर सकता हूं और फिर ए टू जेड सॉर्ट काम करूंगा, लेकिन मेरे पास भी नहीं होना चाहिए, मुझे स्पष्ट रूप से कुछ याद आ रहा है। यह क्या है?

संपादित करें: मैंने इनाम में गड़बड़ी की है लेकिन यह @ r0berts उत्तर में जाना चाहिए , बिना किसी परिसीमन के पाठ के अपने पहले सुझाव और डेटा कार्यों के प्रकार के रूप में 'MDY' का चयन करना चाहिए। इसके अतिरिक्त, यदि आपके पास एक समय (यानी 04/21/2015 18:34:22) है, तो आपको पहले समय डेटा से छुटकारा पाने की आवश्यकता है। हालाँकि इसके बाद @ r0berts द्वारा सुझाई गई विधि ठीक काम करती है।


मुझे संदेह है कि यह समस्या एक्सेल नहीं है कि यह कैसे करना है - आप परीक्षण कर सकते हैं। जब आप तिथियों के प्रारूप को अपडेट करने का प्रयास करते हैं, तो कॉलम का चयन करें और उस पर राइट क्लिक करें और प्रारूप कोशिकाओं का चयन करें (जैसा कि आप पहले से ही करते हैं) लेकिन 2001-03-14 (सूची के नीचे) के विकल्प का चयन करें। मुझे संदेह होगा कि केवल कुछ दिनांक प्रारूप सही रूप से अपडेट होते हैं, यह दर्शाता है कि एक्सेल अभी भी इसे स्ट्रिंग की तरह व्यवहार कर रहा है, तारीख नहीं!
डेव

निर्यात किए गए डेटा का प्रारूप क्या है? क्या यह CSV या XLSX है?
एक्सेल

जवाबों:


70

समस्या: एक्सेल तारीखों को तारीखों के रूप में पहचानना नहीं चाहता है, भले ही "प्रारूप कोशिकाओं - संख्या - कस्टम" के माध्यम से आप स्पष्ट रूप से यह बताने की कोशिश कर रहे हैं कि ये " mm/dd/yyyy" द्वारा तारीखें हैं । जैसा कि आप जानते हैं; जब एक्सेल ने किसी तिथि के रूप में कुछ पहचाना है, तो यह इसे एक संख्या के रूप में संग्रहीत करता है - जैसे कि " 41004" लेकिन आपके द्वारा निर्दिष्ट प्रारूप के अनुसार दिनांक के रूप में प्रदर्शित होता है। भ्रम की स्थिति में जोड़ने के लिए अपनी तिथियों के केवल भाग को परिवर्तित कर सकते हैं जैसे कि 08/04/2009, लेकिन अन्य को छोड़ दें जैसे 07/28/2009 को अनकवर्ड।

समाधान: चरण 1 और फिर 2

1) दिनांक कॉलम चुनें। डेटा के तहत बटन पाठ कॉलम को चुनें। पहली स्क्रीन पर " सीमांकित " पर रेडियो बटन छोड़ें और अगला क्लिक करें । किसी भी सीमांकक बक्से (किसी भी बक्से को खाली ; कोई चेकमार्क नहीं) पर क्लिक करें और अगला क्लिक करें । कॉलम डेटा फॉर्मेट के तहत, तिथि चुनें और आसन्न कॉम्बो बॉक्स में MDY चुनें और समाप्त करें पर क्लिक करें । अब आपको दिनांक मान मिल गए (यानी एक्सेल ने आपके मानों को Dateडेटा प्रकार के रूप में मान्यता दी है ), लेकिन स्वरूपण अभी भी स्थानीय तिथि है, जो mm/dd/yyyyआप नहीं चाहते हैं।

2) वांछित यूएस दिनांक प्रारूप को ठीक से प्रदर्शित करने के लिए आपको पहले कॉलम (यदि अचयनित) का चयन करना है, तो सेल प्रारूप के तहत - नंबर चुनें तिथि और स्थान चुनें: अंग्रेजी (यूएस) । यह आपको " m/d/yy" जैसा प्रारूप देगा । फिर आप कस्टम का चयन कर सकते हैं और वहां आप " mm/dd/yyyy" टाइप कर सकते हैं या कस्टम स्ट्रिंग्स की सूची से इसे चुन सकते हैं।

वैकल्पिक : लिब्रे ऑफिस Calc का उपयोग करें। पैट्रिक के पोस्ट से डेटा चिपकाने पर पेस्ट स्पेशल ( Ctrl+Shift+V) चुनें और अनफॉर्मेटेड टेक्स्ट चुनें। यह "आयात पाठ" डायलॉग बॉक्स खोलेगा। चरित्र सेट यूनिकोड रहता है, लेकिन भाषा के लिए अंग्रेजी (यूएसए) चुनें; आपको बॉक्स "विशेष संख्याओं का पता लगाने" की भी जांच करनी चाहिए। आपकी तिथियां तुरंत डिफ़ॉल्ट यूएस प्रारूप में दिखाई देती हैं और दिनांक-छांटने योग्य होती हैं। यदि आप विशेष यूएस प्रारूप MM / DD / YYYY चाहते हैं, तो आपको इसे "प्रारूप कक्ष" के माध्यम से एक बार निर्दिष्ट करने की आवश्यकता है - या तो चिपकाने से पहले या बाद में।

कोई यह कह सकता है - एक्सेल को "सेल फॉर्मेट" के माध्यम से जैसे ही मैंने बताया, मुझे तारीखों को पहचानना चाहिए था और मैं इससे अधिक सहमत नहीं हो सकता था । दुर्भाग्य से यह केवल ऊपर से चरण 1 के माध्यम से है कि मैं एक्सेल को इन टेक्स्ट स्ट्रिंग्स को दिनांक के रूप में पहचानने में सक्षम हूं। जाहिर है अगर आप ऐसा करते हैं तो यह गर्दन में दर्द है और आप एक दृश्य मूल दिनचर्या को एक साथ रख सकते हैं जो एक बटन के पुश पर आपके लिए ऐसा करेगी।

डाटा | स्तंभों को पाठ

चिपकाने के बाद अग्रणी एपोस्ट्रोफ पर अपडेट करें : आप फार्मूला बार में देख सकते हैं कि जिस सेल में तारीख को मान्यता नहीं है, वहां एक अग्रणी एपोस्ट्रोफ है। इसका मतलब है कि सेल में एक नंबर (या तारीख) के रूप में स्वरूपित किया गया है जिसमें एक पाठ स्ट्रिंग है। आप कह सकते हैं - अग्रणी एपोस्ट्रोफ स्प्रेडशीट को संख्या पहचानने से रोकता है। आपको इसके लिए सूत्र पट्टी में देखने की आवश्यकता है - क्योंकि स्प्रेडशीट बस यह प्रदर्शित करती है कि बाएं-संरेखित संख्या क्या दिखती है। इस समस्या से निपटने के लिए उस कॉलम का चयन करें जिसे आप सही करना चाहते हैं, मेनू में चुनेंData | Text to Columnsऔर ठीक पर क्लिक करें। कभी-कभी आप डेटा प्रकार को निर्दिष्ट करने में सक्षम होंगे, लेकिन यदि आपने पहले कॉलम का प्रारूप अपने विशेष डेटा प्रकार के लिए निर्धारित किया है - तो आपको इसकी आवश्यकता नहीं होगी। कमांड वास्तव में एक सीमांकक का उपयोग करके एक टेक्स्ट कॉलम को दो या अधिक में विभाजित करने के लिए है, लेकिन यह इस समस्या के लिए भी एक आकर्षण की तरह काम करता है। मैंने इसे लिब्रेऑफ़िस में परीक्षण किया है , लेकिन एक्सेल में भी वही मेनू आइटम है।


मैं अपने ओपी में आपके दोनों बिंदुओं को संबोधित करता हूं। स्तंभों के लिए दिनांक मानों को विभाजित करना (और फिर ISO प्रारूप में पुन: एकीकृत) एक संभावना है, लेकिन यह देखते हुए कि एक्सेल में व्यापक रूप से निर्मित तिथि कार्य हैं जो मैं उनके पास मान्य दिनांक डेटा के साथ लाभ उठाने में सक्षम होना चाहता हूं। आपका दूसरा विकल्प ठीक वैसा ही है जैसा मैं बताता हूं कि मेरे लिए क्या काम नहीं कर रहा है।
पैट्रिक

प्रिय पैट्रिक, कृपया ध्यान से पढ़ें। या आप Libre Office Calc का उपयोग कर सकते हैं - अपने डेटा के साथ यह सीधे काम करता है - आप केवल दिनांक - अंग्रेजी (यूएसए) के लिए पूर्व-स्वरूपित कॉलम और "चिपकाएँ विशेष" "अनारक्षित पाठ" चिपकाएँ - बस उस संवाद बॉक्स को बताएं जो भाषा है अंग्रेजी (यूएसए) और विशेष संख्याओं को पहचानने के लिए बॉक्स की जांच करना न भूलें। अपने उत्तर में मैंने जितना मुश्किल से संकेत करने की कोशिश की, एक्सेल इस (छोटी गाड़ी) के साथ असंगत है और आपको अपने इच्छित परिणाम को प्राप्त करने के लिए इन चरणों 1 और फिर 2 का सहारा लेना होगा।
r0berts

मुझे वास्तव में आपके प्रश्न को ठीक से पढ़ना चाहिए था। आपका पहला सुझाव वास्तव में काम करता है। आपको इनाम मिलना चाहिए था। आपकी सहायता के लिए धन्यवाद।
पैट्रिक

सुझाव 1 एक आकर्षण की तरह काम करता है। धन्यवाद।
एडम

वास्तव में अच्छा जवाब !!!
Adders

8

सभी कॉलम का चयन करें और पता लगाएँ और बदलें और बस के "/"साथ बदलें /


क्या आप बता सकते हैं कि समस्या को ठीक करने के लिए यह क्या करता है?
फिक्सर 1234

यह वास्तव में काम किया और आसान था। प्रतिस्थापन की बात सिर्फ प्रमुख शून्य को हटा दें
पेड्रो गैब्रिएल

2
पहला, यह काम करता है। सबसे अच्छा उपाय। जाँच किए गए समाधान की तुलना में बेहतर है :)। Fixer1234 और @PedroGabriel को ठीक करने के लिए: ऐसा नहीं है कि यह शून्य हटाता है। सेल सामग्री को प्रतिस्थापित करने के कार्य में, एक्सेल मूल्यांकन करता है कि क्या परिणामी सेल में एक सूत्र, पाठ या एक संख्या है। "/" प्रतिस्थापन करने के बाद, यह सेल को अब एक नंबर (जो तकनीकी रूप से एक्सेल के लिए एक तारीख है) शामिल करने की व्याख्या करता है, इसलिए यह अब सही ढंग से क्रमबद्ध है। (चतुर उपयोगकर्ता एक्सेल रीटरपेरेंटिंग कंटेंट के साथ समान परिदृश्य में "=" वर्ण के साथ खोजने / बदलने की तकनीक को पहचान सकते हैं।) वैसे भी Jair का आदर्श समाधान है :)
MicrosoftShouldBeKickedInNuts

@MicrosoftShouldBeKickedInNuts आज मुझे पता नहीं क्यों मैंने कहा कि जीरो के बारे में, इसका वास्तव में शून्य से कोई लेना देना नहीं था ... यह सबसे अच्छा जवाब है, अभी भी इस एक का उपयोग कर रहा है। चीयर्स
पेड्रोगैब्रिएल

3

एक्सेल में तारीखों के साथ मेरे पास एक ही मुद्दा था। प्रारूप ने एक्सेल में एक तिथि के लिए आवश्यकताओं का मिलान किया, फिर भी प्रत्येक सेल को संपादित किए बिना यह तिथि को पहचान नहीं पाएगा, और जब आप हजारों पंक्तियों के साथ काम कर रहे होते हैं तो प्रत्येक सेल को मैन्युअल रूप से संपादित करना व्यावहारिक नहीं होता है। समाधान एक खोज को चलाने और तिथियों की पंक्ति को बदलने के लिए है जहां मैंने हाइफ़न के साथ हाइपेन को बदल दिया है। एक्सेल की तरह की जगह कॉलम के माध्यम से चलता है लेकिन परिणामी कारक यह है कि यह अब तारीखों को फिर से बताता है! निर्धारित!


3

मैं SAP डेटाबेस से निकाली गई हज़ारों पंक्तियों के साथ एक समान समस्या से निपट रहा था और, बेवजह, एक ही तिथि के कॉलम में दो अलग-अलग प्रारूप (ज्यादातर हमारे मानक "YYYY-MM-DD" लेकिन लगभग 10% "MM" रहा। डीडी-YYY ")। हर महीने एक बार 650 पंक्तियों को मैन्युअल रूप से संपादित करना एक विकल्प नहीं था।

ऊपर दिए गए विकल्पों में से कोई नहीं (शून्य ... 0 ... शून्य)। हां, मैंने उन सभी की कोशिश की। किसी पाठ फ़ाइल की प्रतिलिपि बनाना या स्पष्ट रूप से निर्यात करना अभी भी, किसी भी तरह, 10% तारीखों के प्रारूप (या कमी) पर कोई प्रभाव नहीं पड़ा जो बस अपने कोने में बैठकर व्यवहार करने से इनकार कर रहे थे।

एकमात्र तरीका मैं इसे ठीक करने में सक्षम था, दुर्व्यवहार की तारीख कॉलम के दाईं ओर एक खाली कॉलम सम्मिलित करना था और निम्नलिखित, बल्कि सरलीकृत सूत्र का उपयोग करना था:

(अपने दुर्व्यवहार के आंकड़ों को मानते हुए Column D)

=IF(MID(D2,3,1)="-",DATEVALUE(TEXT(CONCATENATE(RIGHT(D2,4),"-",LEFT(D2,5)),"YYYY-MM-DD")),DATEVALUE(TEXT(D2,"YYYY-MM-DD")))

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


3

यह मूल प्रश्नकर्ता के लिए प्रासंगिक नहीं हो सकता है, लेकिन यह किसी और को मदद कर सकता है जो तारीखों के एक कॉलम को छांटने में असमर्थ है।

मैंने पाया कि एक्सेल तारीखों के एक स्तंभ को पहचान नहीं पाएगा जो कि 1900 से पहले के सभी थे, इस बात पर जोर देते हुए कि वे पाठ के एक स्तंभ थे (चूंकि 1/1/1900 में संख्यात्मक बराबर 1 है, और नकारात्मक संख्याओं की अनुमति नहीं है)। इसलिए मैंने अपनी सभी तारीखों (जो कि 1800 के दशक में थीं) को 1900s, जैसे कि 180 -> 190, 181 -> 191, आदि में डालने के लिए एक सामान्य प्रतिस्थापन किया, फिर छँटाई प्रक्रिया ने ठीक काम किया। अंत में मैंने दूसरा तरीका बदला, जैसे 190 -> 180।

आशा है कि यह कुछ अन्य इतिहासकार को वहां से बाहर निकालने में मदद करता है।


2

ऐसा लगता है कि एक्सेल आपकी तारीखों को तारीखों के रूप में नहीं पहचानता है, यह उन्हें पाठ पहचानता है, इसलिए आपको ए से जेड के रूप में सॉर्ट विकल्प मिलते हैं। यदि आप इसे सही तरीके से करते हैं, तो आपको कुछ इस तरह से मिलना चाहिए:

http://i.stack.imgur.com/Qb4Pj.png

इसलिए, यह सुनिश्चित करना महत्वपूर्ण है कि एक्सेल तारीख को पहचानता है। ऐसा करने का सबसे सरल तरीका, शॉर्टकट का उपयोग करना है CTRL+SHIFT+3

यहाँ मैंने आपके डेटा के साथ क्या किया है। मैंने बस इसे आपके पोस्ट के ऊपर से कॉपी किया और एक्सेल में पेस्ट कर दिया। फिर मैंने ऊपर दिए गए शॉर्टकट को लागू किया, और मुझे आवश्यक सॉर्ट विकल्प मिला। छवि की जाँच करें।

http://i.stack.imgur.com/yAa6a.png


2
दुर्भाग्य से वह शॉर्टकट मेरे लिए काम नहीं करता है।
पैट्रिक

शॉर्टकट आपके सिस्टम पैट्रिक में क्या करता है।
फेरी

3
शॉर्टकट कुछ भी करने के लिए प्रतीत नहीं होता है। मुझे अपने निपटान में 2007, 2010 और 2013 में कई प्रणालियाँ मिली हैं और उनमें से कोई भी CTRL SHIFT 3 शॉर्टकट पर प्रतिक्रिया नहीं करता है। CTRL 1 'फ़ॉर्मेट सेल' संवाद को सही ढंग से पॉप अप करता है।
पैट्रिक

Ctrl + Shift + 3 कीबोर्ड शॉर्टकट, यहाँ कुछ हद तक "Ctrl + Shift + #" के रूप में संदर्भित किया गया है , जिसका अर्थ है "एक्सेल 2007, 2010, 2013 और 2016 में दिन, महीने और वर्ष के साथ दिनांक प्रारूप लागू करता है। (विशेष रूप से) मेरे एक्सेल 2013 पर, यह "डी-एमएमएम-वाई" है।) Microsoft दस्तावेज़ यह नहीं समझाता है कि कोशिकाओं में पहले से ही शामिल होना चाहिए ... (Cont'd)
स्कॉट

(जारी) ... मूल्यों है कि Excel दिनांक / समय डेटा के रूप में पहचानता है, और यह कोई भी नहीं की तरह लगता है यहाँ है स्पष्ट रूप से है कि बताया गया है, के बाद से पैट्रिक इंग्लैंड में है, एक्सेल के बारे में उनकी संस्करण की तरह तार को पहचानना है 04/08/2012, 04/09/2009और 04/01/20104-Aug-2012 के रूप में , 4-Sep-2009, और 4-Jan-2010, क्रमशः और 04/21/2011एक पाठ स्ट्रिंग के रूप में व्यवहार कर रहा है (क्योंकि 21 वें महीने नहीं है)। चूँकि कुछ मान पाठ हैं (और मानों में से कुछ, वास्तव में गलत तरीके से व्याख्या किए गए हैं), स्वरूपण (जैसे कि Ctrl + Shift + 3 कीबोर्ड शॉर्टकट) किसी भी अच्छा करने के लिए नहीं जा रहा है।
स्कॉट

2

मुझे संदेह है कि समस्या एक्सेल प्रारूप को समझने में सक्षम नहीं है ... हालाँकि आप दिनांक प्रारूप का चयन करते हैं, यह पाठ के रूप में रहता है।

आप इसे आसानी से परख सकते हैं: जब आप तिथियों के प्रारूप को अपडेट करने का प्रयास करते हैं, तो कॉलम का चयन करें और उस पर राइट क्लिक करें और प्रारूप कोशिकाओं का चयन करें (जैसा कि आप पहले से ही करते हैं) लेकिन 2001-03-14 (सूची के नीचे) विकल्प का चयन करें। फिर अपनी कोशिकाओं के प्रारूप की समीक्षा करें।

मुझे संदेह होगा कि केवल कुछ दिनांक स्वरूप सही तरीके से अपडेट होते हैं, यह दर्शाता है कि एक्सेल अभी भी इसे एक स्ट्रिंग की तरह व्यवहार कर रहा है, तारीख नहीं (नीचे स्क्रीन शॉट में विभिन्न स्वरूपों पर ध्यान दें)!

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

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

वैकल्पिक रूप से, आप एक एक्सेल बनाते हैं जो नव निर्मित एक्सपोर्टेड एक्सेल शीट (एक्सचेंज से) पढ़ता है और फिर आपके लिए तिथि प्रारूप को अपडेट करने के लिए VBa निष्पादित करता है। मैं मान लूंगा कि एक्सपोर्टेड एक्सचेंज एक्सेल फाइल में हमेशा एक ही फाइल नेम / डायरेक्टरी होगी और एक वर्किंग उदाहरण प्रदान करेगी:

तो, नई Excel शीट बनाएँ, जिसे ImportedData.xlsm (एक्सेल इनेबल) कहा जाता है। यह वह फ़ाइल है जहाँ हम Exported Exchange Excel फ़ाइल आयात करेंगे!

इस VBa को ImportedData.xlsm फ़ाइल में जोड़ें

Sub DoTheCopyBit()

Dim dateCol As String
dateCol = "A"        'UPDATE ME TO THE COLUMN OF THE DATE COLUMN

Dim directory As String, fileName As String, sheet As Worksheet, total As Integer

Application.ScreenUpdating = False
Application.DisplayAlerts = False

directory = "C:\Users\Dave\Desktop\"                   'UPDATE ME
fileName = Dir(directory & "ExportedExcel.xlsx")       'UPDATE ME (this is the Exchange exported file location)

Do While fileName <> ""

'MAKE SURE THE EXPORTED FILE IS OPEN
Workbooks.Open (directory & fileName)

Workbooks(fileName).Worksheets("Sheet1").Copy _

Workbooks(fileName).Close

fileName = Dir()

Loop

Application.ScreenUpdating = True
Application.DisplayAlerts = True

Dim row As Integer
row = 1
Dim i As Integer
Do While (Range(dateCol & row).Value <> "")

     Dim splitty() As String
     splitty = Split(Range(dateCol & row).Value, "/")
     Range(dateCol & row).NumberFormat = "@"
     Range(dateCol & row).Value = splitty(2) + "/" + splitty(0) + "/" + splitty(1)
     Range(dateCol & row).NumberFormat = "yyyy-mm-dd"
     row = row + 1
Loop


End Sub

मैंने जो भी किया वह दिनांक स्वरूप को yyyy-mm-dd में अद्यतन करने का था क्योंकि इस तरह, भले ही एक्सेल आपको नए मानों के बजाय सॉर्ट फ़िल्टर AZ देता है, यह अभी भी काम करता है!

मुझे यकीन है कि उपरोक्त कोड में कीड़े हैं, लेकिन मुझे स्पष्ट रूप से पता नहीं है कि आपके पास किस प्रकार का डेटा है लेकिन मैंने इसे तारीखों के एकल कॉलम (जैसा आपके पास है) के साथ परीक्षण किया है और यह मेरे लिए ठीक काम करता है!

मैं MS Office में VBA कैसे जोड़ूँ?


अच्छा ... मैं इसे थोड़े दिनों के लिए छोड़ने जा रहा हूं, ताकि इसे थोड़ा अतिरिक्त मिल सके लेकिन यह एक ठोस जवाब जैसा लगता है। यह बिल्कुल पागल है, हालांकि, मुझे इसकी आवश्यकता नहीं है। जैसा कि मैंने डेटा को एक छोटे से फ़ंक्शन के साथ स्रोत में डेटा में तय किया है, इसे आईएसओ प्रारूप में गोल करने के लिए, जिस बिंदु पर मुझे परवाह नहीं है अगर एक्सेल इसे दिनांक के रूप में पहचानता है: /
पैट्रिक

2

https://support.office.com/en-us/article/Convert-dates-stored-as-text-to-dates-8df7663e-98e6-4295-96e4-32a67ec0a680

यहाँ सरल समाधान - नया कॉलम उपयोग = डेटाल्यू (सेल) फॉर्मूला बनाएं, फिर फॉर्मूला को अपनी दूसरी पंक्तियों में कॉपी करें- ठीक करने के लिए कुछ सेकंड


1

मैं यह समझ गया!

शुरुआत में और तारीख के अंत में एक जगह है।

  1. यदि आप स्पेसबार को खोजने और बदलने और दबाने का उपयोग करते हैं, तो यह काम नहीं करेगा।
  2. आपको चयन करने और कॉपी करने के लिए महीने की संख्या, प्रेस शिफ्ट और बाएं तीर से ठीक पहले क्लिक करना होगा। कभी-कभी आपको अंतरिक्ष का चयन करने के लिए माउस का उपयोग करने की आवश्यकता होती है।
  3. फिर इसे खोजने और बदलने के स्थान के रूप में पेस्ट करें और आपकी सभी तिथियां तिथियां बन जाएंगी।
  4. यदि स्थान और दिनांक है तो डेटा चुनें> डेटा पर जाएं> कॉलम पर पाठ करें> सीमांकित> विभाजक के रूप में स्थान और फिर समाप्त करें।
  5. सभी स्थान हटा दिए जाएंगे।

स्पेसबार के साथ काम करने और बदलने का कारण यह नहीं होगा कि गैप की संभावना सबसे अधिक है।
पैट्रिक

0

अगर एक्सेल हठीली तारीख के रूप में अपने कॉलम को पहचानने से इनकार करता है, तो इसे दूसरे द्वारा बदलें:

  • पुराने कॉलम के दाईं ओर एक नया कॉलम जोड़ें
  • नया कॉलम राइट-क्लिक करें और चुनें Format
  • करने के लिए प्रारूप सेट करें date
  • पूरे पुराने कॉलम को हाइलाइट करें और उसे कॉपी करें
  • नए कॉलम के शीर्ष सेल को हाइलाइट करें और चुनें Paste Special, और केवल पेस्ट करेंvalues
  • अब आप पुराने कॉलम को हटा सकते हैं।

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

नए स्तंभ पर सूत्र में DATEVALUE (पुराने स्तंभ) फ़ंक्शन का उपयोग करके समस्या को लागू करने का प्रयास करें, फिर शॉर्ट / लॉन्ग डेट चुनने के लिए होम रिबन बार पर संख्या स्वरूपण ड्रॉपडाउन सूची का उपयोग करें।
harrymc

0

मैंने बस नंबर 1 (एक) की प्रतिलिपि बनाई और इसे PASTE विशेष फ़ंक्शन का उपयोग करके तिथि कॉलम (डेटा) पर गुणा किया। इसके बाद यह जनरल फॉर्मिंग में बदल जाता है यानी 42102 इसके बाद फॉर्मिंग की तारीख को लागू करें और इसे अब एक तारीख के रूप में मान्यता देता है।

उम्मीद है की यह मदद करेगा


0

उपरोक्त सभी समाधान - r0berts सहित - असफल थे, लेकिन इस विचित्र समाधान को मिला जो सबसे तेजी से ठीक हुआ।

मैं खाता लेन-देन की डाउनलोड की गई स्प्रेडशीट पर "दिनांक" सॉर्ट करने का प्रयास कर रहा था।

इसे CHROME ब्राउज़र के माध्यम से डाउनलोड किया गया था। "तारीखों" के हेरफेर की कोई राशि उन्हें पुराने-से-नए सॉर्टेबल के रूप में मान्यता नहीं मिलेगी।

लेकिन, तब मैंने INTERNET EXPLORER ब्राउज़र के माध्यम से डाउनलोड किया - अद्भुत - मैं एक कॉलम को छूने के बिना तुरंत सॉर्ट कर सकता था।

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


0

यूके में मेरा समाधान - मेरे पास इस तरह से डॉट्स के साथ मेरी तारीखें थीं:

03.01.17

मैंने इसे निम्नलिखित के साथ हल किया है:

  1. पूरे कॉलम को हाइलाइट करें।
  2. खोजने और चुनने / बदलने के लिए जाएं।
  3. मैंने सभी पूर्ण विरामों को मध्य डैश जैसे 03.01.17 03-01-17 से बदल दिया।
  4. कॉलम हाइलाइट रखें।
  5. फॉर्मेट सेल, नंबर टैब सेलेक्ट डेट।
  6. प्रकार का उपयोग करें 14-03-12(मेरे लिए आवश्यक है कि मध्य डैश हो)
  7. लोकेल इंग्लिश (यूनाइटेड किंगडम)

जब कॉलम को छाँटते हैं तो वर्ष के लिए सभी तिथियों को क्रमबद्ध किया जाता है।


0

मैंने विभिन्न सुझावों की कोशिश की, लेकिन मेरे लिए सबसे आसान समाधान इस प्रकार था ...

उदाहरण के लिए चित्र 1 और 2 देखें ... (ध्यान दें - कुछ फ़ील्ड जानबूझकर छिपाए गए थे क्योंकि वे उदाहरण में योगदान नहीं करते हैं)। आशा है कि ये आपकी मदद करेगा...

  1. फ़ील्ड सी - एक मिश्रित प्रारूप जिसने मुझे बिल्कुल पागल कर दिया। यह कैसे डेटा डेटाबेस से सीधे आया और कोई अतिरिक्त स्थान या पागल वर्ण नहीं था। उदाहरण के लिए इसे एक पाठ के रूप में प्रदर्शित करते हुए, 01/01/2016 को '42504' प्रकार के मान के रूप में प्रदर्शित किया गया, जो 04/15/2006 को दिखाया गया है जो कि जैसा है वैसा ही है।

  2. फील्ड एफ - जहां मैंने फील्ड सी की लंबाई प्राप्त की (एलईएन फॉर्मूला दिनांक प्रारूप के आधार पर 10 की लंबाई 5 होगा)। क्षेत्र सादगी के लिए सामान्य प्रारूप है।

  3. फ़ील्ड जी - मिश्रित तिथि के महीने के घटक को प्राप्त करना - फ़ील्ड एफ (5 या 10) में लंबाई के परिणाम के आधार पर, मैं या तो महीने को फ़ील्ड सी में दिनांक मान से प्राप्त करता हूं, या स्ट्रिंग में महीने के चरित्र प्राप्त करता हूं।

  4. फ़ील्ड एच - मिश्रित तिथि के दिन के घटक को प्राप्त करना - फ़ील्ड एफ (5 या 10) में लंबाई के परिणाम के आधार पर, मैं या तो फ़ील्ड सी में दिनांक मान से दिन प्राप्त करता हूं, या स्ट्रिंग में दिन के अक्षर प्राप्त करता हूं।

मैं वर्ष के लिए भी ऐसा कर सकता हूं, फिर तीन घटकों से एक तारीख बनाएं जो सुसंगत हो। अन्यथा, मैं अपने विश्लेषण में व्यक्तिगत दिन, महीने और वर्ष मान का उपयोग कर सकता हूं।

चित्र 1: मूल स्प्रेडशीट जिसमें मान और फ़ील्ड नाम दिखाई दे रहे हैं

चित्र 2: स्प्रेडशीट ऊपर दिए गए सूत्र मिलान विवरण दिखा रही है

आशा है कि ये आपकी मदद करेगा।


(१) जबकि स्क्रीन इमेज पोस्ट करना अच्छा है, यह प्रदर्शित करने के लिए कि आपका उत्तर वास्तव में काम करता है, हम पसंद करते हैं कि आपके समाधान के सूत्र आपके उत्तर के शरीर में टेक्स्ट के रूप में पोस्ट किए जाएं , ताकि लोग उन्हें कॉपी और पेस्ट कर सकें। (२) आप समस्या को समझते हैं - जैसे कि संख्यात्मक तारीख 04/08अस्पष्ट हैं। 04/088 अप्रैल को कुछ स्थानों (जैसे संयुक्त राज्य अमेरिका) और 4-अगस्त में अन्य (जैसे इंग्लैंड) के रूप में व्याख्या की जाएगी। लेकिन ये सटीक रूप से अस्पष्ट हैं क्योंकि महीने की संख्या और दिन के महीने अलग-अलग हैं। … (Cont'd)
स्कॉट

(जारी) ... तो क्यों आप का प्रयोग करेंगे संयुक्त राष्ट्र  की तरह अस्पष्ट दिनांकों 01/01अपने जवाब में? (३) वास्तव में, मुझे यकीन नहीं है कि आप समस्या को समझते हैं, या यह कि आपका जवाब वास्तव में काम करता है, क्योंकि आपकी शीट में पंक्तियाँ हैं जहाँ माह # १५ है; यह एक स्पष्ट त्रुटि प्रतीत होती है। और, 04/15यह असंदिग्ध है - इसका मतलब 15 अप्रैल होना चाहिए - इसका यह मतलब नहीं है कि आपका तरीका 01/1111 वें महीने के 1 दिन के रूप में है। … (Cont'd)
स्कॉट

(Cont'd)… (4) यह बताया जाना चाहिए कि, सबसे अच्छा, आप उत्तर केवल उन तिथियों को संभालेंगे जो nn / nn / nnnn की तरह दिखते हैं । ऐसा लगता है कि तारीखों पर विफल हो जाएगा 5/8, 5/08, 5/28, 05/8, और 11/8। इसके अलावा - मजेदार तथ्य - आपका उत्तर दिनांक 17 मई, 1927 और fact 17 अक्टूबर, 2173 को विफल रहेगा। Y10K समस्या पर कभी ध्यान न दें; अब से १५४ साल बाद जैसे ही हमारे पास मुद्दे आने शुरू होंगे! (5) आप कहते हैं, "मैं भी वर्ष के लिए ऐसा कर सकते हैं, तो तीन घटक है कि संगत है से एक तिथि पैदा करते हैं।" तो तुम क्यों नहीं, और दिखाने के यह? ... (Cont'd)
स्कॉट

(Cont'd) ... यह सत्यापित करना विशेष रूप से कठिन है कि जब आप इसका अधूरा संस्करण प्रस्तुत करते हैं तो आपकी विधि काम करती है; एक जो महीने, दिन और साल को तारीख में फिर से शामिल नहीं करता है। (६) जैसा कि मैंने पाट्सएड को बताया , यह अच्छा होता अगर आप ओपी के आंकड़ों का इस्तेमाल करते, सवाल से, अपना बनाने के बजाय। ओपी के डेटा का उपयोग करने में विफल होने पर, यदि आप पाट्सएड का उपयोग करते थे, तो यह अच्छा हो सकता है, इसलिए कम से कम हम सेब की तुलना सेब से करने में सक्षम होंगे। ... (Cont'd)
स्कॉट

... (उदाहरण के लिए, पंक्ति 7 के लिए, क्या यह 01/11/2016या  11/01/2016?) और, यदि आप अपने स्वयं के डेटा का उपयोग करने जा रहे हैं, तो अच्छा होता यदि आप उसी महीने से तिथियों को शामिल करते जो प्रदर्शन के लिए (उदाहरण के लिए) कैसे 1/11और कैसे 1/21संभाले जाते। अलग ढंग से। और डुप्लिकेट डेटा क्यों है? आपने 23 पंक्तियों में फैले एक ही चार मानों का उपयोग करके 19 पंक्तियों को बर्बाद कर दिया है।
स्कॉट

0

SUBJECT के लिए एक लंबी लम्बी गेंद को आसान बनाने के लिए शेयरिंग ..... मैक्रोज़ या geeky सामान चलाने की कोई ज़रूरत नहीं है .... सरल एमएस एक्सेल सूत्र और संपादन।

मिश्रित दिनांक एक्सेल स्नैपशॉट:

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

  • तारीख मिश्रित प्रारूप में है।
  • इसलिए, एक सममित तिथि प्रारूप बनाने के लिए, अतिरिक्त कॉलम बनाए गए हैं जो 'मिश्रित प्रारूप' तिथि स्तंभ को TEXT में परिवर्तित करते हैं।
  • उस पाठ से हमने "/" के पदों की पहचान की है और मध्य सूत्र को मध्य सूत्र का उपयोग करके निर्धारित तिथि, माह, वर्ष को निकाला गया है।
  • जो मूल रूप से तारीखें थीं, सूत्र ERROR / #VALUEपरिणाम के साथ समाप्त हो गए । - अंत में, हमारे द्वारा बनाए गए स्ट्रिंग से - हमने उन तिथियों को DATE सूत्र द्वारा परिवर्तित कर दिया है।
  • #VALUE IFERROR द्वारा DATE सूत्र में जोड़े जाने के कारण इसे उठाया गया था और आवश्यकतानुसार कॉलम को स्वरूपित किया गया था (यहाँ, dd / mmm / yy)

* एक्सक्लूसिव शेड ऐबवे (= मिक्स्ड डेट एक्सेल स्नैपशॉट) का स्नैपशॉट देखें। *


(१) जबकि स्क्रीन इमेज पोस्ट करना अच्छा है, यह प्रदर्शित करने के लिए कि आपका उत्तर वास्तव में काम करता है, हम पसंद करते हैं कि आपके समाधान के सूत्र आपके उत्तर के शरीर में टेक्स्ट के रूप में पोस्ट किए जाएं , ताकि लोग उन्हें कॉपी और पेस्ट कर सकें। (2) आपके फार्मूले के रूप में दिखाया गया है आपकी छवि में, गलत हैं यद्यपि के रूप में वे कॉलम को देखें  V, Wऔर  Xवे कॉलम की चर्चा करते हुए किया जाना चाहिए जब  B, C, और  D। ... (Cont'd)
स्कॉट

(Cont'd)… (3) अच्छा होता अगर आप ओपी के आंकड़ों का इस्तेमाल करते, सवाल से, अपना बनाने के बजाय। और, चाहे आप ओपी के डेटा का उपयोग करें या अपने खुद के, यह अच्छा होता अगर आपने अपने परिदृश्य को मूल इनपुट दिखाया (उदाहरण के लिए, पंक्ति 9 के लिए, यह है 5/8/2014या  5/08/2014)। और, यदि आप अपने स्वयं के डेटा का उपयोग करने जा रहे हैं, तो अच्छा होता अगर आप उसी महीने से तारीखों को शामिल करते, उदाहरण के लिए (उदाहरण के लिए) कैसे 5/8और 5/28अलग तरीके से संभाला जाता। और डुप्लिकेट डेटा क्यों है? आपने एक से अधिक बार समान मानों का उपयोग करके छह पंक्तियों को बर्बाद कर दिया है।
स्कॉट

0

यह हर समय होता है जब Excel में स्थानों के बीच दिनांक डेटा का आदान-प्रदान होता है। यदि आपके पास डेटा निर्यात करने वाले VBA प्रोग्राम पर नियंत्रण है, तो मेरा सुझाव है कि दिनांक के बजाय दिनांक का प्रतिनिधित्व करने वाली संख्या का ही निर्यात करें। फ़ॉर्मेटिंग और लोकेल की परवाह किए बिना, संख्या एक ही तारीख के साथ परस्पर संबंधित है। उदाहरण के लिए, 24/09/2010 दिखाने वाली CSV फ़ाइल के बजाय यह 40445 दिखाएगा।

निर्यात लूप में जब आप प्रत्येक सेल को पकड़ते हैं, अगर यह एक तारीख है, तो CLng (myDateValue) का उपयोग करके संख्या में परिवर्तित करें। यह मेरे लूप का एक उदाहरण है जो तालिका की सभी पंक्तियों के माध्यम से चल रहा है और CSV को निर्यात कर रहा है (ध्यान दें कि मैं कॉगस को एक टैग के साथ स्ट्रिंग में प्रतिस्थापित करता हूं जिसे मैं आयात करते समय पट्टी करता हूं, लेकिन आपको इसकी आवश्यकता नहीं हो सकती है):

arr = Worksheets(strSheetName).Range(strTableName & "[#Data]").Value

    For i = LBound(arr, 1) To UBound(arr, 1)
        strLine = ""
        For j = LBound(arr, 2) To UBound(arr, 2) - 1
            varCurrentValue = arr(i, j)
            If VarType(varCurrentValue) = vbString Then
                varCurrentValue = Replace(varCurrentValue, ",", "<comma>")
            End If
            If VarType(varCurrentValue) = vbDate Then
                varCurrentValue = CLng(varCurrentValue)
            End If
            strLine = strLine & varCurrentValue & ","
        Next j
        'Last column - not adding comma
        varCurrentValue = arr(i, j)
            If VarType(varCurrentValue) = vbString Then
                varCurrentValue = Replace(varCurrentValue, ",", "<comma>")
            End If
            If VarType(varCurrentValue) = vbDate Then
                varCurrentValue = CLng(varCurrentValue)
            End If
        strLine = strLine & varCurrentValue

        strLine = Replace(strLine, vbCrLf, "<vbCrLf>") 'replace all vbCrLf with tag - to avoid new line in output file
        strLine = Replace(strLine, vbLf, "<vbLf>") 'replace all vbLf with tag - to avoid new line in output file
        Print #intFileHandle, strLine
    Next i

0

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


0

यह समस्या मुझे पागल कर रही थी, फिर मैं एक आसान तय पर ठोकर खाई। कम से कम इसने मेरे डेटा के लिए काम किया। इसे करना और याद रखना आसान है। लेकिन मुझे नहीं पता कि यह क्यों काम करता है लेकिन ऊपर बताए अनुसार बदलते प्रकार नहीं। 1. तारीखों के साथ कॉलम (एस) का चयन करें। अपनी तारीखों में एक वर्ष के लिए खोजें, उदाहरण के लिए 2015। एक ही वर्ष के साथ सभी को बदलें, 2015 का चयन करें। 3. प्रत्येक वर्ष के लिए दोहराएं। यह वास्तविक तिथियों के प्रकारों को बदलता है, वर्ष-दर-वर्ष।
यह अभी भी बोझिल है अगर आपके डेटा में कई साल हैं। 201 के साथ 201 को बदलने और बदलने के लिए तेज़ है (2019 के माध्यम से 2010 को बदलने के लिए); 200 के साथ 200 को बदलें (2009 के माध्यम से 2000 को बदलने के लिए); इत्यादि।


0

तारीखों का चयन करें और इस कोड को इस पर चलाएँ ..

On Error Resume Next
    For Each xcell In Selection            
        xcell.Value = CDate(xcell.Value)     
    Next xcell                              
End Sub

-1

मैं एक मैक का उपयोग करें।

एक्सेल वरीयताओं पर जाएं> संपादित करें> दिनांक विकल्प> स्वचालित रूप से दिनांक प्रणाली परिवर्तित करें

इसके अलावा,

फ़िल्टर करते समय टेबल्स और फ़िल्टर> समूह दिनांक पर जाएं।

समस्या शायद तब शुरू हुई जब आपको एक अलग तिथि प्रणाली के साथ एक फ़ाइल मिली, और जिसने आपके एक्सेल तिथि फ़ंक्शन को खराब कर दिया


-2

मैं आमतौर पर केवल छँटाई या कुल प्रयोजनों के लिए एक अतिरिक्त कॉलम बनाता हूँ year(a1)&if len(month(a1))=1,),"")&month(a1)&day(a1)

वह एक yyyymmddपरिणाम प्रदान करेगा जिसे क्रमबद्ध किया जा सकता है। len(a1)बस के उपयोग से महीने 1-9 के लिए अतिरिक्त शून्य जोड़ने की अनुमति मिलती है।


2
यह मदद नहीं करेगा क्योंकि तिथियों को तिथियों के रूप में मान्यता नहीं दी जा रही है। इसके अलावा, छंटाई के प्रयोजनों के लिए अतिरिक्त कॉलम का उपयोग करना शायद ही कभी आवश्यक होता है
कॉलुमडीए
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.