শীট মধ্যে একটি টেবিল বিভক্ত করা

মাইক্রোসফ্ট এক্সেলের বিভিন্ন টেবিল থেকে (বিভিন্ন শীট বা বিভিন্ন ফাইল থেকে) ডেটা সংগ্রহের জন্য অনেক সরঞ্জাম রয়েছে: সরাসরি লিঙ্ক, ফাংশন পরোক্ষ (স্বতন্ত্র), পাওয়ার কোয়েরি এবং পাওয়ার পিভট অ্যাড-অন, ইত্যাদি ব্যারিকেডের এই দিক থেকে, সবকিছুই ভাল দেখায়।

কিন্তু আপনি যদি একটি বিপরীত সমস্যায় পড়েন - একটি টেবিল থেকে বিভিন্ন শীটে ডেটা ছড়িয়ে দেওয়া - তাহলে সবকিছুই আরও দুঃখজনক হবে। এই মুহুর্তে, দুর্ভাগ্যবশত, Excel এর অস্ত্রাগারে এই ধরনের ডেটা বিভাজনের জন্য কোন সভ্য বিল্ট-ইন টুল নেই। তাই আপনাকে ভিজ্যুয়াল বেসিক-এ একটি ম্যাক্রো ব্যবহার করতে হবে, অথবা ম্যাক্রো রেকর্ডার + পাওয়ার কোয়েরি সংমিশ্রণটি একটু "ফাইল পরিমার্জন" এর পরে ব্যবহার করতে হবে।

আসুন এটি কীভাবে বাস্তবায়ন করা যেতে পারে তা আরও ঘনিষ্ঠভাবে দেখে নেওয়া যাক।

সমস্যা প্রণয়ন

বিক্রয়ের জন্য 5000 টিরও বেশি সারির আকার সহ আমাদের কাছে প্রাথমিক তথ্য হিসাবে এমন একটি টেবিল রয়েছে:

শীট মধ্যে একটি টেবিল বিভক্ত করা

টাস্ক: এই বইয়ের আলাদা শীটে শহর অনুসারে এই টেবিল থেকে ডেটা বিতরণ করা। সেগুলো. আউটপুটে, আপনাকে প্রতিটি শীটে কেবলমাত্র সেই সারিগুলি টেবিল থেকে পেতে হবে যেখানে বিক্রয়টি সংশ্লিষ্ট শহরে ছিল:

শীট মধ্যে একটি টেবিল বিভক্ত করা

প্রস্তুত করা

ম্যাক্রো কোডটিকে জটিল না করার জন্য এবং এটি যতটা সম্ভব সহজে বোঝার জন্য, আসুন কয়েকটি প্রস্তুতিমূলক পদক্ষেপ করি।

প্রথম, দী একটি পৃথক লুকআপ টেবিল তৈরি করুন, যেখানে একটি একক কলাম সেই সমস্ত শহরগুলির তালিকা করবে যার জন্য আপনি আলাদা শীট তৈরি করতে চান৷ অবশ্যই, এই ডিরেক্টরিতে সোর্স ডেটাতে উপস্থিত সমস্ত শহর থাকতে পারে না, তবে শুধুমাত্র সেইগুলির জন্য যা আমাদের রিপোর্টের প্রয়োজন। এই ধরনের একটি টেবিল তৈরি করার সবচেয়ে সহজ উপায় হল কমান্ড ব্যবহার করা ডেটা - ডুপ্লিকেটগুলি সরান (ডেটা — সদৃশ সরান) কলাম কপি জন্য শহর বা ফাংশন ইউএনআইকে (অনন্য) - যদি আপনার কাছে Excel 365 এর সর্বশেষ সংস্করণ থাকে।

