এক্সেল এক্সট্রাক্ট স্ট্রিং থেকে সাবস্ট্রিং


22

আমি একটি স্ট্রিং থেকে পরিবর্তনশীল দৈর্ঘ্যের সাবস্ট্রিং নিষ্কাশন করার জন্য একটি উপায় খুঁজছি।

আমার কোষগুলি এমন কিছু দেখবে:

ABC - DEF
ABCDE - DEF
ABCD - ABC

আমি -চরিত্রটিতে স্ট্রিংটি বিভক্ত করতে চাই , তাই ঘরগুলি হয়ে যাবে:

ABC
ABCDE
ABCD

এটি ভিবিএস স্ক্রিপ্ট নয়, একটি সূত্র দিয়ে করা উচিত।

আমি এক্সেল 2010 ব্যবহার করছি

সম্পাদনা

আমি দেখেছি যে ডেটাসেটে সর্বদা -অক্ষর থাকে না , মানে কোনও পরিবর্তন হওয়া উচিত না।

উত্তর:


26

এই সমস্যাটি দুটি ধাপে বিভক্ত হতে পারে:

  1. আপনার পছন্দসই বিভক্ত অক্ষরের স্ট্রিংয়ের সূচকটি সন্ধান করুন (এই ক্ষেত্রে, "-"বা " - ")।
  2. মূল পাঠ্যের শুরু থেকে বিভাজন সূচকটিতে উপসর্গটি পান।

FINDএবং SEARCHকমান্ড প্রতিটি একটি প্রদত্ত সূচী ফিরে আসবে needleএকটি haystack( FINDকেস সংবেদনশীল হয়, SEARCHকেস-অবশ এবং ওয়াইল্ডকার্ড মঞ্জুরি দেয়।) যে দেওয়া, আমাদের আছে:

FIND(search_text, source_cell, start_index)

বা এই ক্ষেত্রে:

FIND(" - ", A1, 1)

আমাদের সূচকটি একবার হলে, source_cell"বিভাজন" করার জন্য আমাদের উপসর্গের প্রয়োজন । MIDঠিক যে:

MID(source_cell, start_index, num_characters)

উভয়কে একসাথে রেখে, আমাদের কাছে:

=MID(A1,1,FIND(" - ",A1,1))

, A1 টেক্সট থাকার সঙ্গে ABC - DEFদেয় ABC


7

আপনার সম্পাদনার উপর ভিত্তি করে অ্যান্ড্রুয়ের উত্তরটি প্রসারিত করা হচ্ছে: অক্ষরের স্ট্রিংটিতে বিভক্ত হওয়ার জন্য আমরা FINDফাংশনটি ব্যবহার করছি । FINDপ্রদত্ত স্ট্রিংটি সনাক্ত করতে ব্যর্থ হলে এটি #VALUE?ত্রুটি প্রদান করে returns সুতরাং আমাদের এই মানটি পরীক্ষা করতে হবে এবং পরিবর্তে বিকল্প মান ব্যবহার করতে হবে।

সহ যে কোনও ত্রুটির মান পরীক্ষা করার জন্য #VALUE, আমরা এই ISERRORফাংশনটি ব্যবহার করি :

=ISERROR(FIND(" - ", A1, 1))

এটি সত্য হবে যদি FINDফাংশনটি A1 ঘরে "-" স্ট্রিংটি খুঁজে না পায়। সুতরাং আমরা কোন মানটি ব্যবহার করতে হবে তা স্থির করতে এটি ব্যবহার করি:

=IF(ISERROR(FIND(" - ", A1, 1)), A1, MID(A1, 1, FIND(" - ", A1, 1)))

এটি বলে যে যদি ফাইন্ড কমান্ড কোনও ত্রুটি ফিরিয়ে দেয় তবে অবিস্মরণীয় এ 1 সেলটি ব্যবহার করুন। অন্যথায়, MIDঅ্যান্ড্রু ইতিমধ্যে সরবরাহ করা ফাংশনটি করুন।


2

আপনার উত্তরের জন্য আপনাকে @ অ্যান্ড্রুকোলসনকে ধন্যবাদ।

সুতরাং কেবল এটিতে যুক্ত করতে, আপনি যদি ডানদিকে ডানদিকে সবকিছু চান তবে -এই কোডটি ব্যবহার করুন:

= মধ্য (ক 1, LEN এর (খ 1) + + 3, LEN এর (ক 1))

যা হলো:

A1 = ABC - DEF
B1 = =MID(A1,1,FIND(" - ",A1,1))
    B1 = ABC
Therefore A1 = DEF

এই কোডটির জন্য দুর্দান্ত যদি আপনার পরে অক্ষরের একটি সংজ্ঞায়িত সংখ্যক সংখ্যা থাকে -

এই ক্ষেত্রে:

যদি তোমার থাকে:

ABC - DEFG
AB - CDEFGH
...

=MID(a1,FIND("-",a1)+1,LEN(a1))এটি কোনও "অতিরিক্ত-সেলুলার" রেফারেন্স ছাড়াই কৌতুকটি করে )
মিকি

1

এক্সেলের কোনও পাঠ্য স্ট্রিং থেকে বাম দিক থেকে 5 তম বর্ণটি নিষ্কাশনের খুব সহজ উপায়:

ধরুন অক্ষরের স্ট্রিংটি ABCDEFGHIJএকটি এক্সেল স্প্রেডশিটে সেল এ 1 তে সংরক্ষণ করা হয়েছে, তারপরে নীচের সূত্রটি

=RIGHT(LEFT(A1,5),1)

স্ট্রিংয়ের বাম থেকে 5 তম অক্ষর উত্পাদন করে E


( MIDএক্সেলে কোনও ফাংশন নেই ? আমি নিশ্চিত এটি উত্তরাধিকার ভিজ্যুয়াল =MID(A1, 5, 1)
বেসিকটিতে

0

নিম্নলিখিত সূত্রটি থেকে একটি স্ট্রিং সরিয়ে ফেলবে [TEXTCOLUMN_1]

উদাহরণ: যদি আপনি রূপান্তর করতে চান -./thumb/hello.jpgকরতে thumb/hello.jpgতারপর নিম্নলিখিত সূত্র ব্যবহার

=SUBSTITUTE([TEXTCOLUMN_1],LEFT([TEXTCOLUMN_1],[NUM_OF_CHARACTERS]),)

[TEXTCOLUMN_1]= আপনি যে কলামের নামটি পরিবর্তন করতে চান [NUM_OF_CHARACTERS]= বাম দিক থেকে অক্ষরগুলির সংখ্যা যা আপনি সরাতে চান

আপনি যদি ডান দিক থেকে সরাতে চান তবে নিম্নলিখিতগুলি ব্যবহার করুন

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