No video

Automatically Remove Top Junk Rows & Combine Data from Multiple Excel Files

  Рет қаралды 38,147

Goodly

Goodly

Жыл бұрын

Check out our newly launched M Language course ↗️ - goodly.co.in/l...
In this video, we will learn to remove junk rows from the top and combine data from multiple Excel files. We will explore three Excel files, each containing a few unwanted rows at the top. Our goal is to remove this inconsistent number of junk rows and merge the data from all the files automatically.
===== ONLINE COURSES =====
✔️ Mastering DAX in Power BI -
goodly.co.in/l...
✔️ Power Query Course-
goodly.co.in/l...
✔️ Master Excel Step by Step-
goodly.co.in/l...
✔️ Business Intelligence Dashboards-
goodly.co.in/l...
===== LINKS 🔗 =====
Blog 📰 - www.goodly.co....
Corporate Training 👨‍🏫 - www.goodly.co....
Need my help on a Project 💻- www.goodly.co....
Download File ⬇️ - goodly.co.in/a...
===== CONTACT 🌐 =====
Twitter - / chandeep2786
LinkedIn - / chandeepchhabra
Email - goodly.wordpress@gmail.com
===== WHO AM I? =====
A lot of people think that my name is Goodly, it's NOT ;)
My name is Chandeep. Goodly is my full-time venture where I share what I learn about Excel and Power BI.
Please browse around, you'd find a ton of interesting videos that I have created :) Cheers!

