ٽيبل کي ورقن ۾ ورهائڻ

Microsoft Excel وٽ ڪيترائي اوزار آھن ڪيترن ئي جدولن مان ڊيٽا گڏ ڪرڻ لاءِ (مختلف شيٽس مان يا مختلف فائلن مان): سڌو لنڪ، فنڪشن اڻ سڌي طرح (سڌو), Power Query ۽ Power Pivot Add-ons وغيره. هن پاسي کان بيريڪيڊ، هر شيءِ سٺي لڳندي آهي.

پر جيڪڏهن توهان هڪ الٽو مسئلو ۾ هلندا آهيو - هڪ ٽيبل کان مختلف شيٽ تائين ڊيٽا پکيڙڻ - پوءِ سڀ ڪجهه وڌيڪ اداس ٿي ويندو. هن وقت، بدقسمتي سان، ايڪسل جي هٿيارن ۾ اهڙي ڊيٽا جي علحدگيء لاء ڪو به ٺهيل ٺهيل اوزار نه آهن. تنهن ڪري توهان کي Visual Basic ۾ هڪ ميڪرو استعمال ڪرڻو پوندو، يا macro recorder + Power Query ميلاپ کي ٿوري ”فائل ريفائنمينٽ“ کان پوءِ استعمال ڪرڻو پوندو.

اچو ته هڪ ويجهي نظر رکون ته اهو ڪيئن لاڳو ڪري سگهجي ٿو.

مسئلي جي جوڙجڪ

اسان وٽ ابتدائي ڊيٽا آھي اھڙي جدول جنھن جي سائيز 5000 قطارن کان وڌيڪ آھي سيلز لاءِ:

ٽيبل کي ورقن ۾ ورهائڻ

ڪم: ھن جدول مان ڊيٽا کي شھر جي لحاظ کان ھن ڪتاب جي الڳ ورقن تي ورهائڻ لاءِ. اهي. آئوٽ تي، توهان کي هر شيٽ تي حاصل ڪرڻ جي ضرورت آهي صرف اهي قطارون ٽيبل تان جتي وڪرو لاڳاپيل شهر ۾ هو:

ٽيبل کي ورقن ۾ ورهائڻ

تيار ڪريو

ميڪرو ڪوڊ کي پيچيده نه ڪرڻ ۽ ان کي ممڪن طور سمجهڻ آسان بڻائي، اچو ته ڪجهه تياري وارا قدم انجام ڏيو.

پهريون، اهو هڪ الڳ ٽيبل ٺاهيو، جتي هڪ ڪالم سڀني شهرن کي لسٽ ڪندو جن لاءِ توهان الڳ شيٽ ٺاهڻ چاهيو ٿا. يقينن، هي ڊاريڪٽري شايد سڀني شهرن تي مشتمل نه هجي جيڪا ماخذ ڊيٽا ۾ موجود آهي، پر صرف اهي آهن جن لاء اسان کي رپورٽن جي ضرورت آهي. اهڙي ٽيبل ٺاهڻ جو آسان طريقو حڪم استعمال ڪرڻ آهي ڊيٽا - نقل هٽايو (ڊيٽا - نقل هٽايو) ڪالم ڪاپي لاءِ جذبات يا فنڪشن UNIK (يونيڪيو) - جيڪڏهن توهان وٽ آهي ايڪسل 365 جو جديد نسخو.

جيئن ته Excel ۾ نيون شيٽون موجوده (اڳوڻي) کان اڳ (جي کاٻي پاسي) ڊفالٽ طور ٺاهي وينديون آهن، ان ڪري هن ڊاريڪٽري ۾ شهرن کي ترتيب ڏيڻ به سمجهه ۾ اچي ٿو (Z کان A تائين) - پوءِ ٺهڻ کان پوءِ، شهر ورق الفابيٽ جي ترتيب سان ترتيب ڏني ويندي.

ٻيون ، пٻنهي جدولن کي متحرڪ ۾ تبديل ڪريو ("سمارٽ") انهن سان گڏ ڪم ڪرڻ آسان بڻائي ٿي. اسان حڪم استعمال ڪندا آهيون گھر - ھڪڙي ٽيبل جي شڪل ۾ (گهر - ٽيبل جي شڪل ۾) يا ڪي بورڊ شارٽ ڪٽ Ctrl+T. ٽيب تي جيڪو ظاهر ٿئي ٿو تعمير ڪندڙ (خاڪو) اچو ته انهن کي سڏيون ٽيبل پروڊيجي и ٽيبل سٽيترتيب وار:

ٽيبل کي ورقن ۾ ورهائڻ

طريقه 1. شيٽ طرفان تقسيم لاء ميڪرو

ترقي يافته ٽيب تي ڊولپر (ڊولپر) بٽڻ تي ڪلڪ ڪريو ڏسڻ جي بنيادي يا ڪي بورڊ شارٽ ڪٽ استعمال ڪريو ھن+F11. ميڪرو ايڊيٽر ونڊو ۾ جيڪو کلي ٿو، مينيو ذريعي نئون خالي ماڊل داخل ڪريو داخل ڪريو - ماڊل ۽ اتي هيٺ ڏنل ڪوڊ ڪاپي ڪريو:

ذيلي تقسيم ڪندڙ() هر سيل لاءِ رينج ۾ ("таблГорода") رينج ("таблПродажи").آٽو فلٽر فيلڊ:=3، Criteria1:=cell.Value Range("таблПродажи[#All]").SpecialCells(xlispyCellTy). Sheets.Add ActiveSheet.Paste ActiveSheet.Name = cell.Value ActiveSheet.UsedRange.Columns.AutoFit ايندڙ سيل ورڪ شيٽس("Данные").ShowAllData End Sub	  

