তারিখসহ ডেটা থাকা সাধারণ ব্যাপার এবং ব্যবহারকারীরা সাধারণত এক্সেলে সারি তারিখ অনুযায়ী সাজান (Sort) করে। এক্সেলের বিভিন্ন ফিচার যেমন Sort & Filter, Filter, Custom Sort, Context Menu Options, এবং একাধিক ফাংশন যেমন MONTH, YEAR, SORT, SORTBY ইত্যাদি, 거기에 VBA Macro কার্যকরভাবে এক্সেলে সারি তারিখ অনুযায়ী সাজাতে সাহায্য করে।
মান লক্ষ করুন, আমাদের একটি ডেটাসেট আছে যেখানে নির্দিষ্ট তারিখে Total Cost (মোট খরচ) সংরক্ষিত রয়েছে। এখন, আমরা পুরো ডেটাসেটটি তারিখ অনুযায়ী সাজাতে চাই।

এই নিবন্ধে, আমরা একাধিক ফিচার, ফাংশন এবং VBA Macro ব্যবহার করে সারি তারিখ অনুযায়ী সাজানোর পদ্ধতি প্রদর্শন করব।
এক্সেল ওয়ার্কবুক ডাউনলোড করুন
এক্সেলে তারিখ অনুযায়ী সারি সাজানোর ৮টি সহজ পদ্ধতি
সাজানো (Sorting) একটি ডেটাসেট বুঝতে অত্যন্ত জরুরি টুল। তারিখ অনুযায়ী সাজানোর মাধ্যমে ব্যবহারকারীরা সহজে তাদের ডেটা নিয়ে কাজ করতে পারেন। ডেটাশीটে একই জায়গায় বা ভিন্ন জায়গায় ডেটা তারিখ অনুযায়ী সাজানোর একাধিক উপায় রয়েছে। নিচের বিভাগটি অনুসরণ করে বর্ণিত যেকোনো পদ্ধতিতে কার্যকরভাবে ডেটা তারিখ অনুযায়ী সাজান।
পদ্ধতি ১: Sort & Filter ফিচার ব্যবহার করে
এক্সেল Home এবং Data ট্যাব দুটোতেই Sort & Filter ফিচার অফার করে। সারি তারিখ অনুযায়ী সাজানোর জন্য যেকোনো একটি ব্যবহার করুন।
🔺 Sort & Filter প্রয়োগ করতে, Home > Sort & Filter (Editing সেকশন থেকে) > Sort Oldest to Newest (A⟶Z) নির্বাচন করুন। আপনি যেকোনো সাজানোর অপশন ব্যবহার করতে পারেন (যেমন: Sort Oldest to Newest (A⟶Z) অথবা Sort Newest to Oldest (Z⟶A))।

🔼 বিকল্পভাবে, Data ট্যাবে গিয়ে Sort & Filter সেকশন থেকে (A⟶Z) বা (Z⟶A) ক্লিক করুন।

🔺 উভয় ক্ষেত্রেই, এক্সেল Sort Warning দেখাবে যে আপনি কি সাজানোর পরিধি বিস্তারিত করতে চান। Continue with current selection নির্বাচন করলে সাজানোর মূল উদ্দেশ্য ভাঙে যায়। তাই Expand the selection বেছে নিয়ে Sort ক্লিক করুন।

🔼 উভয় অপশনের শেষে আপনি নিচের ছবির মতো একই ফলাফল পাবেন। চিত্র থেকে দেখা যাচ্ছে পুরো ডেটাসেট তারিখ অনুযায়ী সাজানো হয়েছে (Oldest থেকে Newest)।

কীবোর্ড শর্টকাট ALT+A+S+A পুরনো থেকে নতুন সাজানোর কাজ করে এবং ALT+A+S+D নতুন থেকে পুরনো সাজানোর কাজ করে।
আরও পড়ুন: [সমাধান:] এক্সেলে Sort and Filter কাজ না করলে কী করবেন
পদ্ধতি ২: Context Menu Options ব্যবহার করে সারি তারিখ অনুযায়ী সাজান
🔺 ডেটাসেটের মধ্যে Date কলামটি নির্বাচন করে রাইট-ক্লিক করুন। Context Menu দিয়ে Sort > Sort Oldest to Newest অথবা Sort Newest to Oldest নির্বাচন করুন।

🔺 Sort Warning উইন্ডো খুলবে। সেখানে Expand the selection বেছে নিয়ে Sort ক্লিক করুন। Continue with current selection নির্বাচন করলে শুধু Date কলামটি সাজবে, যা সাজানোর উদ্দেশ্য নষ্ট করবে।