যেহেতু এক্সেলের নতুন শীটগুলি বর্তমান (পূর্ববর্তী) একটির আগে (এর বাম দিকে) ডিফল্টরূপে তৈরি করা হয়, তাই এই ডিরেক্টরির শহরগুলিকে নিচের ক্রমানুসারে (Z থেকে A পর্যন্ত) বাছাই করাও বোধগম্য হয় - তারপর তৈরির পরে, শহর শীট বর্ণানুক্রমিকভাবে সাজানো হবে।

দ্বিতীয়ত, пউভয় টেবিলকে গতিশীলে রূপান্তর করুন ("স্মার্ট") তাদের সাথে কাজ করা সহজ করতে। আমরা কমান্ড ব্যবহার করি হোম - একটি টেবিল হিসাবে বিন্যাস (হোম - টেবিল হিসাবে ফর্ম্যাট) বা কীবোর্ড শর্টকাট জন্য ctrl+T. প্রদর্শিত ট্যাবে রচয়িতা (নকশা) আসুন তাদের কল করি tablProdaji и টেবিলসিটিযথাক্রমে:

শীট মধ্যে একটি টেবিল বিভক্ত করা

পদ্ধতি 1. শীট দ্বারা বিভাজনের জন্য ম্যাক্রো

উন্নত ট্যাবে ডেভেলপার (বিকাশকারী) বোতামে ক্লিক করুন ভিসুয়াল বেসিক অথবা কীবোর্ড শর্টকাট ব্যবহার করুন অল্টার+F11. খোলে ম্যাক্রো এডিটর উইন্ডোতে, মেনুর মাধ্যমে একটি নতুন খালি মডিউল ঢোকান সন্নিবেশ - মডিউল এবং সেখানে নিম্নলিখিত কোড অনুলিপি করুন:

সাব স্প্লিটার() রেঞ্জের প্রতিটি কক্ষের জন্য("таблГорода") পরিসর ("таблПродажи")।অটোফিল্টার ফিল্ড:=3, মানদণ্ড1:=cell.Value Range("таблПродажи[#সমস্ত]")।স্পেশাল সেলস(xlispyColly)। পত্রক।Add ActiveSheet.Paste ActiveSheet.Name = cell.Value ActiveSheet.UsedRange.Columns.AutoFit পরবর্তী সেল ওয়ার্কশীট("Данные").ShowAllData শেষ সাব	  

এখানে একটি লুপ সঙ্গে প্রতিটি জন্য ... পরবর্তী ডিরেক্টরির কোষের মধ্য দিয়ে উত্তরণ বাস্তবায়ন করে টেবিলসিটি, যেখানে প্রতিটি শহরের জন্য এটি ফিল্টার করা হয় (পদ্ধতি স্বয়ংক্রিয় ফিল্টার) মূল বিক্রয় সারণীতে এবং তারপর নতুন তৈরি শীটে ফলাফল অনুলিপি করা। পথের ধারে, তৈরি করা শীটটি শহরের একই নামে নামকরণ করা হয়েছে এবং সৌন্দর্যের জন্য কলামগুলির প্রস্থ স্বয়ংক্রিয়ভাবে ফিটিং চালু করা হয়েছে।

আপনি ট্যাবে এক্সেলে তৈরি ম্যাক্রো চালাতে পারেন ডেভেলপার বোতাম ম্যাক্রো (ডেভেলপার - ম্যাক্রো) বা কীবোর্ড শর্টকাট অল্টার+F8.

পদ্ধতি 2. পাওয়ার কোয়েরিতে একাধিক প্রশ্ন তৈরি করুন

পূর্ববর্তী পদ্ধতি, এর সমস্ত কম্প্যাক্টতা এবং সরলতার জন্য, একটি উল্লেখযোগ্য ত্রুটি রয়েছে - ম্যাক্রো দ্বারা তৈরি শীটগুলি যখন আসল বিক্রয় টেবিলে পরিবর্তন করা হয় তখন আপডেট করা হয় না। যদি ফ্লাইতে আপডেট করা প্রয়োজন হয়, তাহলে আপনাকে VBA + পাওয়ার কোয়েরি বান্ডেল ব্যবহার করতে হবে, অথবা বরং, স্ট্যাটিক ডেটা সহ শীট নয়, আপডেট করা পাওয়ার কোয়েরি ক্যোয়ারী ব্যবহার করে ম্যাক্রো তৈরি করতে হবে।

