এমএস এক্সেলে ফাইল এক্সটেনশন কীভাবে পাবেন?


10

আমার কাছে একটি কলাম রয়েছে যেখানে ফাইল পাথ রয়েছে। আমি অন্য কলাম তৈরি করতে চাই যাতে কেবলমাত্র পথগুলির এক্সটেনশান থাকে। মাইক্রোসফ্ট এক্সেলে আমি কীভাবে এটি করতে পারি?


1
গুগল স্প্রেডশিটে এটি কীভাবে সন্ধান করছে তার জন্য আপনি ব্যবহার করতে পারেনREGEXEXTRACT(A1, "\.([^.]*)$")
জো

উত্তর:


20
=REPLACE(RIGHT(A1,5),1,SEARCH(".",RIGHT(A1,5)),"")

আপনার যদি ফাইলনামে একাধিক বিন্দু থাকে তবে এই সূত্রটি কার্যকর হবে


2
মনে রাখবেন এটি কেবলমাত্র চারটি অক্ষর বা সংক্ষিপ্ত আকারের ফাইল এক্সটেনশনের জন্য কাজ করে।
টিম রবিনসন

1
আপনি কেবল 5 টি 6 বা 6 বা যা কিছু ঠিক করতে পারেন?
শয়তানের অ্যাডভোকেট

নাহ, যে কারণে সমস্যা।
শয়তানের অ্যাডভোকেট

4

অন্য উত্তর থেকে নেওয়া (স্থানগুলির জন্য বিন্দুর সন্ধানে পরিবর্তন করা হয়েছে):

=RIGHT(A1,LEN(A1)-FIND("|",SUBSTITUTE(A1,".","|",LEN(A1)-LEN(SUBSTITUTE(A1,".","")))))

একটি ট্রিট কাজ! দ্রুত অনুলিপি / পেস্ট সমাধানের জন্য ধন্যবাদ। ফাইলনেমে পুরো পাথ এবং নেমস্পেসের স্বরলিপি সহ 2 থেকে 7 অক্ষর ফাইল এক্সটেনশান সহ ফাইল এক্সটেনশনের জন্য কাজ করে।
জাফান শ্রয়েডার

2

সিরিল উত্তর কেবল তখনই কাজ করবে যখন এক্সটেনশানটি 3 বা 4 টি অক্ষর হয় এবং যখন .ফাইলের নামে (পিরিয়ড) থাকে তখন ব্যবহারকারী 273281 উত্তর কাজ করে না ।

সুতরাং আমি এটি অর্জনের একটি নতুন উপায় খুঁজে বের করেছি,

=TRIM(RIGHT(SUBSTITUTE(TRIM(A1), ".", REPT(" ", LEN(TRIM(A1)))), LEN(TRIM(A1))))

দ্রষ্টব্য: ফাইলের নাম যেখানে ছিল সে ক্ষেত্রে ব্যবহারকারী 273281 এর আস্ভার কাজ করে না 1. Macro based file.zip। এটি ফিরে আসে. Macro based file.zip


0

ধরে নিই আপনার সুন্দর ফর্ম্যাট এক্সটেনশন রয়েছে, আপনি এটি হিসাবে দ্রুত করতে পারেন =RIGHT(A1,3)। আরও শক্তিশালী সমাধান ডানদিকের সূচকটি খুঁজে .বের করবে এবং তারপরে বাকী অক্ষরগুলি বের করবে।


আপনার প্রশ্ন পড়া যে আমি উত্তর দিতে হবে।
ভেরগ্যুই

আমি মনে করি এখানে আসল প্রশ্নটি হল: কীভাবে সর্বাধিক সন্ধান করতে হবে "" এক্সেলে।
পিটারসোহন

এক্সটেনশনটি 3 টি অক্ষরে অ্যালসওয়ে নয়। @ পারটারসোহন: হ্যাঁ, আপনি ঠিক বলেছেন।
নাম জি ভিইউ

0