🔼 তারপর এক্সেল আপনার নির্বাচন (Oldest to Newest অথবা Newest to Oldest) অনুযায়ী ডেটা সাজিয়ে দেবে, নিচের ছবির মতো।

আরও পড়ুন: এক্সেলে কলামের বদলে সারি অনুযায়ী ডেটা সাজানোর ২টি সহজ পদ্ধতি
পদ্ধতি ৩: Filter ফিচার ব্যবহার করে সারি সাজান
Sort & Filter ফিচারের মতোই Filter দিয়েও ডেটা তারিখ অনুযায়ী সাজানো যায়। চলুন পদ্ধতিটি শুরু করি।
🔺 প্রথমে Home > Sort & Filter (Editing সেকশন থেকে) > Filter নির্বাচন করে ডেটাসেটে ফিল্টার লাগান।

🔺 তারপর Date কলাম হেডারের পাশে থাকা Filter আইকনে ক্লিক করুন। Filter কমান্ড বক্স খুলবে। সেখানে যেকোনো অপশন (যেমন: Sort Oldest to Newest বা Sort Newest to Oldest) বেছে নিয়ে সারি তারিখ অনুযায়ী সাজান।

🔼 এখন চেক করুন আপনার ডেটাসেট আপনার পছন্দমতো সাজানো হয়েছে কিনা।

আরও পড়ুন: এক্সেলে Sort এবং Filter-এর পার্থক্য
পদ্ধতি ৪: Custom Sort ব্যবহার করে তারিখ অনুযায়ী সারি সাজান
Custom Sort অপশনটি যেকোনো কলাম হেডার ব্যবহার করে সাজানোর সুযোগ দেয়, যা কোষের Value, Color, Font Color, এবং Conditional Formatting Icon alapján হতে পারে। তারিখ সাজানোর জন্য এতে Oldest to Newest, Newest to Oldest, এবং Custom List অপশন রয়েছে।
🔺 Home ট্যাবে যান > Sort & Filter (Editing সেকশন থেকে) > Custom Sort নির্বাচন করুন।

🔺 Sort ডায়ালগ বক্স খুলবে।
⧫ Sort by হিসেবে Order Date বেছে নিন।
⧫ Sort On হিসেবে Cell Values বেছে নিন।
⧫ Order হিসেবে Oldest to Newest অথবা Newest to Oldest বেছে নিন।
শেষে OK ক্লিক করুন।

🔼 এক মুহূর্তে আপনি দেখবেন পুরো ডেটাসেট আপনার নির্বাচন অনুযায়ী সাজানো হয়েছে, নিচের ছবির মতো।

আরও পড়ুন: এক্সেলে Custom Sort List তৈরির পদ্ধতি
সদৃশ পাঠ্য:
- এক্সেলে ডেটা এন্ট্রি হলে অটো সাজান (৩ পদ্ধতি)
- এক্সেলে উপনাম (Last Name) অনুযায়ী সাজানোর ৪ পদ্ধতি
- সারি একসাথে রেখে এক্সেলে কলাম সাজান
- এক্সেলে মান অনুযায়ী কলাম সাজানোর ৫ পদ্ধতি
- এক্সেলে র্যান্ডম সাজান (ফর্মুলা + VBA)
পদ্ধতি ৫: ফাংশনের ফলাফল ব্যবহার করে তারিখ অনুযায়ী সাজান
আপনি একটি হেল্পার কলাম ব্যবহার করে তারিখ থেকে MONTH এবং DAY ফাংশন দিয়ে মাস এবং দিনের সংখ্যা বের করতে পারেন। তারপর সেই ফাংশনগুলোর ফলাফল ব্যবহার করে পুরো ডেটাসেট সাজাতে পারেন। আমরা ডেটাসেটটি পরিবর্তন করে MONTH ফাংশনকে তারিখ অনুযায়ী সাজানোর উপায় হিসেবে ব্যবহার করব। ডেটার ধরনের উপর নির্ভর করে YEAR ফাংশনও ব্যবহার করা যাবে।
🔺 যেকোনো খালি কোষে (যেমন: E5) নিচের ফর্মুলাটি লিখুন।
=MONTH(B5)এই ফর্মুলা তারিখ এন্ট্রি থেকে মাসের সংখ্যা বের করবে।

🔺 Fill Handle ব্যবহার করে ফর্মুলাটি অন্যান্য কোষে প্রয়োগ করুন।

