এক ওয়ার্কশিটের বিভিন্ন উপাদান অন্য একটি ওয়ার্কশিটে কপি করার সময় আপনি প্রয়োজনীয় ফরম্যাটিং পাওয়া যাবেনা, এটি একটি বড় সমস্যা। মাইক্রোসফট এক্সেল-এ বড় পরিমাণে উপাদান কপি-পেস্ট করাটা খুব সময়সাপেক্ষও। এই আর্টিকেলে আমরা জানব পাওয়ার কোয়ারি কিভাবে একাধিক এক্সেল ফাইল একত্রিত করে এবং কিভাবে একাধিক ওয়ার্কশিটের ডেটা একটি একক ওয়ার্কশিটে কনসলিডেট করা যায়। কপি-পেস্ট ছাড়াই এক্সেল ওয়ার্কশিট মার্জ করার পদ্ধতি দেখাবো।
আপনি ফ্রি এক্সেল ওয়ার্কবুক ডাউনলোড করে নিজে প্র্যাকটিস করতে পারেন।
কপি-পেস্ট ছাড়া এক্সেল ওয়ার্কশিট মার্জ করার ৩টি সহজ উপায়
এই আর্টিকেলে আপনি কপি-পেস্ট ছাড়া এক্সেল ওয়ার্কশিট মার্জ করার তিনটি সহজ পদ্ধতি দেখবেন। প্রথম পদ্ধতিতে, আমি একাধিক শীট-এর ডেটা একটি শীটে কনসলিডেট করব। দ্বিতীয় পদ্ধতিতে, এক্সেলের পাওয়ার কোয়ারি টুল ব্যবহার করব। এবং তৃতীয় পদ্ধতিতে, ভিবিএ কোড প্রয়োগ করে একাধিক এক্সেল ওয়ার্কশিট মার্জ করব।
সभी প্রক্রিয়া প্রদর্শনের জন্য নিচের দুটি ডেটা সেট দুটি ভিন্ন শীটে ব্যবহার করা হয়েছে।

১. একাধিক ওয়ার্কশিট থেকে ডেটা কনসলিডেট করে মার্জ করা
মান लीजিয়ে, আপনার দুটি ওয়ার্কশিটে একই প্রোডাক্টের নাম আছে। তিন মাসের বিক্রয় পরিমাণ দেওয়া রয়েছে এবং আপনি প্রতিটি প্রোডাক্টের প্রতিটি মাসের মোট বিক্রয় খুঁজতে চান। সেটা করার জন্য এক্সেলের কনসলিডেট (Consolidate) ফিচার প্রয়োজন। ধাপগুলো নিচে দেওয়া হলো:
ধাপ ১:
- প্রথমে, একই ওয়ার্কবুকে একটি খালি ওয়ার্কশিট নিন এবং ফলাফল দেখতে চান এমন একটি সেল সিলেক্ট করুন।
- তারপর, রিবনের Data ট্যাবে যান এবং Data Tools গ্রুপের অধীনে Consolidate বেছে নিন।

ধাপ ২:
- আপনি Consolidate ডায়লগ বক্স দেখবেন।
- Function ড্রপ-ডাউন থেকে Sum সিলেক্ট করুন।
- Reference বক্সে প্রথম ডেটা সেটের রেঞ্জ দিন।
- Use labels in হেডারের উভয় অপশন টিক দিন।
- শেষে Add বাটন চাপুন।

ধাপ ৩:
- আবার Reference বক্সে দ্বিতীয় ডেটা সেটের রেঞ্জ ইনসার্ট করুন।
- ইনসার্ট করার পর Add চাপুন।
- পরিশেষে OK ক্লিক করুন।

ধাপ ৪:
- OK চাপলে আপনি দেখবেন নতুন ওয়ার্কশিটে বিভিন্ন প্রোডাক্টের নাম সহ মাসিক বিক্রয় ডেটা যোগ হয়েছে।
- এই শীটে মাসিক বিক্রয়ের পরিমাণ একসাথে যোগ হয়ে গেছে।

