এক্সেল 2010 এ পাঠ্য তারিখটিকে মানিক তারিখের ফর্ম্যাটে রূপান্তর করা


1

আমি একটি এক্সেল ২০১০ স্প্রেডশিট পেয়েছি যার জন্য নিম্নলিখিত ফরম্যাটে প্রবেশ করা ২০১৪ সালের জন্য প্রচুর তারিখ রয়েছে: Thursday 24th Julyযে আমাকে স্ট্যান্ডার্ড ডেট টাইম ফর্ম্যাটে রূপান্তর করতে হবে (শেষ ফলাফলটি এসকিউএল টেবিলের মধ্যে আমদানি হতে চলেছে এবং তারিখগুলি একই রকম হবে YYYYMMDDসুতরাং আমি উপরে উল্লিখিত তারিখটি হওয়া দরকার 20140724, আমি সেই রূপান্তরটি মোকাবিলা করতে পারি তবে এক্সেল Thursday 24th Julyকোনও তারিখ হিসাবে স্বীকৃতি পাবে না )।

উত্তর:


1

ঠিক আছে, সুতরাং এটি একটি সুন্দর কুরুচিযুক্ত সূত্র, এবং আমি নিশ্চিত যে আরও অনেক ক্লিনার নিয়ে কেউ আসতে পারে। তবুও আমি এটি পরীক্ষা করেছি এবং এটি কাজ করে, যা আমি অনুমান করি যা গুরুত্বপূর্ণ।

সংলগ্ন কলামে এই সূত্রটি লিখুন:

যেখানে তারিখগুলি এ 2 এ শুরু হয়

=DATEVALUE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(
  RIGHT($A2,LEN($A2)-FIND(" ",$A2)),"th","",1),"rd","",1),"st","",1"),"nd","",1))


DATEVALUE পাঠ্য হিসাবে সঞ্চিত তারিখটিকে একটি এক্সেল তারিখের কোডে রূপান্তর করে, যাতে এটি সঠিকভাবে ফর্ম্যাট করা যায়, তবে বৃহস্পতিবার 24 জুলাই তারিখটি এতে কয়েকটি সমস্যা রয়েছে;

  1. DATEVALUE সপ্তাহের দিনের কোনও ব্যবহার করতে পারে না এবং এটি কোনওভাবেই প্রাসঙ্গিক নয়
  2. thবা rdদিন সংখ্যার শেষে আরো মান সূত্র ব্যবহার করতে পারবেন না হয়
  3. এই তারিখে কোনও বছরের সঞ্চিত নেই

এই সূত্রটি বছরটি সম্পর্কে কিছুই করতে পারে না, তবে এটি যা করে তা হ'ল (মধ্য থেকে কাজ করা):


RIGHT($A2,LEN($A2)-FIND(" ",$A2))

পাঠ্যের তারিখটি কত দীর্ঘ তা খুঁজে বের করে এবং প্রথম এবং প্রথম স্থানের (দিনের নামের পরে স্থান) মধ্যে অক্ষরের সংখ্যা বিয়োগ করে দিন নম্বর এবং মাসটি ফিরুন

SUBSTITUTE([FindText],"th","")

thকিছুই না দিয়ে ফিরে আসা স্ট্রিংয়ের কোনও উদাহরণ প্রতিস্থাপন করুন

SUBSTITUTE([FirstSubstitute],"rd","")

rdকিছুই না দিয়ে ফিরে আসা স্ট্রিংয়ের কোনও উদাহরণ প্রতিস্থাপন করুন

=DATEVALUE([StringReplacers])

ফলাফলকে একটি তারিখে রূপান্তর করুন। কোনও বছর সরবরাহিত না হওয়ায় এটি চলতি বছর ধরে নিবে।


দেখতে বেশ ভাল লাগছে, সম্ভবত এটি করার প্রয়োজন হবে SUBSTITUTE([SecondSubstitute],"nd","")এবং একই রকম stহবে তবে তাতে stহস্তক্ষেপ হবে কি August?
লরেন্সমডিল