Пікірлер: 126
@nelson_k_d
@nelson_k_d 2 ай бұрын
I saved the entire syntax as follows: Add Custome Column =Table.PromoteHeaders(Table.Skip([Data], each not List.ContainsAny( Record.ToList(_), {"Header1", "Header2"} ))) Works wonders!! Thanks a ton bro!!
@cesarsaldana3429
@cesarsaldana3429 19 күн бұрын
Amazing!!!, Greetings from Mexico.
@OmisileKehindeOlugbenga
@OmisileKehindeOlugbenga Жыл бұрын
Pretty awesome! Thanks a lot for this. Record, Table and List object manipulation in one video for one task without using "Remove Other Columns"
@odallamico
@odallamico 2 ай бұрын
Dear, you are a genius. You make M language look so easy. I appreciate your videos, my respects to you.
@josepepe741
@josepepe741 Ай бұрын
It is a huge pleasure to look at your videos. Moving from excel advanced user to Power query person. Thanks a lot.
@Sarvabhauma
@Sarvabhauma Ай бұрын
Thanks @Chandeep, I got it based on your trick im able to do it for removal of top rows. I also wanted to do for bottom rows, there is lot of junk bottom rows from my sheet, i applied same trick but i have added index row with descending order then applied this trick for to remove junk rows from sheet and sort ascending order index back.. Anyways your tricks are fantastic.
@aahanavikram07
@aahanavikram07 Жыл бұрын
You hear the problem it seems😂 I was using filter method and removing null values and a lot of other filter method. Thanks for making the work easier and cleaner ❤
@retamapark
@retamapark 8 ай бұрын
Thanks, Chandeep! I knew you had posted this, and I had this problem today. I was fooling around with different other approaches that were a mess. This was perfect!
@ramonillarramendi3191
@ramonillarramendi3191 9 ай бұрын
Wow..Amazing. Been struggling with removing dynamically the junk and with custom headers for a while now. This works like a charm. Thanks a mill.
@goodnewskasparyaodzramedo9097
@goodnewskasparyaodzramedo9097 Жыл бұрын
This is wonderful @Goodly. I watch all your videos. From the logic to the solution of the problem and the actual solution. God continually bless you, you are a messiah!
@Phippsy23
@Phippsy23 Жыл бұрын
Amazing, I've done this with a fixed Skip value but this is on another level! Thanks
@MikeMcGlynn
@MikeMcGlynn Ай бұрын
Hello, trying to see if any one else ran into this issue: -Followed all steps and worked as they should until ~7:00 when we're supposed to transform the content from Binary to a Table. My files are all CSV so the formula I ended up using was =Table.TransformColumns(Source,{"Content",Csv.Document}) instead of =Table.TransformColumns(Source,{"Content",Excel.Workbook}) that is used in the video. It converted to Tables fine. -Then on the next step (7:40) where you're supposed to expand the tables and see all of the sheets, when I do this...the header options are just Column 1, Column 2, etc. instead of the actual headers...AND every row of all the files shows up instead of just the sheet name. -When I follow the steps afterwards, I get the error: "dataformat.error there were more columns in the result than expected" Any idea what's going on?
@tARasKoni
@tARasKoni Жыл бұрын
M-Masterpiece! Packing a lot of slick tricks in one video. Thank you Chandeep!
@justinwduff
@justinwduff Жыл бұрын
Thank you, SO MUCH! Had about 200 files to combine with various junk rows up top and now I can do it :D
@GoodlyChandeep
@GoodlyChandeep Жыл бұрын
Woah.. thats a lot of files. I am glad I could help
@SAIKISH2005
@SAIKISH2005 21 күн бұрын
Marvelous work ji
@Chillman666
@Chillman666 Жыл бұрын
You have no idea how much Power Query has helped me to automate my tasks. Also I have been struggling with this problem. A big THANK YOU ❤!
@GoodlyChandeep
@GoodlyChandeep Жыл бұрын
Happy to help! 😉
@vl21i
@vl21i Жыл бұрын
Super Awesome, Chandeep. Very powerful formulas that you are teaching in a simple and easy understandable way ! Power Query and DAX are having lot of hidden treasures
@user-sn8vk9lt4o
@user-sn8vk9lt4o 6 ай бұрын
I am actually learning power query its Excellent. I like the way to teach. Thank u so, Much for this video.
@rhaps2008
@rhaps2008 Жыл бұрын
Amazing, I have had to struggle through with this exact issue to manually remove those junk rows, your a life saver I will be using this in the future
@roywilson9580
@roywilson9580 Жыл бұрын
Thanks for the video. Much better than only skipping rows to one hardcoded value, makes sense to use if your column order is not the same across data tables.
@inaction2024
@inaction2024 9 ай бұрын
This is a lifesaving technique. Thank you for sharing with us.
@bohdanduda652
@bohdanduda652 Жыл бұрын
Another way, how we can do it, it is add additional column using List.PositionOf and due to that calculate in which position we have Date and Profit
@rajanpradeepankarath8846
@rajanpradeepankarath8846 Жыл бұрын
yeah that is pretty damn awesome, Chandeep. this is an everyday challenge
@decentmendreams
@decentmendreams 11 ай бұрын
Your methods become so refined over time . Awesome job
@joukenienhuis6888
@joukenienhuis6888 11 ай бұрын
Thanks again for such a great clear videobabout the next step in PowerQuery. I am new in PowerQuery, but i am experimenting on DAX and you are giving a great explanation
@user-cl5bd7dp8g
@user-cl5bd7dp8g 21 күн бұрын
This is awesome! I have one challenge, that one of the first rows contain the date of report and I want it to be within the data columns , how to do that :D!
@ursvenky6394
@ursvenky6394 Жыл бұрын
Awesome video. I was struggling earlier. I had work by using macro. This is very cool. Thanks Goodly
@santiagovillamoreno6821
@santiagovillamoreno6821 Жыл бұрын
Beautiful Power Query techniques!!
@Adam_K_W
@Adam_K_W 3 ай бұрын
This is great! What is the best way to do this when your source files are not formatted as Tables, but are simply Excel Worksheets?
@cherianiype
@cherianiype Жыл бұрын
ooff!! SHABASH! Terrific video Chandeep! Superb!! Sixer Maar diya!
@GoodlyChandeep
@GoodlyChandeep Жыл бұрын
Thanks 😉
@rahulmahajan5932
@rahulmahajan5932 Жыл бұрын
Awe Stucked... No Words to Express How Fantabulous It is
@GoodlyChandeep
@GoodlyChandeep Жыл бұрын
Thanks Rahul :)
@rohitwaradpande2492
@rohitwaradpande2492 Жыл бұрын
This was awesome video. Thanks for the same. I liked the trick that you used to removed the blanks dynamically.
@syrophenikan
@syrophenikan Жыл бұрын
Fantastic! This is definitely going into my daily routine.
@GoodlyChandeep
@GoodlyChandeep Жыл бұрын
Enjoy! 😉
@stephenandrews1291
@stephenandrews1291 8 ай бұрын
this is awesome; thank you! one question - i need to add a column into the combined file that shows the original source filename for each record... where in the flow and how best to do that please?
@davidjosevarelagarcia7011
@davidjosevarelagarcia7011 Жыл бұрын
Great , excellent. Simple like that. Thanks.
@Rice0987
@Rice0987 Жыл бұрын
Magosh... It's just simple brilliant!💎 Thanks a bunch for yor priceless help!🤗👦
@GoodlyChandeep
@GoodlyChandeep Жыл бұрын
Thanks :)
@ShubhamSharma-ls6hj
@ShubhamSharma-ls6hj Жыл бұрын
Very well explained thanku so much brother.
@setantadundalk
@setantadundalk Жыл бұрын
Very sleek. I had this very same issue but I used List.Generate to loop through each record which suppose would take slightly more processing time but nothing you would ever notice.
@iankr
@iankr Жыл бұрын
Brilliant! Many thanks, Mr Goodly.
@jimmckie3574
@jimmckie3574 5 күн бұрын
Brilliant
@chrism9037
@chrism9037 Жыл бұрын
Fantastic Chandeep, thank you!
@GoodlyChandeep
@GoodlyChandeep Жыл бұрын
Glad you liked it !
@pmsocho
@pmsocho 5 ай бұрын
Awesome. Great logic. Thanks for the video.
@zahir585
@zahir585 Жыл бұрын
Genius 🔥 thank you my friend sooo helpful ❤️❤️❤️
@emilmubarakshin49
@emilmubarakshin49 11 ай бұрын
Fantastic video and amazing explanation!
@GoodlyChandeep
@GoodlyChandeep 11 ай бұрын
Many thanks :)
@jianlinchen7978
@jianlinchen7978 4 ай бұрын
really very helpful. Thanks . It is a good idea
@denissipchenko2455
@denissipchenko2455 Жыл бұрын
Thanks for sharing! But looks like there should be List.ContainsAll instead of List.ContainsAny
@excel-in-g
@excel-in-g Жыл бұрын
Was thinking the same.
@user-tp3jq8qg8l
@user-tp3jq8qg8l 6 ай бұрын
admiring the brilliance
@manojsakthi6201
@manojsakthi6201 Жыл бұрын
its very awesome, i hade a similar issue had to work around it, but this looks pretty good
@j_baisley_
@j_baisley_ 6 ай бұрын
Damn awesome is right 👍
@abhijitmodak3461
@abhijitmodak3461 7 ай бұрын
Thanks!
@GoodlyChandeep
@GoodlyChandeep 7 ай бұрын
Thanks a lot Abhijit :)
@Ratnakumarwrites
@Ratnakumarwrites Жыл бұрын
Super Video Chandeep.
@itgyantricks7218
@itgyantricks7218 Жыл бұрын
excellent
@josealvesferreira1683
@josealvesferreira1683 11 ай бұрын
very nice
@rogeriopsvalle
@rogeriopsvalle 11 ай бұрын
Hi Goodly. Thanks for all videos. They are just great. I need to combine two of your tricks in just one. I have many sheets with junk lines (same number of junk lines for all sheets) and these same sheets have inconsistent columns. How do I do that? Thanks in advance
@GoodlyChandeep
@GoodlyChandeep 10 ай бұрын
You code to remove the junk headers can probably be Table.Skip ( Table, List.MatchesAny(Record.ToList(_), each _ "null" or each _ "") After this you can promote the headers and then follow the inconsistent header video.
@bulbulahmed4414
@bulbulahmed4414 Жыл бұрын
Amazing
@boissierepascal5755
@boissierepascal5755 Жыл бұрын
Power query is magic ! You are a wonderful magician 🪄
@gennarocimmino
@gennarocimmino Жыл бұрын
I would say simply amazing !!!!
@tiagocarvalhal4502
@tiagocarvalhal4502 Жыл бұрын
Incredible. Thanks :)
@MrKamranhaider0
@MrKamranhaider0 Жыл бұрын
JUST AMAZAING SUPERB
@mohitchaturvedi8931
@mohitchaturvedi8931 Жыл бұрын
Delighted, this is the problem of every hour. Many times data come with merged header, which you have sorted already,
@swathimanda5342
@swathimanda5342 Жыл бұрын
Hi Goodly, That was an amazing video. I learned a lot from your videos for my daily tasks with excel. It saves lot of my time. God bless you. I have a question please if you can answer that, when I covert pdf to excel most of the column values are not aligned into 1 column but locate on either side. Ex: column B dates, should be in column B but on few rows it will be on A or C. How can I align them into just 1 column B. Please advise. Thank you for all your great videos. 🙏
@arbazahmad7177
@arbazahmad7177 Жыл бұрын
Fantastic 🎉.. Thanks 😊
@wensesvincen4877
@wensesvincen4877 Жыл бұрын
Hi Goodly, Wonderful and Powerful Trick...Keep up the good work. What if you are importing from PDF files...Trying to convert the binary gives a different results.
@RogerStocker
@RogerStocker Жыл бұрын
unbelievable crazy as usual.
@excel-in-g
@excel-in-g Жыл бұрын
As always, very neat & clear stuff. 👍 I was wondering if one can't use Table.FindText? Like, each Table.Skip( _,Table.PositionOf(_, Table.FindText(_, "Profit"){0} ))) But only testing for 1 column header here.
@stefankirst3234
@stefankirst3234 Жыл бұрын
Really awesome!
@cooolbreeze
@cooolbreeze Жыл бұрын
Pretty cool. Seems the only thing that would limit what one can do with PQ is one's imagination. Question, why List.ContainsAny instead of List.ContainsAll?
@mohamedheltoukhy2355
@mohamedheltoukhy2355 11 ай бұрын
Amazing Thanks alot
@retamapark
@retamapark 8 ай бұрын
Not as sophisticated, but say you had a table with two columns, Col1 and Col2. There are junk rows at the top. The row with headers has the values "Date" and "Amount". This seems for work and is easy to implement. let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], Custom1 = Table.Skip(Source, each [Col1] "Date" and [Col2] "Amount") in Custom1
@retamapark
@retamapark 8 ай бұрын
fnTableSkipDynamic(Source, "Col1", "Date", "Col2", "Amount") Function to do this: Input column names as text, header values as text. (sourcetablename as table, col1name as text, header1value as text, col2name as text, header2value as text)=> let return = Table.Skip(sourcetablename, each ( Record.Field(_, col1name) header1value) and ( Record.Field(_, col2name) header2value) ) in return
@GoodlyChandeep
@GoodlyChandeep 8 ай бұрын
List.matchesall can look for both the headers. 👍
@markdonaghy5397
@markdonaghy5397 4 күн бұрын
I have an interesting use case. I have a base file with headers but the fifth file has had one additional column with headers added. As a result the process you have described breaks and for the last table I get the error "DataFormat.Error: There were more columns un the result than expected" in the CSV data column. I have been wrestling with this for a week and my research does not show any ways to manage this, although an append tables would seem to manage this.
@GoodlyChandeep
@GoodlyChandeep 4 күн бұрын
send me your sample data and description of the problem - goodly.wordpress@gmail.com
@zeinh5139
@zeinh5139 Жыл бұрын
Wow ! thank you
@eslamfahmy87
@eslamfahmy87 Жыл бұрын
Actually, I think you are the only youtuber instructor who is preparing depth & creative PQ examples. Really, fantastic 👏, elegance & more simple 😊
@udayteja6595
@udayteja6595 11 ай бұрын
Great
@andreass.3130
@andreass.3130 Жыл бұрын
Hi Goodly, thanks for all your great videos. Isn't there a simpler way to do it here? In the example file you create a conditional column (If Column1=Date Then True). Then you fill the conditional column downwards. Now you have a True for all rows you need and a null value above the desired header row. So you can filter for True. Shouldn't that be dynamic as well?
@DAXifiedSatish
@DAXifiedSatish Жыл бұрын
No. In that way if u filter true it will be with junk rows and all data except headers and if u filter for false u will get only headers
@noorbisharmohamed
@noorbisharmohamed Жыл бұрын
Fantastic! But can we use "is blank" instead of "not Contain any" as the condition? Or promote headers if record contains any " Date", "Amount" etc?
@starprinceofficial9603
@starprinceofficial9603 4 ай бұрын
For me my question if we need to bring the data before the columns as a new column before promoting headers, how do we go about it
@patrickharilantoraherinjat2994
@patrickharilantoraherinjat2994 Жыл бұрын
Great video Goodly ! what if I have a junk rows and also a junk columns. is it possible to combine? Thanks
@GoodlyChandeep
@GoodlyChandeep Жыл бұрын
Thanks Patrick. May this video will help kzfaq.info/get/bejne/Z8yea8mJvt2afWg.html
@SandhyaSingh-qk6up
@SandhyaSingh-qk6up Жыл бұрын
Can this also be solved by using index number and custom function?
@hassanjatta4257
@hassanjatta4257 Жыл бұрын
Awesome!!!
@TomStewart-x1t
@TomStewart-x1t Ай бұрын
I have a similar problem with a CSV file, there are title characters before the Column headings. How could I remove those?
@babakmohammadi9931
@babakmohammadi9931 10 ай бұрын
could you possibly tell me what do i have to do with CSV files for "Table.TransformColumns(Source, {"Content", Excel.Workbook})" as that dosent work for CSV
@ajay249
@ajay249 Жыл бұрын
Goodly is just too Godly.
@devendrareddynamballa1053
@devendrareddynamballa1053 3 ай бұрын
What if we want to add back the removed rows after promoting the headers
@huyuc6614
@huyuc6614 8 ай бұрын
Hi i stuck on the step transform column. My file is .csv file not xlsx so when i use transformcolumn, it show error on the content. Do you know how to fix it
@williamarthur4801
@williamarthur4801 Жыл бұрын
This may sound like a stupid question, and I'm sure it's something basic, but why do you get Name = Sheet , Data = Table, but I always have Name= table , Name = Sheet and adjacent Data = table, Data = table ? Oh, and loved the use of a condition for skip which I'd never thought of, even though now having looked it does say count or condition.
@eslamfahmy87
@eslamfahmy87 Жыл бұрын
If the name & kind of data which extracted into PQ it's inconsistent and i need to filter out for all non needed sheets, How can work with that sheet
@oOBlindyOo
@oOBlindyOo Ай бұрын
My source data is from pdf. Not excel. So the formula '=Table.TransformColumns(Source,{"Content", Excel.Workbook}) isn't working... any ideas?
@ankursharma6157
@ankursharma6157 Жыл бұрын
Token of Gratitude!
@GoodlyChandeep
@GoodlyChandeep Жыл бұрын
Thank you so much Ankur
@PandaVlademirBerlin
@PandaVlademirBerlin 4 ай бұрын
What if i need the source.file column?
@ankitachauhan5834
@ankitachauhan5834 3 ай бұрын
How to do same thing but fro CSV file
@cdmkk2211
@cdmkk2211 7 ай бұрын
How can I add files name as a column in this
@carolshipley7903
@carolshipley7903 2 ай бұрын
Hi. Can you give me away of doing this if there is more than one worksheet in the excel file and you only want to clean just one worksheet?
@GoodlyChandeep
@GoodlyChandeep 2 ай бұрын
If you're connecting to a single xl file, you'll have to apply a filter before the Navigation Step to restrict the sheet names that you want.
@haroldmadrigal3671
@haroldmadrigal3671 4 ай бұрын
it fails when there is #ref or formulas(lookup) in the junk rows
@markp8600
@markp8600 Жыл бұрын
Fabulous video , but it is difficult to see the "Applied Steps" at the end of the video. Question: what if the junk rows and "junk row data" are spread inconsistently through the spreadsheet. For example, the fund or department information may change resulting in blank rows between datasets and header rows when a new fund source or department is identified in the report. The example shows how to remove junk rows at the top of the report for 3 reports. Do you have any videos where the junk rows would be sporadically located throughout the report?
@GoodlyChandeep
@GoodlyChandeep Жыл бұрын
Mark, I'll have to take a look at the data to give you possible ways to solving it. See if you can pick any tricks from this long video - kzfaq.info/get/bejne/lcB7h5SjxqmYgGQ.html I've shared horizontal and vertical looping techniques in this video.
@markp8600
@markp8600 Жыл бұрын
@@GoodlyChandeep - Hi Chandeep, I could share a file with you on your website. I could upload on the PQ training course site. Would that work? Thanks for the great insights!
@markp8600
@markp8600 Жыл бұрын
@@GoodlyChandeep Perfect! Thank you so much Chandeep. Your help and guidance is greatly appreciated. Cheers!
@deepraazshaw7369
@deepraazshaw7369 Жыл бұрын
Sir, can we get all these videos in Hindi?
@user-ni9sj8gv2o
@user-ni9sj8gv2o Жыл бұрын
Hi Chandeep, i want to enroll your course about Dax and Data Modelling (Bundle), can you give me some discount? hehe it's too expensive for me :(
@excel-k-sir
@excel-k-sir Жыл бұрын
Bhai I am sure you have definitely made your hands dirty in cleaning up the Consolidated Account Statement for MF. Can you please create a video on how to clean up the Statement.
@utkur765
@utkur765 Жыл бұрын
Why not to use 2 column and filter out "null"? This will remove all just rows from all files.
@GoodlyChandeep
@GoodlyChandeep Жыл бұрын
Column 2 can have legit null values
@DJPejsen
@DJPejsen Жыл бұрын
Source = Folder.Files("C: \Users\pc\Desktop \Remove Top Rows"), ContentTbl = Table.TransformColumns( Source, { "Content", each Excel.Workbook(_) } ), ExpandData = Table.ExpandTableColumn( ContentTbl, "Content", {"Data"}, {"Data"} ), TableSkipRows = Table.PromoteHeaders( Table.TransformColumns( ExpandData, { "Data", each Table.Skip(_, each [Column1] "Date" or [Column5] "Profit")) } ) )
@Piyush.A
@Piyush.A Жыл бұрын
😯😨😲
WORLD'S SHORTEST WOMAN
00:58
Stokes Twins
Рет қаралды 173 МЛН
Kind Waiter's Gesture to Homeless Boy #shorts
00:32
I migliori trucchetti di Fabiosa
Рет қаралды 5 МЛН
Spot The Fake Animal For $10,000
00:40
MrBeast
Рет қаралды 212 МЛН
How to Move Data Automatically Between Excel Files
11:37
Kenji Explains
Рет қаралды 63 М.
Power Query - Dynamically Remove Junk Rows 🗑️🚫
7:44
BA Sensei
Рет қаралды 1,8 М.
Excel Functions EVERYONE needs
20:30
Karina Data Scientist
Рет қаралды 815
I Bet You Don't Know All These Power Query Tricks
12:28
Goodly
Рет қаралды 38 М.
5 Tricks to Reduce Steps in Power Query
16:41
Goodly
Рет қаралды 33 М.
Combine Files with DIFFERENT Headers in Power Query | TWO Examples
11:47
10x your productivity with these AI tools in Excel 😲
18:42
12 Pro PivotTable Formatting Tricks = No more UGLY PivotTables!
12:12
MyOnlineTrainingHub
Рет қаралды 333 М.