ধাপ ৫:
- নতুন ওয়ার্কশিটে Product Name হেডিং অনুপস্থিত থাকবে।
- কারণ এটি উভয় ওয়ার্কশিটে B4 সেলে ছিল, এবং Consolidate ফিচারে এই সেলটি রেফারেন্স সেল হিসেবে নেওয়া হয়।
- সুতরাং, Consolidate ফিচার চালানোর পর রেফারেন্স সেলের টেক্সট দেখানো হয়না।
- অতএব, নতুন যোগ করা ডেটা দিয়ে ওয়ার্কশিটটি ফরম্যাট করুন।

আরও পড়ুন: VLOOKUP ব্যবহার করে এক্সেলে দুটি শীট মার্জ করা (সহজ ধাপসহ)
২. পাওয়ার কোয়ারি টুল ব্যবহার করে এক্সেল ওয়ার্কশিট মার্জ করা
এক্সেল আমাদের নতুন ফিচার পাওয়ার কোয়ারি দিয়ে পরিচয় করিয়েছে, যা পূর্বের ভার্সনে সম্ভব ন ছিল এমন অনেক কাজ করতে সক্ষম। পাওয়ার কোয়ারি-র সাহায্যে ভিন্ন ভিন্ন ওয়ার্কশিটের একাধিক ডেটা একটি একক ওয়ার্কশিটে একত্রিত করা খুব সহজ। এছাড়া এই ফিচার দিয়ে আপনি একই কলামের ভিত্তিতে দুটি এক্সেল শীট মার্জ করতে পারেন। এই প্রক্রিয়া জানতে নিচের ধাপগুলো অনুসরণ করুন।
ধাপ ১:
- প্রথমে, দুটি ডেটা সেটকে টেবিলে রূপান্তর করব।
- প্রথম ডেটা সেটের B4:E8 রেঞ্জ সিলেক্ট করুন।
- তারপর রিবনের Insert ট্যাবে যান এবং সেখান থেকে Table বেছে নিন।

ধাপ ২:
- Create Table ডায়লগ বক্স দেখবেন।
- এখানে সঠিক ডেটা রেঞ্জ ইনপুট দিয়ে OK চাপুন।

ধাপ ৩:
- উপরের ধাপগুলো অনুসরণ করে আপনার ডেটা রেঞ্জ এক্সেল টেবিলে রূপান্তরিত হবে।
- দ্বিতীয় ডেটা সেটও একইভাবে টেবিলে রূপান্তর করুন।

ধাপ ৪:
- মার্জ করার জন্য একটি নতুন ওয়ার্কশিট খুলুন এবং রিবনের Data ট্যাবে যান।
- Get & Transform Data গ্রুপ থেকে Get Data সিলেক্ট করুন।

ধাপ ৫:
- পূর্বের কমান্ড থেকে From File বেছে নিন।
- তারপর From Excel Workbook সিলেক্ট করুন যাতে মার্জ করার জন্য সব ওয়ার্কশিট লোড হয়।

ধাপ ৬:
- শীটগুলো সমाहিত ওয়ার্কবুকটি ব্রাউজ করে খুঁজে বের করুন।
- ওয়ার্কবুকটি বেছে নিয়ে Import চাপুন।

ধাপ ৭:
- ওয়ার্কবুক ইম্পোর্ট করার পর Navigator ডায়লগ বক্স দেখবেন।
- মার্জ করার জন্য Select multiple items অপশন টিক দিন।
- ওয়ার্কবুক থেকে মার্জ করতে চাইয়ে সব টেবিল সিলেক্ট করুন।
- শেষে Load চাপুন।

ধাপ ৮:
- টেবিল লোড হওয়ার পর Queries & Connections উইন্ডো পেন দেখবেন।

