সুচিপত্র
টিউটোরিয়ালটি দেখায় কিভাবে এক্সেলের বিভিন্ন টেক্সট স্ট্রিং থেকে ফর্মুলা এবং এক্সট্র্যাক্ট টুল ব্যবহার করে নম্বর বের করা যায়।
যখন একটি প্রদত্ত দৈর্ঘ্যের টেক্সট স্ট্রিং এর অংশ বের করার কথা আসে , এক্সেল দ্রুত কাজটি পরিচালনা করার জন্য তিনটি সাবস্ট্রিং ফাংশন (বাম, ডান এবং মধ্য) প্রদান করে। যখন আলফানিউমেরিক স্ট্রিং থেকে সংখ্যা বের করার কথা আসে, তখন মাইক্রোসফ্ট এক্সেল… কিছুই দেয় না।
এক্সেলের একটি স্ট্রিং থেকে একটি নম্বর পেতে, একটু বুদ্ধিমত্তা, একটু ধৈর্য এবং বিভিন্ন ফাংশনের গুচ্ছ প্রয়োজন। একে অপরের মধ্যে বাসা বাঁধে। অথবা, আপনি Extract টুলটি চালাতে পারেন এবং একটি মাউস ক্লিকের মাধ্যমে কাজটি সম্পন্ন করতে পারেন। নীচে আপনি উভয় পদ্ধতির সম্পূর্ণ বিবরণ পাবেন।
টেক্সট স্ট্রিং এর শেষ থেকে কিভাবে সংখ্যা বের করবেন
যখন আপনার কাছে আলফানিউমেরিক স্ট্রিং এর একটি কলাম থাকে যেখানে সংখ্যার পরে আসে পাঠ্য, আপনি এটি পেতে নিম্নলিখিত সূত্রটি ব্যবহার করতে পারেন।
RIGHT( cell, LEN( cell) - MAX(IF(ISNUMBER(MID( cell)>, ROW(Indirect("1:"&LEN( cell))), 1) *1)=FALSE, ROW(Indirect("1:"&LEN( cell))), 0)))আমরা একটু পরে সূত্রের যুক্তি নিয়ে আলোচনা করব। আপাতত, মূল স্ট্রিং (আমাদের ক্ষেত্রে A2) সম্বলিত কক্ষের একটি রেফারেন্স দিয়ে কেবল সেল প্রতিস্থাপন করুন, এবং একই সারিতে যেকোন খালি ঘরে সূত্রটি লিখুন, B2 এ বলুন:
=RIGHT(A2, LEN(A2) - MAX(IF(ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1) *1)=FALSE, ROW(INDIRECT("1:"&LEN(A2))), 0)))
এই সূত্রটি শুধুমাত্র শেষ থেকে নম্বর পায়। যদি একটি স্ট্রিং এর শুরুতে বা মাঝামাঝি সংখ্যা থাকে, সেগুলি হলউপেক্ষা করা হয়েছে:
এক্সট্রাকশনটি সঠিক ফাংশনের সাথে সঞ্চালিত হয় যা পাঠ্য ফাংশনের বিভাগের অন্তর্গত। এই ফাংশনের আউটপুট সর্বদা টেক্সট হয়। আমাদের ক্ষেত্রে, ফলাফল হল একটি সংখ্যাসূচক সাবস্ট্রিং , যা এক্সেলের পরিপ্রেক্ষিতে পাঠ্য, সংখ্যা নয়।
যদি আপনার ফলাফলটি সংখ্যা হতে চান (যা আপনি আরও গণনায় ব্যবহার করতে পারেন), তারপর সূত্রটি VALUE ফাংশনে মোড়ানো বা এমন একটি গাণিতিক অপারেশন সম্পাদন করুন যা ফলাফল পরিবর্তন করে না, বলুন, 1 দ্বারা গুণ করুন বা 0 যোগ করুন। একক সংখ্যা, IFERROR ফাংশন ব্যবহার করুন। যেমন:
=IFERROR(VALUE(RIGHT(A2, LEN(A2) - MAX(IF(ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1)*1)=FALSE, ROW(INDIRECT("1:"&LEN(A2))), 0)))), "")
বা
=IFERROR(RIGHT(A2, LEN(A2) - MAX(IF(ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1) *1)=FALSE, ROW(INDIRECT("1:"&LEN(A2))), 0))) +0, "")
নোট। ডায়নামিক অ্যারে এক্সেলে (অফিস 365 এবং 2021), আপনি এন্টার কী দিয়ে স্বাভাবিক পদ্ধতিতে সূত্রটি প্রবেশ করান। এক্সেল 2019 এবং তার আগে, এটি শুধুমাত্র একটি অ্যারে সূত্র হিসাবে কাজ করে, তাই এটি সম্পূর্ণ করতে Ctrl + Shift + Enter চাপতে ভুলবেন না।
এই সূত্রটি কীভাবে কাজ করে:
একটি আলফানিউমেরিক স্ট্রিং থেকে সংখ্যা বের করতে, আপনাকে প্রথমে জানতে হবে যে নিষ্কাশনটি কোথায় শুরু করতে হবে। একটি স্ট্রিং-এর শেষ অ-সংখ্যাসূচক অক্ষরের অবস্থান এই জটিল সূত্রের সাহায্যে নির্ধারিত হয়:
MAX(IF(ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN( A2))), 1)*1)=FALSE, ROW(INDIRECT("1:"&LEN(A2))), 0))
যুক্তি বোঝার জন্য, আসুন এটি ভেতর থেকে তদন্ত করি :
সারি(অপ্রত্যক্ষ("1:"&LEN(A2))) সমন্বয়সোর্স স্ট্রিং (A2) এর মোট অক্ষরের সাথে সঙ্গতিপূর্ণ সংখ্যার একটি ক্রম তৈরি করে, এবং আমরা এই ক্রমিক সংখ্যাগুলিকে শুরুর সংখ্যা হিসাবে MID-তে পরিবেশন করি:
MID(A2, {1;2;3;4) ;5;6;7;8}, 1)
MID ফাংশন A2 থেকে প্রতিটি স্বতন্ত্র অক্ষর টেনে আনে এবং তাদের একটি অ্যারে হিসাবে ফিরিয়ে দেয়:
{"0";"5";" -";"E";"C";"-";"0";"1"}
যেহেতু MID একটি টেক্সট ফাংশন, এর আউটপুট সবসময় টেক্সট হয় (যেমন আপনি লক্ষ্য করতে পারেন, সমস্ত অক্ষর উদ্ধৃতি চিহ্নে আবদ্ধ)। সাংখ্যিকগুলিকে সংখ্যায় পরিণত করতে, আমরা অ্যারেটিকে 1 দ্বারা গুণ করি (ডাবল নেগেশান --MID() একই প্রভাব ফেলবে)। এই অপারেশনের ফলাফল হল সংখ্যা এবং #VALUE! অ-সংখ্যাসূচক অক্ষর প্রতিনিধিত্বকারী ত্রুটি:
ISNUMBER({0;5;#VALUE!;#VALUE!;#VALUE!;#VALUE!;0;1})
ISNUMBER ফাংশন অ্যারের প্রতিটি উপাদানের মূল্যায়ন করে এবং বুলিয়ান মানের আকারে তার রায় দেয় - সংখ্যার জন্য সত্য, অন্য কিছুর জন্য মিথ্যা:
{সত্য; সত্য; মিথ্যা; মিথ্যা; মিথ্যা; মিথ্যা; সত্য; সত্য
এই অ্যারেটি IF ফাংশনের লজিক্যাল পরীক্ষায় যায়, যেখানে অ্যারের প্রতিটি উপাদানকে FALSE এর সাথে তুলনা করা হয়:
IF({TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE ;TRUE}=FALSE, ROW(INDIRECT("1:"&LEN(A2))), 0)
প্রতিটি FALSE (অ-সংখ্যাসূচক মান) এর জন্য, আরেকটি ROW(INDIRECT()) ফাংশন প্রদান করে স্ট্রিং এর আপেক্ষিক অবস্থান। প্রতিটি TRUE (সাংখ্যিক মান) এর জন্য একটি শূন্য প্রদান করা হয়। ফলস্বরূপ অ্যারে হিসাবে দেখায়অনুসরণ করে:
{0;0;3;4;5;6;0;0}
বাকিটা সহজ। MAX ফাংশন উপরের অ্যারেতে সর্বোচ্চ সংখ্যা খুঁজে পায়, যেটি স্ট্রিংয়ের শেষ অ-সংখ্যাসূচক মানের অবস্থান (আমাদের ক্ষেত্রে 6)। সহজভাবে, LEN দ্বারা প্রত্যাবর্তিত স্ট্রিংয়ের মোট দৈর্ঘ্য থেকে সেই অবস্থানটি বিয়োগ করুন এবং স্ট্রিংটির ডান দিক থেকে কতগুলি অক্ষর বের করতে হবে তা জানাতে ফলাফলটি ডানদিকে পাস করুন:
ডান(A2, LEN) (A2) - 6)
সম্পন্ন!
কিভাবে টেক্সট স্ট্রিং এর শুরু থেকে নম্বর বের করতে হয়
যদি আপনি রেকর্ড নিয়ে কাজ করেন যেখানে টেক্সট সংখ্যার পরে প্রদর্শিত হয়, আপনি করতে পারেন এই জেনেরিক সূত্রটি ব্যবহার করে একটি স্ট্রিং এর শুরু থেকে নম্বর বের করুন:
LEFT( cell, MATCH(FALSE, ISNUMBER(MID( cell, ROW(Indirect("1:") "&LEN( cell)+1)), 1) *1), 0) -1)A2 তে আসল স্ট্রিং সহ, নম্বর পেতে নিম্নলিখিত সূত্রটি ব্যবহার করুন:
=LEFT(A2, MATCH(FALSE, ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2)+1)), 1) *1), 0) -1)
মাঝে বা শেষে যত সংখ্যাই থাকুক না কেন, শুধুমাত্র প্রারম্ভিক সংখ্যাটি বের করা হয়:
দ্রষ্টব্য। এক্সেল 365 এবং এক্সেল 2021-এ, ডায়নামিক অ্যারেগুলির সমর্থনের কারণে, একটি নিয়মিত সূত্র ভাল কাজ করে। এক্সেল 2019 এবং তার আগে, আপনাকে স্পষ্টভাবে এটিকে একটি অ্যারে সূত্র করতে Ctrl + Shift + Enter টিপুন।
এই সূত্রটি কীভাবে কাজ করে:
এখানে, আমরা আবার ROW, INDIRECT এবং LEN ফাংশনের সমন্বয় ব্যবহার করে সোর্স স্ট্রিং প্লাস 1-এর মোট অক্ষরের সমান সংখ্যার ক্রম তৈরি করি (এর ভূমিকাঅতিরিক্ত অক্ষর একটু পরে পরিষ্কার হয়ে যাবে।
ROW(INDIRECT("1:"&LEN(A2)+1))
MID এবং ISNUMBER একই কাজ করে পূর্ববর্তী উদাহরণ - MID পৃথক অক্ষর টানে এবং ISNUMBER তাদের যৌক্তিক মানগুলিতে রূপান্তর করে। TRUE's এবং FALSE's এর ফলস্বরূপ অ্যারেটি একটি লুকআপ অ্যারে হিসাবে MATCH ফাংশনে যায়:
MATCH(FALSE, {TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;FALSE}, 0)
MATCH প্রথম FALSE-এর একটি আপেক্ষিক অবস্থান গণনা করে, আমাদের স্ট্রিং-এর প্রথম অ-সংখ্যাসূচক অক্ষরের অবস্থান দেয় (A2-তে 3)। পূর্ববর্তী সংখ্যাগুলি বের করতে, আমরা প্রথম পাঠ্য অক্ষরের অবস্থান থেকে 1 বিয়োগ করি এবং বাম ফাংশনের সংখ্যা_চরস আর্গুমেন্টে পার্থক্য পরিবেশন করি:
LEFT(A2, 3-1)<3
এখন, ROW(INDIRECT()+1)) দ্বারা তৈরি অনুক্রমের একটি "অতিরিক্ত" অক্ষরে ফিরে যান। আপনি ইতিমধ্যেই জানেন, এই ক্রমটি MID ফাংশনের জন্য প্রারম্ভিক পয়েন্ট প্রদান করে। +1 ছাড়া, MID মূল স্ট্রিং-এ যতগুলি অক্ষর আছে ঠিক ততগুলি অক্ষর বের করবে৷ যদি স্ট্রিংটিতে শুধুমাত্র সংখ্যা থাকে, তাহলে ISNUMBER শুধুমাত্র TRUE প্রদান করবে যখন MATCH-এর কমপক্ষে একটি FALSE প্রয়োজন। এটি নিশ্চিত করতে, আমরা স্ট্রিংটির মোট দৈর্ঘ্যে আরও একটি অক্ষর যোগ করি, যা MID ফাংশন একটি খালি স্ট্রিংয়ে রূপান্তর করবে। উদাহরণস্বরূপ, B7-এ, MID এই অ্যারেটি প্রদান করে:
{"1";"2";"3";"4";""}
নোট। RIGHT ফাংশনের ক্ষেত্রে যেমন, LEFT এছাড়াও একটি সংখ্যা প্রদান করেsubstring , যা প্রযুক্তিগতভাবে পাঠ্য, সংখ্যা নয়। সাংখ্যিক স্ট্রিংয়ের পরিবর্তে একটি সংখ্যা হিসাবে ফলাফল পেতে, VALUE ফাংশনে সূত্রটি নেস্ট করুন বা প্রথম উদাহরণে দেখানো হিসাবে ফলাফলটিকে 1 দ্বারা গুণ করুন৷
স্ট্রিং-এর যেকোনো অবস্থান থেকে কীভাবে সংখ্যা পেতে হয়
যদি আপনার কাজটি একটি স্ট্রিং এর যেকোনো স্থান থেকে সংখ্যা বের করা বোঝায়, তাহলে আপনি MrExcel ফোরামে প্রকাশিত নিম্নলিখিত মন-বিস্ময়কর সূত্রটি ব্যবহার করতে পারেন:
=SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1)) * ROW(INDIRECT("1:"&LEN(A2))), 0), ROW(INDIRECT("1:"&LEN(A2))))+1, 1) * 10^ROW(INDIRECT("1:"&LEN(A2)))/10)
যেখানে A2 হল আসল টেক্সট স্ট্রিং।
এই সূত্রটি ভাঙ্গার জন্য একটি পৃথক নিবন্ধের প্রয়োজন হবে, তাই এটি সত্যিই কাজ করে তা নিশ্চিত করতে আপনি এটিকে আপনার ওয়ার্কশীটে অনুলিপি করতে পারেন :)
ফলাফলগুলি পরীক্ষা করার পরে, আপনি একটি তুচ্ছ ত্রুটি লক্ষ্য করতে পারেন - যদি উত্স স্ট্রিংটিতে একটি সংখ্যা না থাকে তবে সূত্রটি শূন্য প্রদান করে, যেমনটি উপরের স্ক্রিনশটের 6 সারিতে রয়েছে। এটি ঠিক করতে, আপনি IF স্টেটমেন্টে সূত্রটি মোড়ানো করতে পারেন, যার যৌক্তিক পরীক্ষা উৎস স্ট্রিংটিতে কোনো সংখ্যা রয়েছে কিনা তা পরীক্ষা করে। যদি এটি হয়, সূত্রটি নম্বরটি বের করে, অন্যথায় একটি খালি স্ট্রিং ফেরত দেয়:
=IF(SUM(LEN(A2)-LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"}, "")))>0, SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2,ROW(INDIRECT("$1:$"&LEN(A2))),1))* ROW(INDIRECT("$1:$"&LEN(A2))),0), ROW(INDIRECT("$1:$"&LEN(A2))))+1,1) * 10^ROW(INDIRECT("$1:$"&LEN(A2)))/10),"")
নীচের স্ক্রিনশটে দেখানো হিসাবে, উন্নত সূত্রটি সুন্দরভাবে কাজ করে (আমাদের এক্সেল গুরু, অ্যালেক্সকে ধন্যবাদ, এই উন্নতির জন্য):
আগের সমস্ত উদাহরণের বিপরীতে, এই সূত্রের ফলাফল হল সংখ্যা । এটি নিশ্চিত করতে, কলাম B-এ ডান-সারিবদ্ধ মানগুলি লক্ষ্য করুন এবং অগ্রণী শূন্য ছেঁটে দিন৷
টিপ৷ এক্সেল 365-এ -এক্সেল 2019, TEXTJOIN ফাংশনের সাহায্যে আরও সহজ সমাধান রয়েছে। অনুগ্রহ করে দেখুন কিভাবে টেক্সট মুছে ফেলতে হয় এবং সংখ্যাগুলো রাখতে হয়।
আল্টিমেট স্যুটের মাধ্যমে টেক্সট স্ট্রিং থেকে নম্বর বের করুন
আপনি যেমনটি দেখেছেন, টেক্সট স্ট্রিং থেকে নম্বর তোলার জন্য কোনো তুচ্ছ এক্সেল সূত্র নেই। আপনার ডেটা সেটগুলির জন্য সূত্রগুলি বুঝতে বা সেগুলিকে টুইক করতে আপনার সমস্যা হলে, আপনি Excel এ স্ট্রিং থেকে নম্বর পাওয়ার এই সহজ উপায়টি পছন্দ করতে পারেন৷
আপনার এক্সেল রিবনে আমাদের আলটিমেট স্যুট যুক্ত করার সাথে, আপনি এইভাবে যেকোনো আলফানিউমেরিক স্ট্রিং থেকে দ্রুত নম্বর পুনরুদ্ধার করতে পারে:
- Ablebits Data ট্যাবে যান > Text গ্রুপ, এবং Extract এ ক্লিক করুন :
- সোর্স স্ট্রিং সহ সমস্ত ঘর নির্বাচন করুন৷
- এক্সট্র্যাক্ট টুলের প্যানে, এক্সট্র্যাক্ট নম্বর রেডিও বোতামটি নির্বাচন করুন৷
- আপনি ফলাফলগুলি সূত্র বা মান হতে চান তার উপর নির্ভর করে, সূত্র হিসাবে সন্নিবেশ করুন বাক্সটি নির্বাচন করুন বা এটিকে অনির্বাচিত (ডিফল্ট) ছেড়ে দিন।
আমার পরামর্শ হল এই বাক্সটি নির্বাচন করুন যদি আপনি চান যে উৎস স্ট্রিংগুলিতে কোনো পরিবর্তন করার সাথে সাথে নিষ্কাশিত সংখ্যাগুলি স্বয়ংক্রিয়ভাবে আপডেট হয়। আপনি যদি ফলাফলগুলি মূল স্ট্রিংগুলির উপর স্বাধীন হতে চান (যেমন যদি আপনি পরবর্তী সময়ে উত্স ডেটা সরানোর পরিকল্পনা করেন), তাহলে এই বাক্সটি নির্বাচন করবেন না৷
- ফলাফল সন্নিবেশ করুন বোতামে ক্লিক করুন। সম্পন্ন!
আগের উদাহরণের মত, ফলাফলনিষ্কাশন হল সংখ্যা , যার অর্থ আপনি তাদের সাথে গণনা, যোগফল, গড় বা অন্য কোনো গণনা করতে পারবেন।
এই উদাহরণে, আমরা ফলাফলগুলি <9 হিসাবে সন্নিবেশ করা বেছে নিয়েছি>মানগুলি , এবং অ্যাড-ইন ঠিক যা চাওয়া হয়েছিল তা করেছে:
যদি সূত্র হিসাবে ঢোকান চেকবক্সটি নির্বাচন করা হয়, তাহলে আপনি' d সূত্র বারে একটি সূত্র পর্যবেক্ষণ করুন। কোনটি জানতে আগ্রহী? শুধু আলটিমেট স্যুটের ট্রায়াল ডাউনলোড করুন এবং নিজের জন্য দেখুন :)
উপলভ্য ডাউনলোডগুলি
এক্সেল এক্সট্রাক্ট নম্বর - নমুনা ওয়ার্কবুক (.xlsx ফাইল)
আল্টিমেট স্যুট - ট্রায়াল সংস্করণ (.exe ফাইল)