🔺 পদ্ধতি ৩ ব্যবহার করে ডেটাসেটে Filter লাগান। তারপর Filter আইকনে ক্লিক করে আপনার পছন্দমতো অপশন (যেমন: Sort Smallest to Largest বা Sort Largest to Smallest) দিয়ে পুরো ডেটাসেট তারিখ অনুযায়ী সাজান।

🔼 আপনি দেখবেন এক্সেল আপনার নির্বাচন অনুযায়ী পুরো ডেটাসেট সাজিয়ে দিয়েছে, নিচের ছবির মতো।

আরও পড়ুন: এক্সেলে তারিখ ও সময় অনুযায়ী সাজানোর ৪ স্মার্ট পদ্ধতি
পদ্ধতি ৬: SORT ফাংশন পরিবার ব্যবহার করে সারি তারিখ অনুযায়ী সাজান
Excel 365 সাজানোর জন্য দুটি সাদৃশ্য ফাংশন প্রদান করে। SORT এবং SORTBY ফাংশনগুলো একটি নির্দিষ্ট কলাম ব্যবহার করে ডেটাসেট সাজায়। SORT ফাংশনের সিনট্যাক্স হলো:
SORT (array, [sort_index], [sort_order], [by_col])ফাংশনের আর্গুমেন্টগুলো:
- array; সাজানোর জন্য রেঞ্জ বা অ্যারে।
- sort_index; সাজানোর জন্য কলাম নম্বর। ডিফল্টভাবে এটি 1। [Optional]
- sort_order; সাজানোর ধরন: Ascending = 1, Descending = -1। ডিফল্টভাবে Ascending। [Optional]
- by_col; অপশন: Sort by Column = TRUE, Sort by Row = FALSE। ডিফল্টভাবে Sort by Row (যaitu FALSE)। [Optional]
🔺 যেকোনো কোষে (যেমন: H5) নিচের ফর্মুলাটি ব্যবহার করুন।
=SORT(B5:F16,1,1,FALSE)ফর্মুলায়,
- array = B5:F16
- sort_index = 1
- sort_order = 1 (Ascending)
- by_col = FALSE

🔺 ENTER চাপুন ফর্মুলা এক্সিকিউট করতে। এক মুহূর্তে পুরো ডেটাসেট ওয়ার্কশিটের একটি নতুন জায়গায় সাজানো হয়ে যাবে। যেহেতু আপনি Ascending order বেছে নিয়েছেন, এক্সেল তারিখের ওপর নির্ভর করে এন্ট্রিগুলো একইভাবে সাজিয়ে দেবে।

🔄 SORT ফাংশনের বিপরীতে, SORTBY ফাংশনটি মাল্টি-লেভেল সাজানোর সুযোগ দেয়। SORTBY ফাংশনের সিনট্যাক্স:
SORTBY (array, by_array, [sort_order], [array/order], ...)পরিবạchকগুলো নির্দেশ করে:
- array; সাজানোর জন্য রেঞ্জ বা অ্যারে।
- by_array; যে রেঞ্জ বা অ্যারে দিয়ে সাজাতে হবে।
- sort_order; Ascending = 1 (ডিফল্ট), Descending = -1।
- array/order; অতিরিক্ত অ্যারে এবং সাজানোর ক্রমের জোড়া। [Optional]
🔺 নিচের ফর্মুলাটি যেকোনো খালি কোষে (যেমন: H5) পেস্ট করে ENTER চাপুন।
=SORTBY(B5:F16,B5:B16,1)সিনট্যাক্সের সাথে তুলনা করলে, array = B5:F16, by_array = B5:B16, sort_order = 1 (Ascending)।

আরও পড়ুন: এক্সেলে একাধিক সারি সাজানোর ২ পদ্ধতি
পদ্ধতি ৭: ফর্মুলা ব্যবহার করে অটো সাজানোর পদ্ধতি
INDEX-MATCH ফর্মুলা তারিখ অনুযায়ী অটো সাজানোর সুযোগ দেয়। যেকোনো কোষ C5-এ নিচের ফর্মুলাটি লিখুন।
=IFERROR(INDEX($B$5:$B$16, MATCH(ROWS($B$5:B5),COUNTIF($B$5:$B$16, "<="&$B$5:$B$16), 0)), "")🔼 MATCH(ROWS($B$5:B5),COUNTIF($B$5:$B$16, “<=”&$B$5:$B$16), 0) ➤ অংশটি INDEX ফাংশনের জন্য row_num হিসেবে কাজ করে।
🔼 ROWS($B$5:B5) ➤ ROWS ফাংশন ব্যবহার করে MATCH ফাংশনের জন্য lookup_value পাস করে।
🔼 COUNTIF($B$5:$B$16, “<=”&$B$5:$B$16) ➤ COUNTIF ফাংশন ব্যবহার করে MATCH ফাংশনের জন্য lookup_array পাস করে।
🔼 0 ➤ MATCH ফাংশনের জন্য match_type (যaitu Exact Match) নির্দেশ করে।
🔺 ENTER চাপুন এবং Fill Handle ব্যবহার করে ফর্মুলাটি অন্যান্য কোষে প্রয়োগ করুন।