ধাপ ৯:
- আবার রিবনের Data ট্যাব থেকে Get Data কমান্ডে যান।
- এবার ড্রপ-ডাউন থেকে Combine Queries বেছে নিন।
- দ্বিতীয় ড্রপ-ডাউন থেকে Merge সিলেক্ট করুন।

ধাপ ১০:
- Merge উইন্ডো দেখবেন শীট সিলেক্ট করার জন্য।
- সেখান থেকে প্রথমে মার্জ করতে চাইয়ে টেবিলগুলো সিলেক্ট করুন।
- তারপর উভয় টেবিলের জন্য একই কলামটি সিলেক্ট করুন।
- শেষে OK চাপুন।

ধাপ ১১:
- লোড করা ডেটা সেটগুলো একসাথে মার্জ হয়ে যাবে।
- দ্বিতীয় টেবিলটি সম্পূর্ণ এক্সপ্যান্ডেড অবস্থায় নয়।
- টেবিল এক্সপ্যান্ড করতে হেডিং-এর উপরের ডান কোণে থাকা আইকনে ক্লিক করুন।

ধাপ ১২:
- নতুন একটি ডায়লগ বক্স আসবে।
- নতুন ওয়ার্কশিটে একই কলাম হিসেবে রাখতে চাইয়ে কলামের হেডারটি আনচেক করুন।
- Use original column name as prefix থেকে টিক হাটিয়ে দিন।
- শেষে OK চাপুন।

ধাপ ১৩:
- এখন Power Query-এ নতুন মার্জ করা শীটটি দেখবেন।
- ওয়ার্কশিটে ট্রান্সফার করার জন্য Close & Load বেছে নিন।

ধাপ ১৪:
- শেষে, একই কলামের ভিত্তিতে মার্জ করা ওয়ার্কশিটের ডেটা একটি শীটে দেখবেন।

ধাপ ১৫:
- অতিরিক্তভাবে, আপনি যদি ওয়ার্কশিটগুলো অ্যাপেন্ড করতে চান (অর্থাৎ সারি ভিত্তিতে মার্জ), তবে দুটি ডেটা সেট টেবিলে রূপান্তর করার পর একটি নতুন ওয়ার্কশিট খুলুন।
- তারপর আবার Insert ট্যাব থেকে Get Data কমান্ডে যান এবং Combine Queries সিলেক্ট করুন।

ধাপ ১৬:
- Append উইন্ডো দেখবেন।
- প্রথমে অ্যাপেন্ড করতে চাইয়ে টেবিল নম্বর সিলেক্ট করুন।
- তারপর সিরিয়াল অনুযায়ী সব টেবিল সিলেক্ট করুন।
- শেষে OK চাপুন।

ধাপ ১৭:
- Power Query দুটি টেবিলকে একটি সינגেল টেবিলে অ্যাপেন্ড করবে।
- এখানে Close and Load সিলেক্ট করে এই মার্জড টেবিলটি মেইন ওয়ার্কশিটে ট্রান্সফার করুন।

ধাপ ১৮:
- ফলাফল নিচের ছবির মতো দেখাবে।

আরও পড়ুন: এক্সেল শীটগুলোকে এক ওয়ার্কবুকে মার্জ করা (৪টি উপযুক্ত উপায়)
৩. ভিবিএ কোড প্রয়োগ করে কপি-পেস্ট ছাড়া এক্সেল ওয়ার্কশিট মার্জ করা
এই শেষ প্রক্রিয়ায় আমি ভিবিএ কোড ব্যবহার করে একাধিক ওয়ার্কশিট মার্জ করব। এখানে এক্সেলের কোনো ফিচার বা টুল লাগবে না। কোডে প্রয়োজনীয় সিকোয়েন্স ও কমান্ড লিখে রান করালে সেটা স্বয়ংক্রিয়ভাবে মার্জ করবে। ভালো বুঝতে নিচের ধাপগুলো ফলো করুন।
ধাপ ১:
- প্রথমে একটি নতুন ওয়ার্কশিট খুলুন এবং রিবনের Developer ট্যাবে যান।
- Code গ্রুপ থেকে Visual Basic সিলেক্ট করুন।

