30 এপ্রিল, 2026, 10:30AM EDT
প্রকাশিতইয়াসির হলেন একজন মেকানিক্যাল ইঞ্জিনিয়ার যিনি MUO-তে প্রযুক্তি সম্পর্কে লেখেন, উইন্ডোজ, উৎপাদনশীলতা, নিরাপত্তা এবং ইন্টারনেটকে কভার করে। স্বায়ত্তশাসিত সিস্টেমের প্রতি তার আগ্রহ তাকে ক্রমাগত হার্ডওয়্যার এবং সফ্টওয়্যার উভয়ের সাথেই টানতে থাকে।
তার কারিগরি লেখার যাত্রা শুরু হয় তার ইঞ্জিনিয়ারিং এর জুনিয়র বর্ষে, MUO তে যোগদানের আগে তাকে Android পুলিশে নিয়ে যায়। তিনি প্রযুক্তিকে অ্যাক্সেসযোগ্য করে তোলার দিকে মনোনিবেশ করেন, তিনি উইন্ডোজ সমস্যাগুলির সমাধান করছেন, উৎপাদনশীলতার সরঞ্জামগুলি অন্বেষণ করছেন বা সাধারণ ইংরেজিতে নিরাপত্তা ঝুঁকি ব্যাখ্যা করছেন। ইয়াসিরের জন্য, এটি করার সর্বোত্তম উপায় হ'ল প্রকৃতপক্ষে সরঞ্জামগুলি ব্যবহার করা এবং পাঠকদের একই সমস্যার মুখোমুখি হওয়া৷
যখন সে লিখছে না বা ইঞ্জিনিয়ারিং করছে না, তখন আপনি ইয়াসিরকে দেখতে পাবেন অযৌক্তিক জোকার দেখছেন এবং সত্যিকার অর্থে হাসছেন যা তিনি আগে এক ডজন বার দেখেছেন।
আমার জানা বেশিরভাগ এক্সেল ব্যবহারকারীরা আমি যেভাবে শিখেছি সেভাবে সূত্র শিখেছে — এক সময়ে একটি ফাংশন, তারা ইতিমধ্যে যা জানত তার উপরে স্ট্যাক করা। ডায়নামিক অ্যারে ফাংশনগুলি সেই দক্ষতাগুলি প্রতিস্থাপন করে না; তারা শুধু অপ্রয়োজনীয় কাজের অনেক কাজ করে। আমি কিছু সময়ের জন্য TAKE এবং DROP-এর সাথে আমার স্ব-আপডেটকারী শীর্ষ-পাঁচ তালিকা চালাচ্ছি, এবং নীচের চারটি ফাংশনের সাথে একই পরিবর্তন ঘটেছে। প্রত্যেকে একটি বহু-পদক্ষেপের রুটিন কমিয়েছে যা আমি একটি একক সূত্রে প্রতিফলিতভাবে সম্পাদন করতাম।
সম্পর্কিত
ফিল্টার সাহায্যকারী কলাম এবং অ্যারে সূত্রগুলির একটি সম্পূর্ণ আচার প্রতিস্থাপন করেছে
একটি সূত্র এখন তা করে যা একাধিক ফাংশন তাদের মধ্যে বিভক্ত করতে ব্যবহৃত হয়
পুরানো এক্সেলে মিলিত সারি টেনে আনার অর্থ হল একটি নেস্টেড INDEX, MATCH, SMALL, এবং IFERROR সূত্র তৈরি করা এবং Ctrl + Shift + Enter দিয়ে প্রবেশ করা। এটি কাজ করেছিল, কিন্তু পরে এটি বজায় রাখা একটি সমস্যা ছিল। অন্য বিকল্পটি ছিল স্বয়ংক্রিয় ফিল্টার প্রয়োগ করা, দৃশ্যমান সারিগুলি অনুলিপি করা এবং স্ট্যাটিক মান হিসাবে সেগুলি অন্য কোথাও আটকানো। সোর্স ডেটা পরিবর্তন না হওয়া পর্যন্ত এটিও ঠিক ছিল৷
৷FILTER ফাংশন এক লাইনে একই কাজ করে। আমার বিক্রয় স্প্রেডশীটে, যেটি অঞ্চল, পণ্য বিভাগ এবং বিক্রয়কর্মী জুড়ে 32টি সারি রয়েছে, পশ্চিম অঞ্চল থেকে প্রতিটি ইলেকট্রনিক্স বিক্রয় এইরকম দেখায়:
=FILTER(A2:G33, (B2:B33="West")*(C2:C33="Electronics"))
প্রথম আর্গুমেন্ট হল রেঞ্জ যেটা আপনি ফেরত দিতে চান। দ্বিতীয়টি হল শর্ত, এবং দুটি চেকের মধ্যে গুন একটি AND হিসাবে কাজ করে — উভয়কেই সত্য হতে হবে। তারকাচিহ্নটিকে একটি প্লাস চিহ্নে পরিবর্তন করলে এটি একটি OR হয়ে যায় এবং ফলাফলটি স্বয়ংক্রিয়ভাবে ছড়িয়ে পড়ে। উৎসে একটি নতুন সারি যোগ করলে আপনি এন্টার টিপুন মুহুর্তে ছড়িয়ে পড়া আউটপুট আপডেট করে।
আপনি খালি ফলাফলগুলি পরিচালনা করতে তৃতীয় আর্গুমেন্ট সহ IFERROR-এ FILTER মোড়ানো করতে পারেন৷ =FILTER(range, condition, "No matches") আপনার শীটকে #CALC দেখানো থেকে বিরত রাখে! কোনো সারি যোগ্য না হলে ত্রুটি৷
UNIQUE আমার তিন-পদক্ষেপ ডিডপ্লিকেশন রুটিনকে একটি একক কক্ষে পরিণত করেছে
সদৃশগুলি সরান ভাল, কিন্তু এটি আমার জন্য নিজেকে আপডেট করেনি
ডাটা ট্যাবের অধীনে ডুপ্লিকেট অপশনটি এক-বার পরিষ্কারের জন্য ভাল। ধরা হল যে এটি একটি স্ট্যাটিক তালিকা তৈরি করে। আপনি যখন একটি নতুন অবস্থানে একটি কলাম অনুলিপি করেন, ডায়ালগ চালান, বা ফলাফলগুলি সাজান, পরের বার কেউ একটি সারি যোগ করলে আপনাকে এটির সবগুলি পুনরায় করতে হবে৷ আমি গণনার চেয়েও বেশি বার করেছি।
UNIQUE এর প্রতিটি ধাপ এড়িয়ে যায়। আমার বিক্রয় স্প্রেডশীটে বিক্রয়কর্মী কলামে এটি নির্দেশ করা এইরকম দেখাচ্ছে:
=UNIQUE(D2:D33)
ফলাফল জন স্মিথ, সারাহ জনসন, মাইক উইলসন, লিসা ব্রাউন, ডেভিড চেন, এমা ডেভিস, টম রদ্রিগেজ এবং অ্যামি ফস্টারকে ছড়িয়ে দেয়। এটি কোন ডায়ালগ বক্স সহ আটটি নাম। এটিকে =SORT(UNIQUE(D2:D33)) হিসাবে মোড়ানো হচ্ছে বর্ণানুক্রমিক একই তালিকা প্রদান করে। আউটপুটটি উত্সের সাথে সংযুক্ত থাকে, তাই ডেটাতে একটি নতুন নাম যুক্ত করা স্বয়ংক্রিয়ভাবে ছড়িয়ে পড়া তালিকাকে প্রসারিত করে৷
এই সেটআপটি ডেটা যাচাইকরণ ড্রপডাউন তালিকার জন্য একটি পরিষ্কার উত্সও তৈরি করে। আপনি যদি D35# এর মত হ্যাশ দিয়ে ছিটকে যাওয়া পরিসীমা উল্লেখ করেন , আপনার ড্রপডাউনটি নিজে থেকেই বৃদ্ধি পায় কারণ উৎস ডেটাতে নতুন নাম দেখা যায়।
SORTBY ভালোর জন্য আমার কপি-পেস্ট-এবং-বাছাই করা বন্ধ করে দিয়েছে
উৎস ডেটা স্পর্শ না করে একটি ভিউ সাজানো
Excel এ সাজানো সবসময় একটি ছোট ঝুঁকি বহন করে। উত্সটি পুনর্বিন্যাস করা সূত্রগুলি ভাঙতে পারে যা নির্দিষ্ট সারিগুলিকে রেফার করে, তাই আমার ফলব্যাকটি ছিল নিরাপদ কোথাও একটি অংশ অনুলিপি করা এবং অনুলিপিটি সাজানো। SORT সাহায্য করেছে, কিন্তু শুধুমাত্র যখন আমি সাজানো প্রতিটি কলাম প্রদর্শন করতে পেরে খুশি হতাম৷
৷SORTBY সেই সীমাবদ্ধতাকে সরিয়ে দেয়। এটি অন্য পরিসরের মান ব্যবহার করে একটি পরিসর সাজায় এবং দ্বিতীয় পরিসরটি আউটপুটে উপস্থিত হতে হবে না। আমি আমার ডেটাসেটে আয়ের ভিত্তিতে বিক্রয়কর্মীদের র্যাঙ্ক করতে নিম্নলিখিত সূত্রটি ব্যবহার করেছি:
=SORTBY(D2:D33, G2:G33, -1)
প্রথম আর্গুমেন্ট হল আপনি কি ফেরত দিতে চান (বিক্রয় ব্যক্তি), দ্বিতীয়টি হল কোনটি (বিক্রয় রাজস্ব) অনুসারে বাছাই করতে হবে এবং -1 ক্রমটি অবতরণে সেট করে। নামগুলি সর্বোচ্চ বিক্রির পরিমাণ থেকে সর্বনিম্ন পর্যন্ত র্যাঙ্ক করা হয়, এবং বিক্রয়ের পরিমাণ কলাম কখনই আউটপুটে প্রদর্শিত হয় না যদি না আপনি এটি জিজ্ঞাসা করেন।
এটি ফিল্টারের সাথে পরিষ্কারভাবে জোড়া দেয়। FILTER(D2:G33, B2:B33="North") মোড়ানো SORTBY এর ভিতরে শুধুমাত্র উত্তর অঞ্চলের রেকর্ডগুলি, উচ্চ থেকে নিম্ন বাছাই, এক শটে ফেরত দেয়৷ উৎস তথ্য অস্পর্শ থাকে.
SORTBY একাধিক সাজানোর স্তর গ্রহণ করে। আপনি প্রথমে অঞ্চল অনুসারে বাছাই করতে আরও পরিসর/অর্ডার জোড়া যোগ করতে পারেন, তারপর প্রতিটি অঞ্চলের মধ্যে বিক্রয় আয় অনুসারে৷
SEQUENCE ফিল হ্যান্ডেলগুলি এবং ROW কৌশলগুলি প্রতিস্থাপন করেছে যা আমি গর্বিত ছিলাম
একটি একক ঘর টেনে না নিয়ে একটি সিরিজ তৈরি করা হচ্ছে
একটি সংখ্যাযুক্ত সিরিজ তৈরি করার অর্থ হল ফিল হ্যান্ডেলটি টেনে আনা যতক্ষণ না আমি ধৈর্য হারাই বা =ROW(A1) লিখি এবং এটি কপি করা। উভয়ই কাজ করে, কিন্তু অন্তর্নিহিত ডেটা পরিবর্তিত হলে কোনটিরই আকার পরিবর্তন হয় না।
SEQUENCE একটি একক কক্ষে একই কাজ পরিচালনা করে এবং এটি আর্গুমেন্টের উপর নির্ভর করে সারি, কলাম বা সম্পূর্ণ গ্রিড তৈরি করে। সিনট্যাক্স হল:
=SEQUENCE(rows, [columns], [start], [step])
আমার ডেটাতে 1001 থেকে শুরু করে আটটি অনন্য বিক্রয়কর্মীর সংখ্যা করতে, আমি নিম্নলিখিত সূত্রটি ব্যবহার করেছি:
=SEQUENCE(8, 1, 1001, 1)
এটি একটি একক কলামে 1001 থেকে 1008 রিটার্ন করে। কলামগুলিকে 1 এবং ধাপ 1-এ সেট করা এটিকে ধারাবাহিক পূর্ণসংখ্যা সহ একটি উল্লম্ব তালিকা হিসাবে রাখে। যেখানে SEQUENCE তার স্থান অর্জন করে তা অন্যান্য ফাংশনের ভিতরে। জানুয়ারী 2026-এর জন্য একটি 31-দিনের তারিখ পরিসীমা তৈরি করতে একটি সূত্র লাগে:
=DATE(2026, 1, SEQUENCE(31))
টেক্সট, INDEX, বা অন্য যেকোন ফাংশনে ছিটকে যাওয়া অ্যারেকে ফিড করা একটি পরিসরের আশা করে একটি সহায়ক কলামের প্রয়োজন ছিল তা ভেঙে যায়। আমি যখন তারিখের কলামগুলি পূরণ করতে SEQUENCE ব্যবহার করার বিষয়ে লিখেছিলাম তখন আমি এটিকে আরও বিস্তারিতভাবে কভার করেছি, এবং এটি এখনও আমার তৈরি প্রতিটি ক্যালেন্ডার বা সময়সূচীতে আমার সময় বাঁচায়৷
যে ফাংশনগুলি আমি পরবর্তীতে খনন করতে চাই
পুরোনো পদ্ধতির কোনোটিই ভাঙা হয় না। তারা শুধু বেশি সময় নেয় এবং এমন ফাইল তৈরি করে যা রক্ষণাবেক্ষণ করা কঠিন, আমার এবং অন্য যে কেউ পরে ওয়ার্কবুক খুলছে। আমার জন্য, আমি ডিফল্টরূপে যা পৌঁছাই তা হল শিফট। নতুন স্প্রেডশীটগুলি গতিশীল অ্যারে চিন্তার সাথে শুরু হয় এবং পুরানো টুলবক্সটি তখনই বেরিয়ে আসে যখন আমি অন্য কারো ফাইল সম্পাদনা করি। আমার তালিকার পরে রয়েছে স্ট্রিংগুলিকে আলাদা করার জন্য TEXTSPLIT, রেঞ্জগুলিকে একত্রিত করার জন্য VSTACK এবং HSTACK এবং পিভট টেবিলগুলি সম্পূর্ণভাবে এড়িয়ে যাওয়ার জন্য PIVOTBY এবং GROUPBY৷ প্রতিটি রিলিজ অন্য অভ্যাস অবসর বলে মনে হয়, যা আমার দ্বারা ভাল।