আমি এটি পেরিয়ে এসেছি, যা আমি দেখেছি সবচেয়ে সহজ সমাধান ...

=SUBSTITUTE(RIGHT(SUBSTITUTE(A5,".",REPT(".",50)),50),".","")

এটি কাজ করে কারণ এটি শেষ সময়কালের পরে কোনও অক্ষর 50 টি পিরিয়ড বা আপনার চয়ন করা সংখ্যার দ্বারা অন্য সমস্ত অক্ষর থেকে আলাদা করে। তারপরে আপনি আপনার এক্সটেনশন অক্ষর এবং পিরিয়ডের গুচ্ছ ব্যতীত আর কিছুই নির্বাচন করছেন না তা জেনে আপনি সঠিকতম 50 টি অক্ষর নির্বাচন করতে পারেন। পিরিয়ডগুলি প্রতিস্থাপন করুন এবং আপনি যেতে প্রস্তুত।

সূত্র

বিকল্প: এক্সএমএল পার্সিং


আমি মাঝে মাঝে স্ট্রিং পার্সিংয়ের জন্য একটি ঝরঝরে কৌশল ব্যবহার করি যা FilterXML()ফাংশনটি উপার্জন করতে পারে (এক্সেল 2013 এবং তার পরে)। Substitute()আপনার স্ট্রিংটি কোনও xML স্ট্রিংয়ের উপাদানগুলিতে পার্স করা এমনভাবে ফর্ম্যাট করার জন্য মৌলিক কৌশলটি ব্যবহার করা হয় এবং তারপরে আপনি আপনার পার্স করা উপাদানগুলিকে সুবিধামত নেভিগেট করতে এক্সপাথ সিনট্যাক্স ব্যবহার করতে পারেন । এই কৌশলটি ব্যবহার করে, একটি এক্সটেনশন পাওয়া এইরকম দেখাচ্ছে ...

=FILTERXML("<A><p>" & SUBSTITUTE(A1,".","</p><p>.")&"</p></A>","//p[last()]")

আপনি যদি এক্সএমএল এর সাথে পরিচিত না হন তবে এটি ভীতিজনক বলে মনে হতে পারে তবে আপনি কী বুঝতে পারছেন তা লেন (), বিকল্প (), বিকল্প () ব্যবহার করে বিকল্প পদ্ধতির চেয়ে মনে হয় পরিষ্কার, আরও নমনীয় এবং সহজ মনে করি, ইত্যাদি। এটির সুন্দর কারণগুলির একটি কারণ হ'ল কেবলমাত্র একটি সেল রেফারেন্স।

অবৈধ চরিত্র

দুটি অক্ষর আছে যা পাথ কিন্তু না XML- এর অনুমতি দেওয়া হয় আছেন: &এবং'

এই অক্ষরগুলি উপস্থিত না থাকলে উপরের সমীকরণটি কাজ করবে, অন্যথায় তাদের এ জাতীয় কিছু পরিচালনা করা দরকার ...

=FILTERXML("<A><p>" & SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(J8,"'",""),"&",""),".","</p><p>.")&"</p></A>","//p[last()]")

উদাহরণ

ধরুন আমাদের কাছে এর মতো নোংরা ফাইলের পথ রয়েছে:

সি: \ ফোল্ডার 1 \ ফোল্ডার 2 \ (কুরুচিপূর্ণ অক্ষর! @ # $% ^ () _ + = {} ;;, `) \ two.dots.LongExt

1.) Substitution()অংশটি এটিকে এই জাতীয় xML স্ট্রিংয়ে রূপান্তর করবে ...

<A>
    <p>
        C:\Folder1\Folder2\(ugly characters !@#$%^()_+={};;,`)\two
    </p>
    <p>
        .dots
    </p>
    <p>
        .txt
    </p>
</A>

২) একবার এর মতো ফর্ম্যাট হয়ে গেলে pএক্সপথ সিনট্যাক্স ব্যবহার করে শেষ উপাদানটি বেছে নেওয়া তুচ্ছ //p[last()]

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