ধাপ ২:
- VBA উইন্ডো খুলবে।
- Insert ট্যাব থেকে Module সিলেক্ট করুন।

ধাপ ৩:
- নিচের কোডটি কপি করে মডিউলে পেস্ট করুন।
- কপি করার পর কোডটি সেভ করুন।
'সাব প্রসিজার নাম দেয়া Sub Merge_Excel_Worksheets() 'ভেরিয়েবল ডিক্লেয়ার Dim x As Integer 'এরর হ্যান্ডলিং সক্রিয় On Error Resume Next 'ফলাফল দেখাতে নতুন ওয়ার্কশিট সিলেক্ট Sheets(1).Select Worksheets.Add 'নতুন ওয়ার্কশিটের নাম Sheets(1).Name = "Merged" 'মার্জ করার জন্য প্রথম শীট সিলেক্ট Sheets(2).Activate 'সেল রেঞ্জ ঠিক করা Range("B4:E8").EntireRow.Select 'নতুন সেল রেঞ্জের ডেস্টিনেশন Selection.Copy Destination:=Sheets(1).Range("B4:E8") 'ফর লুপ শুরু For x = 2 To Sheets.Count 'মার্জ করার জন্য x নম্বর শীট এক্টিভ Sheets(x).Activate 'মার্জ করার রেঞ্জ সিলেক্ট Range("B4:E8").Select 'কারেন্ট রিজন সিলেক্ট Selection.CurrentRegion.Select 'হেডার বাদ দিয়ে টেবিল সিলেক্ট Selection.Offset(1, 0).Resize(Selection.Rows.Count - 1).Select 'সকল ডেটা নতুন শীটে মার্জ Selection.Copy Destination:=Sheets(1).Range("B65536").End(xlUp)(5) Next End Sub 
VBA ব্যাখ্যা
- প্রথমে ফাংশন বা সাব প্রসিজারের নাম দিন।
Sub Merge_Excel_Worksheets() - দ্বিতীয়ে, ভেরিয়েবল ডিক্লেয়ার করুন।
Dim x As Integer - তৃতীয়ে, এরর হ্যান্ডলিং সক্রিয় করুন।
On Error Resume Next - চতুর্থে, ফলাফল দেখাতে একটি ওয়ার্কশিট সিলেক্ট করুন।
Sheets(1).Select Worksheets.Add - পঞ্চমে, নতুন তৈরি ওয়ার্কশিটের নাম দিন।
Sheets(1).Name = "Merged" - তারপর, প্রথম ডেটা সেটের ওয়ার্কশিট সিলেক্ট করুন মার্জ করার জন্য।
Sheets(2).Activate - এরপর, প্রথম ডেটা সেটের সেল রেঞ্জ দেওয়া।
Range("B4:E8").EntireRow.Select - অতিরিক্তভাবে, মার্জ করার পর ডেস্টিনেশন সেল রেঞ্জ সিলেক্ট করা।
Selection.Copy Destination:=Sheets(1).Range("B4:E8") - তারপর, ফর লুপ শুরু করুন।
For x = 2 To Sheets.Count - পরে, ওয়ার্কবুকের সব ওয়ার্কশিট এক্টিভেট করে তাদের ডেটা রেঞ্জ সিলেক্ট করা।
Sheets(x).Activate Range("B4:E8").Select - এরপর, ওয়ার্কশিটগুলোর ডেটা রেঞ্জ সিলেক্ট করে সবকে Merged শীটে মার্জ করা।
Selection.Offset(1, 0).Resize(Selection.Rows.Count - 1).Select Selection.Copy Destination:=Sheets(1).Range("B65536").End(xlUp)(5) ধাপ ৪:
- F5 বা Run বাটন চাপিয়ে কোড রান করান।
- রান করার আগে মডিউলে কার্সর রাখুন।