এই ক্ষেত্রে ম্যাক্রো আংশিকভাবে আগেরটির মতোই (এটির একটি চক্রও রয়েছে প্রতিটি জন্য ... পরবর্তী ডিরেক্টরিতে শহরগুলির উপর পুনরাবৃত্তি করতে), কিন্তু লুপের ভিতরে আর ফিল্টারিং এবং অনুলিপি করা হবে না, তবে একটি পাওয়ার কোয়েরি ক্যোয়ারী তৈরি করা হবে এবং একটি নতুন শীটে এর ফলাফল আপলোড করা হবে:

সাব স্প্লিটার2() রেঞ্জের প্রতিটি কক্ষের জন্য("সিটি টেবিল") ActiveWorkbook.Queries.Add Name:=cell.Value, Formula:= _ "let" & Chr(13) & "" & Chr(10) & " Source = Excel.CurrentWorkbook(){[Name=""TableSales""][Content]," & Chr(13) & "" & Chr(10) & "#""পরিবর্তিত প্রকার"" = Table.TransformColumnTypes(সূত্র , {{""ক্যাটাগরি"", টাইপ টেক্সট}, {""নাম"", টাইপ টেক্সট}, {""সিটি"", টাইপ টেক্সট}, {""ম্যানেজার"", টাইপ টেক্সট}, {""ডিল তারিখ "", টাইপ datetime}, {""Cost"", type number}})," & Chr(13) & "" & Chr(10) & "#""ফিল্টার প্রয়োগ করা সারি"" = টেবিল দেখুন " & _ "lectRows(#""পরিবর্তিত প্রকার"", প্রতিটি ([City] = """ & cell. Value & """))" & Chr(13) & "" & Chr(10) & "in " & Chr(13) & "" & Chr(10) & " #""ফিল্টার প্রয়োগ করা সারি""" ActiveWorkbook.Worksheets.Add with ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _ "OLEDB; প্রদানকারী =Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=" & cell.Value & ";Extended Properties=""""" _ , গন্তব্য:=Range("$A$1"))। QueryTable .CommandType = xlCmd Sql .CommandText = Array("SELECT *FROM [" & cell.Value & "]") .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlPassertSword. SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .PreserveColumnInfo = True .ListObject.DisplayName = cell.Value .Refresh BackgroundQuery:=False End with ActiveSheet.Name = পরবর্তী সেল।  

এটি চালু হওয়ার পরে, আমরা শহর অনুসারে একই শীটগুলি দেখতে পাব, তবে ইতিমধ্যে তৈরি করা পাওয়ার কোয়েরি প্রশ্নগুলি সেগুলি তৈরি করবে:

শীট মধ্যে একটি টেবিল বিভক্ত করা

উত্স ডেটাতে কোনও পরিবর্তনের সাথে, সঠিক মাউস বোতাম - কমান্ডের সাথে সংশ্লিষ্ট টেবিলটি আপডেট করার জন্য এটি যথেষ্ট হবে আপডেট এবং সংরক্ষণ করুন (রিফ্রেশ) বা বোতাম ব্যবহার করে একযোগে সব শহর আপডেট করুন সব আপডেট করুন ট্যাব উপাত্ত (ডেটা — রিফ্রেশ সব).

  • ম্যাক্রো কি, কিভাবে তৈরি এবং ব্যবহার করতে হয়
  • ওয়ার্কবুক শীট আলাদা ফাইল হিসাবে সংরক্ষণ করা হচ্ছে
  • বইয়ের সমস্ত শীট থেকে একটি টেবিলে ডেটা সংগ্রহ করা

নির্দেশিকা সমন্ধে মতামত দিন