هتي هڪ لوپ سان هر هڪ لاءِ… اڳيون ڊاريڪٽري جي سيلز ذريعي گذرڻ تي عمل ڪيو ٽيبل سٽي، جتي هر شهر لاءِ فلٽر ٿيل آهي (طريقو آٽو فلٽر) اصل سيلز ٽيبل ۾ ۽ پوء نتيجن کي نقل ڪندي نئين ٺاهيل شيٽ تي. رستي ۾، ٺاهيل شيٽ کي شهر جي ساڳئي نالي سان تبديل ڪيو ويو آهي ۽ ان تي خوبصورتي لاء ڪالمن جي چوٽي کي خودڪار طور تي نصب ڪيو ويو آهي.

توهان ٽئب تي Excel ۾ ٺاهيل ميڪرو هلائي سگهو ٿا ڊولپر بٽڻ ميڪورس (ڊولپر - ميڪروس) يا ڪي بورڊ شارٽ ڪٽ ھن+F8.

طريقو 2. پاور سوال ۾ ڪيترائي سوال ٺاھيو

اڳوڻو طريقو، ان جي تمام ٺهڪندڙ ۽ سادگي لاء، هڪ اهم خرابي آهي - ميڪرو طرفان ٺاهيل شيٽ اپڊيٽ نه ٿينديون آهن جڏهن تبديليون اصل سيلز ٽيبل ۾ ڪيون وينديون آهن. جيڪڏهن اڏام تي اپڊيٽ ڪرڻ ضروري آهي، ته پوءِ توهان کي استعمال ڪرڻو پوندو VBA + Power Query بنڊل، يا بلڪه، ميڪرو استعمال ڪندي ٺاهيو نه صرف شيٽ سان جامد ڊيٽا، پر تازه ڪاري Power Query سوالن سان.

هن معاملي ۾ ميڪرو جزوي طور تي اڳئين هڪ سان ملندڙ جلندڙ آهي (ان ۾ پڻ هڪ چڪر آهي هر هڪ لاءِ… اڳيون ڊاريڪٽري ۾ شهرن تي ٻيهر ڪرڻ لاءِ)، پر لوپ اندر هاڻي فلٽرنگ ۽ ڪاپي نه ٿيندي، پر پاور ڪوئيري سوال ٺاهيندي ۽ ان جا نتيجا نئين شيٽ تي اپ لوڊ ڪندي:

Sub Splitter2() هر سيل لاءِ رينج ۾ ("سٽي ٽيبل") ActiveWorkbook.Queries.Add name:=cell.Value, Formula:= _ "let" & Chr(13) & "" & Chr(10) & "ذريعو = Excel.CurrentWorkbook(){[Name=""TableSales""][Content]," & Chr(13) & "" & Chr(10) & "#""تبديل ٿيل قسم"" = Table.TransformColumnTypes(ذريعو , {{""ڪئٽيگوري"، ٽائيپ ٽيڪسٽ}، {""نالو"، ٽائيپ ٽيڪسٽ}، {""شهر"، ٽائيپ ٽيڪسٽ}، {""منيجر"، ٽائيپ ٽيڪسٽ}، {""ڊيل تاريخ ""، ٽائيپ ڪريو datetime}، {""لاگت"، ٽائيپ نمبر}})،" & Chr(13) & "" & Chr(10) & "#""فلٽر لاڳو ٿيل قطارون"" = ٽيبل ڏسو "& _ "lectRows(#""تبديل ٿيل قسم""، هر هڪ ([City] = """ & cell. Value & """))" & Chr(13) & "" & Chr(10) & "in " & Chr(13) & "" & Chr(10) & " #""فلٽر لاڳو ٿيل قطارون مهيا ڪندڙ =Microsoft.Mashup.OleDb.0;Data Source=$Workbook$;Location=" & cell.Value & ";Extended Properties=""""" _ , Destination:=Range("$A$1")). QueryTable .CommandType = xlCmd Sql .CommandText = Array("SELECT *FROM [" & cell.Value & "]") .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = سچو .RefreshOnFileOpen = غلط .BackgroundQuery = سچو .RefreshStyle = xlPassertSword. SaveData = سچو .AdjustColumnWidth = سچو .RefreshPeriod = 1 .PreserveColumnInfo = سچو .ListObject.DisplayName = cell.Value .Refresh BackgroundQuery:=False End with ActiveSheet.Vald Name = Next cell.  

ان جي لانچ کان پوءِ، اسان ساڳي شيٽ کي شهر جي لحاظ کان ڏسنداسين، پر اڳ ۾ ئي ٺاهيل پاور سوالن جا سوال اهي ٺاهيندا:

ٽيبل کي ورقن ۾ ورهائڻ

ماخذ جي ڊيٽا ۾ ڪنهن به تبديلي سان، اهو ساڳيو ٽيبل کي ساڄي مائوس جي بٽڻ سان تازه ڪاري ڪرڻ لاء ڪافي هوندو - حڪم تازه ڪاري ۽ محفوظ ڪريو (ريفريش) يا بٽڻ کي استعمال ڪندي سڀني شهرن کي هڪ ڀيرو وڏي تعداد ۾ اپڊيٽ ڪريو سڀ تازو ڪريو ٽئب ڊيٽا (ڊيٽا - سڀ تازو ڪريو).

  • ميڪرو ڇا آهن، انهن کي ڪيئن ٺاهيو ۽ استعمال ڪجي
  • ڪم بڪ شيٽ کي الڳ فائلن طور محفوظ ڪرڻ
  • ڪتاب جي سڀني ورقن مان ڊيٽا گڏ ڪري ھڪڙي ٽيبل ۾

جواب ڇڏي وڃو