ধাপ ৫:
- কোড রান করার পর রা ফরম্যাটে সব মার্জড ডেটা সহ একটি নতুন ওয়ার্কশিট দেখবেন।

ধাপ ৬:
- শেষে, হেডার যোগ করে আপনার পছন্দ অনুযায়ী শীটটি ফরম্যাট করুন।

ফোল্ডার থেকে একাধিক এক্সেল ফাইল মার্জ করতে পাওয়ার কোয়ারি ব্যবহার
উপরোক্ত আলোচনায় আপনি এক্সেল ওয়ার্কশিটগুলো কপি-পেস্ট ছাড়া একে অপরকে মার্জ করার প্রক্রিয়া দেখেছেন। এখন আমি দেখাব কিভাবে একটি ফোল্ডার থেকে একাধিক এক্সেল ফাইল মার্জ করতে হয়। এর জন্যও আমি এক্সেলের পাওয়ার কোয়ারি সাহায্য নেব। ভালো বুঝতে নিচের ধাপগুলো দেখুন।
ধাপ ১:
- প্রথমে, January-র বিক্রয় ডেটা সমাহিত ওয়ার্কবুকটি নিন।
- B4:C18 ডেটা রেঞ্জ সিলেক্ট করে রিবনের Insert ট্যাবে ক্লিক করুন।
- Tables গ্রুপ থেকে Table বেছে নিন।

ধাপ ২:
- Create Table ডায়লগ বক্সে সব криটেরিয়া চেক করে OK চাপুন।

ধাপ ৩:
- এই কমান্ড ডেটা সেটকে টেবুলার ফরম্যাটে রূপান্তর করবে।
- এখন এই ওয়ার্কবুকটি একটি নির্দিষ্ট ফোল্ডারে সেভ করুন।

ধাপ ৪:
- নিচের ছবির মতো মার্জ করতে চাইয়ে সব ওয়ার্কবুক একই ফোল্ডারে রাখুন এবং পূর্বের ধাপগুলো ফলো করে সব들의 ডেটা রেঞ্জ টেবুলার ফরম্যাটে রূপান্তর করুন।

ধাপ ৫:
- একটি নতুন ওয়ার্কশিট খুলুন, Data ট্যাব থেকে Get Data সিলেক্ট করুন।
- ড্রপ-ডাউন থেকে From File বেছে নিন, তারপর From Folder সিলেক্ট করুন।

ধাপ ৬:
- সব ওয়ার্কবুক সহ একটি নতুন উইন্ডো আসবে।
- সেখান থেকে Combine and Transform Data বেছে নিন।

ধাপ ৭:
- Combine Files উইন্ডো আসবে।
- স্যাম্পল ফাইলগুলো ও তার সাথে ডেটা সেট দেখুন।
- Parameter সেট করার সময় শীটের নামের বদলে Table সিলেক্ট করুন।
- শেষে OK চাপুন।

ধাপ ৮:
- সব ওয়ার্কবুক একসাথে মার্জ হয়ে যাবে।
- নতুন ওয়ার্কশিটে ট্রান্সফার করার জন্য Close & Load বেছে নিন।

ধাপ ৯:
- শেষে, মার্জ করা ওয়ার্কবুকসহ নতুন ওয়ার্কশিট নিচের ছবির মতো দেখাবে।

CMD ব্যবহার করে এক্সেল ফাইলগুলোকে একে অপরকে মার্জ করা
এই আর্টিকেলের শেষ আলোচনায় আমি CMD ব্যবহার করে একাধিক এক্সেল ফাইলকে একে অপরকে মার্জ করার প্রক্রিয়া দেখাব। এর জন্য ওয়ার্কবুককে .xlsx ফরম্যাট থেকে .csv ফরম্যাটে রূপান্তর করতে হবে। নিচের ধাপগুলো অনুসরণ করুন।
ধাপ ১:
- পূর্বের আলোচনার মতো একই তিনটি ওয়ার্কবুক নিন।
- যেকোনো ওয়ার্কবুক থেকে রিবনের File ট্যাবে যান।