🔺 বিকল্পভাবে, নিচের ফর্মুলাটি ব্যবহার করে COUNTIF ফাংশনের বদলে RANK ফাংশন দিয়ে তারিখ র্যাঙ্ক করুন এবং নির্দিষ্ট কলামগুলো বের করুন।
=INDEX(B5:F16,MATCH(ROW(A1:A12),RANK(B5:B16,B5:B16,1),0),{1,2,5})এই ফর্মুলা পূর্বের ফর্মুলার মতো আর্গুমেন্ট ঘোষণা করে, শুধু COUNTIF এর বদলে RANK ফাংশন ব্যবহার করা হয়েছে। এটি আপনার ইচ্ছামতো নির্দিষ্ট কলামগুলো বের করবে।

আরও পড়ুন: এক্সেলে টেবিল অটো সাজানোর ৫ পদ্ধতি
পদ্ধতি ৮: VBA Macro ব্যবহার করে তারিখ অনুযায়ী সাজান
একটি VBA Macro ডেটাসেটকে তারিখ অনুযায়ী সাজাতে পারে।
🔺 ALT+F11 চাপে Microsoft Visual Basic খুলুন। ডাবল-ক্লিক করুন ইচ্ছিত ওয়ার্কশিটের ওপর।

🔺 শীটের কোড উইন্ডোতে নিচের ম্যাক্রোটি পেস্ট করুন।
Private Sub Worksheet_Change(ByVal Rng As Range) On Error Resume Next Range("B4").Sort Key1:=Range("B5"), _ Order1:=xlAscending, Header:=xlYes, _ OrderCustom:=1, MatchCase:=False, _ Orientation:=xlTopToBottom End Sub

প্রথম Range (যaitu B4) ডেটাসেটের বামপাশের কোষ। পরের Range (যaitu B5) ডেটার শুরু নির্দেশ করে। তারপর ম্যাক্রোর পুরো লাইন ডেটাসেটকে Ascending অর্ডারে Top to Bottom オリয়েন্টেশনে সাজানোর নির্দেশনা দেয়।
🔼 ম্যাক্রো ইনসার্ট করার পর ওয়ার্কশিটে ফিরে আসুন। সারি যোগ বা বাদ দিন অথবা শুধু ENTER চাপুন ডেটা সংগঠিত করতে, নিচের ছবির মতো।

আরও পড়ুন: এক্সেলে টেবিল সাজানোর জন্য VBA (৪ পদ্ধতি)
উপসংহার
এই নিবন্ধে, আমরা এক্সেলে সারি তারিখ অনুযায়ী সাজানোর জন্য একাধিক ফিচার, ফাংশন এবং VBA ম্যাক্রো ব্যবহার করেছি। বিল্ট-ইন ফিচারগুলো সাজানোর জন্য একাধিক অপশন প্রদান করে। কাস্টমাইজড ফর্মুলাগুলোও কার্যকরভাবে সারি তারিখ অনুযায়ী সাজায়। VBA Macro ডেটাসেটকে তারিখ অনুযায়ী অটোমেটিক্যালি সাজায়। আশা করি উপরের পদ্ধতিগুলো আপনার কাজে দক্ষতার সাথে কাজ করবে। আরও প্রশ্ন থাকলে কমেন্ট করুন বা কিছু যোগ করতে চাইলে জানান।
সম্পর্কিত নিবন্ধসমূহ
- এক্সেল VBA-তে Sort ফাংশন ব্যবহারের ৮টি উপযুক্ত উদাহরণ
- এক্সেল VBA-তে অ্যারে সাজানোর পদ্ধতি (উর্ধ্বমুখী এবং অধোমুখী উভয় ক্রমে)
- এক্সেলে কলাম সাজানোর জন্য VBA (৪ পদ্ধতি)
- এক্সেলে অনন্য তালিকা (Unique List) সাজানোর ১০ উপকারী পদ্ধতি
- এক্সেলে Sort বাটন যোগ করার ৭ পদ্ধতি
- এক্সেলে IP Address সাজানোর ৬ পদ্ধতি