1
এই বিষয়ে দুঃখিত, কিছুটা ছুটে গিয়েছি :( আমি সমস্ত সূচকগুলি অন্তর্ভুক্ত করার জন্য উত্তরটি আপডেট করেছি (কেবল কারিডেজের রিটার্ন সরিয়ে ফেলুন, এইভাবে অনুলিপি করা সহজ) আমি ভেবেছিলাম আগস্টটি একটি সমস্যা হয়ে দাঁড়াবে তবে এটি ঠিক আছে। নিরাপদ দিকে থাকতে আমি একটি প্রথম ইনস্ট্যান্স বিধিনিষেধ যোগ করেছি তাই এটি প্রত্যয়টি আঘাত করার পরে এটি প্রতিস্থাপন বন্ধ করে দেবে
ক্লক ওয়ার্ক ডিস্ক

1
আমার মনে হয় শীতল "st",",1"হওয়া উচিত "st","",1। এটি আমাকে 6 টিরও কম অক্ষর সম্পাদনা করতে দেবে না!
লরেন্সমডিল

1
কোনও উদ্বেগ নেই, সম্পন্ন হয়েছে :)
ক্লক ওয়ার্ক

0

প্রশ্নটি লেখার সময় আমি এর একটি সমাধান পেয়েছি, সুতরাং আমি ভেবেছিলাম যে এটি অন্য কাউকে সহায়তা করে সে ক্ষেত্রে যাইহোক এটি জমা দিয়েছি:

এটি কোনও আদর্শ সমাধান নয়, তবে এটি কাজ করে বলে মনে হচ্ছে। এক্সেল কী বুঝবে তা তারিখগুলিকে রূপান্তর করতে বেশ কয়েকটি ব্যাচ সন্ধান / প্রতিস্থাপনের ক্রিয়াকলাপ। ব্যবধানটি নোট করা গুরুত্বপূর্ণ, অ্যাস্ট্রোফেসগুলি বাদ দিয়ে অনুসন্ধানগুলি করুন তবে সেগুলির মধ্যে কোনও স্থান আছে কিনা তা লক্ষ্য করুন

  1. সন্ধান / প্রতিস্থাপন, খুঁজুন 'Monday 'এবং প্রতিস্থাপন ''জন্য একই 'Tuesday ', 'Wednesday 'ইত্যাদি তারিখ হইতে দিন মুছে ফেলার জন্য।
  2. আপনি যে বছরটি চান তা যুক্ত করতে , অনুসন্ধান করুন 'January'এবং প্রতিস্থাপন করুন 'January 2014', এর জন্য সমান 'February', 'March'ইত্যাদি সন্ধান করুন
  3. সন্ধান / প্রতিস্থাপন, খুঁজুন 'st 'এবং প্রতিস্থাপন ' 'জন্য একই 'nd ', 'rd 'এবং'th '

তারপরে আপনি সেলগুলি তারিখ হিসাবে ফর্ম্যাট করতে পারেন এবং এক্সেলের তাদের স্বীকৃতি ও রূপান্তর করা উচিত। কারণ আপনি এটি না চান অনুসন্ধান সঠিক ফাঁক / প্রতিস্থাপন গুরুত্বপূর্ণ 'st'জন্য '1st'এবং এটি শেষ অপসারণ আছে'August'


নোট করুন যে আমি উপরের অ্যাডাস্ট্রোফগুলি যুক্ত করেছি কারণ কোড ট্যাগগুলি ট্রেলিং স্পেস
ফেলেছে, অ্যাডোস্ট্রোফগুলি

0

ঠিক আছে, আপনি কিছুটা খাটো কিছু ব্যবহার করতে পারেন:

=(IFERROR(MID(K32,FIND(" ",K32)+1,2)*1,MID(K32,FIND(" ",K32)+1,1))&
  MID(K32,FIND(" ",SUBSTITUTE(K32," ","",1))+1,100))*1

প্রথম অংশ:

IFERROR(MID(K32,FIND(" ",K32)+1,2)*1,MID(K32,FIND(" ",K32)+1,1))

তারিখ আহরণ। এটি প্রথমে প্রথম স্থানের পরে 2 টি অক্ষর বের করার চেষ্টা করে এবং যদি এটি একটি সংখ্যা হয় (1 দ্বারা গুণিতকালে কোনও ত্রুটি ফেরায় না), এটি দ্বিতীয় অংশে যোগ করে যা মাস হয়।

যদি এটি একটি ত্রুটি (যেমন প্রথম দুই অক্ষর 1stহয় 1sযা একটি অবৈধ নম্বর), তারপর যে একটি তারিখ 10 এর চেয়ে ছোট এবং এর ফলে শুধুমাত্র একটি অক্ষর নিষ্কর্ষ।

MID(K32,FIND(" ",SUBSTITUTE(K32," ","",1))+1,100)

এর পূর্ববর্তী স্থান দিয়ে মাসটি বের করে।

তারপরে তারিখের মানটি পেতে পুরো জিনিসটিকে 1 দিয়ে গুণ করুন। আপনি yyyymmddকাস্টম বিন্যাসের মাধ্যমে ফর্ম্যাট করতে পারেন এবং তারিখগুলি এসকিউএল আমদানি করার জন্য প্রস্তুত।

@ ক্লোক ওয়ার্কের সূত্রের মতো, যেহেতু সূত্রটিতে কোনও বছর উল্লেখ করা হয়নি, শীটটি বর্তমান বছরটি গ্রহণ করবে। আপনার যদি এটি নির্দিষ্ট করার দরকার হয় তবে আপনাকে এটি ম্যানুয়ালি করতে হবে, উদাহরণস্বরূপ, এটি:

=(IFERROR(MID(K32,FIND(" ",K32)+1,2)*1,MID(K32,FIND(" ",K32)+1,1))&
  MID(K32,FIND(" ",SUBSTITUTE(K32," ","",1))+1,100)&" 2013")*1

২০১৩ সালের জন্য।


0

আপনি এই সূত্রটি 2014 এর তারিখে রূপান্তর করতে ব্যবহার করতে পারেন

=(REPLACE(REPLACE(A2,FIND(" ",A2,11)-2,2,""),1,FIND(" ",A2),"")&2014)+0

এটি তারিখের সিরিয়াল নম্বর, প্রয়োজনীয় তারিখের ফর্ম্যাটে ফর্ম্যাটটি ফিরিয়ে দেবে

প্রথম FINDফাংশনটি 11 বা তার পরে অক্ষরের প্রথম স্থানটি খুঁজে পায় (যা অবশ্যই সপ্তাহের দিনগুলির দৈর্ঘ্য অনুসারে স্ট্রিংয়ের দ্বিতীয় স্থান হতে হবে), এবং তারপরে, এর ভিত্তিতে REPLACEদুটি অক্ষর তত্ক্ষণাত আগে সরিয়ে ফেলা হয় (যা "সেন্ট" হবে , "তম", "আরডি" বা "এনডি")

... এবং তারপরে ২ য় FINDস্থানটি প্রথম স্থান আবিষ্কার করে এবং REPLACEতার আগে সমস্ত পাঠ্য প্রতিস্থাপন করে, আপনাকে কেবল ২৪ জুলাই বা অনুরূপ দিয়ে ছেড়ে যায়

তারপরে আপনি বছরটি শেষ পর্যন্ত [২০১৪] সহ্য করতে পারেন এবং একটি তারিখের সহকর্মী করতে +0 ব্যবহার করতে পারেন

আপনি যদি সরাসরি যেতে চান 20140724(স্ট্রিং হিসাবে) আপনি এই সংস্করণটি ব্যবহার করতে পারেন

=2014&TEXT(REPLACE(REPLACE(A2,FIND(" ",A2,11)-2,2,""),1,FIND(" ",A2),""),"mmdd")

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.