ধাপ ২:
- Home উইন্ডো থেকে Save As এবং তারপর Browse বেছে নিন।

ধাপ ৩:
- আপনার পিসির C: ড্রাইভে একটি ফোল্ডার তৈরি করুন সেভিং ডেস্টিনেশন হিসেবে।
- সেভিং টাইপে CSV ফরম্যাট সিলেক্ট করুন।
- শেষে Save চাপিয়ে ফাইলটি সেভ করুন।

ধাপ ৪:
- নিচের ছবিতে নির্দিষ্ট ফোল্ডারে সব ওয়ার্কবুক দেখবেন।

ধাপ ৫:
- Sales File CSV ফোল্ডারের পাথ কপি করুন যেখানে CSV ফাইলগুলো রাখা হয়েছে।
- Copy path অপশন পেতে রিবনের উপরের ডান কোণে ড্রপডাউন সিম্বলে ক্লিক করে রিবন এক্সপ্যান্ড করুন।
- Sales File CSV ফোল্ডারটি সিলেক্ট করে Copy path অপশনে ক্লিক করুন।

ধাপ ৬:
- Windows key + R একসাথে চাপিয়ে Run উইজার্ড খুলুন।
- Open টাইপ বক্সে cmd লিখে OK চাপুন।

ধাপ ৭:
- কমান্ড প্রম্পট খুলবে।
- cd টাইপ করে একটা স্পেস দিন এবং ধাপ ৫-এ কপি করা ফোল্ডার পাথ পেস্ট করুন।
- Enter চাপুন।

ধাপ ৮:
- Enter চাপলে পূর্বের লাইন থেকে ডিরেক্টরি দেখাবে।
- তারপর লিখুন: copy *.csv Merged.csv।
- copy শব্দের পর স্পেস দিতে হবে।
- নতুন ফাইল নাম হিসেবে Merged বেছে নিলাম।

ধাপ ৯:
- Enter চাপলে এই কমান্ড স্বয়ংক্রিয়ভাবে সব ওয়ার্কবুক মার্জ করবে।

ধাপ ১০:
- CSV ফাইলগুলো সেভ করা ফোল্ডারে ফিরে যান, নতুন মার্জড ফাইলটি দেখবেন।

ধাপ ১১:
- ফাইলটি খুললে রা ফরম্যাটে সব ডেটা পাবেন।

ধাপ ১২:
- একাধিক ওয়ার্কশিটের ডেটা থাকায় নিচে স্ক্রল করুন বাকি ডেটা देखने।

ধাপ ১৩:
- আবার এই ফাইলটি .xlsx ফরম্যাটে সেভ করুন।

ধাপ ১৪:
- শেষে এক্সেল ফাইল খুলে নিচের ছবির মতো শীটটি ফরম্যাট করুন।

ধাপ ১৫:
- বড় ডেটা সেটের জন্য পুরো শীট দেখতে নিচে স্ক্রল করুন।

উপসংহার
এই আর্টিকেলটি এখানেই সমাপ্ত। আশা করি এটি আপনার কাজে আসবে। উপরের বর্ণনা পড়লে আপনি কপি-পেস্ট ছাড়া এক্সেল ওয়ার্কশিট মার্জ করতে পারবেন। নিচে কমেন্ট সেকশনে আরও কোনো প্রশ্ন বা সুপারিশ থাকলে জানাতে পারেন।
ExcelDemy টিম আপনার পছন্দের প্রতি সবসময় সচেতন। সুতরাং কমেন্ট করার পর কিছুক্ষণ ধৈর্য ধরুন, আমরা আপনার সমস্যা সমাধানের সর্বোত্তম চেষ্টা করব।
সম্পর্কিত আর্টিকেলসমূহ
- এক্সেলে সব শীটকে একে মার্জ করা (৬ কুইক উপায়)