I've used something similar before, to make a list of all tab names in a single google sheet. I wonder now if it would be possible to somehow call a list of names of tabs which contain a certain keyword?
@SheetsNinja6 сағат бұрын
Yes, you would just need to include something like this in the "if" statement: if (tabs[i].getSheetName() != 'Table of Contents' && tabs[i].getSheetName().indexOf("keyword") != -1) {
@Wandernitka6 сағат бұрын
@SheetsNinja oh wow, thanks for the fast response! I'll see if I can make it work in my file, if I can, that'll save me so much time..
@atekdigitalКүн бұрын
How to export qr code to pc
@gagahgukКүн бұрын
🐐
@kimjunoh1Күн бұрын
Thanks for the great video.
@kimjunoh1Күн бұрын
Wow! Great!
@StoreIncharge-g2p3 күн бұрын
Hy very amazing this kinldy ma this learn a video
@Extremechewtoy3 күн бұрын
I love you, Sheets Ninja
@ChrisConatser-m8h4 күн бұрын
Nothing but visual clutter and broken functionality. Why, Google?
@SheetsNinja4 күн бұрын
There are some "benefits" to chips (for example, with the new multi-select functionality, you HAVE to use chips), and I do appreciate the option to use the chip aesthetic, but I would have greater piece of mind if they made them harder to accidentally delete.
@AgriStatSolutions4 күн бұрын
Thank you!
@SheetsNinja4 күн бұрын
Awesome! Glad this was useful!
@RizwanSiddique-j4u5 күн бұрын
Hi Sheetninja, I hope you're doing well. Thanks for training at ARU. I have a question about calculating meeting times in Google Sheets. I've imported meeting data from my calendar into Google Sheets, and I'm wondering if you could make a video that shows how to calculate the total time for weekly, bi-weekly, monthly, and one-time meetings? Also if the meeting is weekly we can show it as weekly, monthly, bi-weekly and so on.
@Rovsau6 күн бұрын
Never looked into this myself. Good stuff. Also, the music is a nice touch.
@SheetsNinja4 күн бұрын
Awesome to hear! Music really makes everything better, right? Thanks for checking it out!
@ericbandur23766 күн бұрын
How can we do this same setup but when they sort the rows, by date for example, the dropdowns still work and don't give the Invalid error notice?
@SheetsNinja6 күн бұрын
So if the data is going to be sorted, then you will want to use a different method. 1) is using a single cell hack, with a walkthrough here: kzbin.info/www/bejne/qHfMd6ulhJljba8 Or 2) you can use a scripted method, which is resilient even when the data is sorted: kzbin.info/www/bejne/a4rcpKljhtSoirM
@itstammyhere6 күн бұрын
it says error on using the formula which I allow access to the excel sheet
@SheetsNinja6 күн бұрын
Google added a new permissions flow for any external connections (any images pulled in or external data connections). This is designed to keep people safe, primarily from making a copy of an existing Google Sheet that has nefarious images or data connections. If you are the one that added the photo link, then you can just click "Allow" up top and you'll be fine!
@itstammyhere6 күн бұрын
@ right, how do i go about it then so do the same =image(url)=1? the url im using its actually from instagram...
@SheetsNinja6 күн бұрын
@@itstammyhere Yes, you use the same formula =image("url",1) When you hit enter, you should get prompted to allow access, once you click "Allow Access", the image should display. Occasionally you may have errors trying to display image links in Google Sheets. 1) Some websites block direct linking to their images (or restricted to logged in users), and 2) sometimes what looks like the link to the actual image is actually a link to the site or webpage and won't display then either. A quick test is to paste the link in a new browser window and see what it displayed (if anything).
@denzellewis51296 күн бұрын
Wassup man you make it look so easy but ever i do it never works lol must be me..... Could you help me I made a rough rough draft would be grateful if you could help. I can send over daft in email if you agree
@anthonylangan82157 күн бұрын
Nice - but then how do you export the chart? I can't see how you group the charts so you can pick up the final Sunburst up to put into another app.
@SheetsNinja7 күн бұрын
You would have to export the chart one at a time. It may or may not work in your final application depending upon whether you can stack the charts there like I did in this walkthrough.
@AmeyAlate-p3f7 күн бұрын
💯💯
@SheetsNinja7 күн бұрын
Glad this was helpful!
@Earth.5138 күн бұрын
I tried running this but I get this error "TypeError: tabs[i].getSheetID is not a function" :(
@Earth.5138 күн бұрын
resolved! silly caps . WRote ID instead of Id
@UthithSpeedline8 күн бұрын
Not able to download
@SheetsNinja7 күн бұрын
The link provided in the description allows you to make a copy of the Google Sheet to your Google Drive. If you are on Google Workspace, you may have an error if custom scripts are blocked. If you sign into your personal Google Account, you can get around the restriction that way.
@kimjunoh18 күн бұрын
Thanks🎉
@SheetsNinja8 күн бұрын
So glad this was helpful!
@dannyl65079 күн бұрын
Isnt there a way to enable dark theme directly from right clicking and then selecting command palette?
@SheetsNinja8 күн бұрын
Yes, if you select command palette and search for "high-contrast" you can toggle a different style, but for me, it doesn't make it dark mode and doesn't have any additional customization that the add-on includes, which is a variety of different schemes (which highlights the code differently as well), and the ability to hide the file structure to make for a streamlining coding experience. So if all you want is high-contrast, then you can forgo the extension, but if you do much coding, I think the extension is still worth checking out.
@zaccoza9 күн бұрын
I both benefit from your sharing and find it very useful, congratulations. I have a simple problem in Google sheets but I can not overcome. Can you at least let me share this with you?
@kimjunoh19 күн бұрын
Thanks!
@SheetsNinja9 күн бұрын
Awesome! So glad this was helpful!
@gagahguk10 күн бұрын
my dude is 🐐
@gagahguk11 күн бұрын
hey dude, can you make a multiple selection dropdown list as cell reference in query?
@SheetsNinja11 күн бұрын
So I got into several methods of doing just that in this video. I go into an advanced case at the end to filter multi-select dropdowns in the data as well as from the reference: kzbin.info/www/bejne/q4TFpKGhm9aLZ7s
@adriennescott683112 күн бұрын
I got stuck at Loading for awhile, now #REF! after granting permissions. The REF shows "Adding permissions..." and just gets stuck there. Could this be because I have approximately one million tabs on this destination sheet? Could it be because there are a lot of Editors for both sheets? Is there something different with Google Workspace? I've tried adding the sheet name after the URL. ex: importrange("URL","'Sheet Name Has Spaces'!A5:B10") I've tried the whole URL, just the segment between d/ and /edit, single quotes around the origin sheet name, leaving out the origin sheet name, only including one column of data or both columns....
@SheetsNinja12 күн бұрын
So having too much data on the source or destination sheet can be an issue. Google Sheets has a technical limit of around 10 million cells, the functional limit really depends on how many formulas you have on your sheet. Also, importrange also has a limit of how much data you can pull between spreadsheets. I haven't nailed this one down exactly, but somewhere in the range of 500,000 characters (so around 500,000 cells if each cell only contained one character). If you have that much data, you may need to segment unrelated data (or any data that doesn't need to be stored together) into different spreadsheets. So for example, what I may do is yearly archive spreadsheets, condense the data on each one into useable extracts and then reference those in my main spreadsheet.
@KelsieAttaway13 күн бұрын
Would it be possible to have the row move to another sheet within the same workbook?
@SheetsNinja13 күн бұрын
Yes, it's pretty similar to this, I have another video on the basics of that here: kzbin.info/www/bejne/iZnGlaqEnZyqepI
@Junior-e6u4l13 күн бұрын
How can I start counting in a different month? Example: Nov 2024, Dec 2024, Jan 2025, Feb 2025 etc.
@SheetsNinja13 күн бұрын
So you can just add a little bit to the sequence formula: =arrayformula(date(2024,sequence(12,1,11),1)) In the sequence formula, if we do sequence(12) it will just generate a list of numbers from 1 to 12. If we want to customize, we can add more parameters, which in sequence is =sequence(numberOfRows,numberOfColumns,startNum,stepSize) So that is why we keep 12, which is number of rows, then add 1 for number of columns, and then add 11 for our starting month. If we did sequence(12,1,1) we would get the exact same result as I have in the video. So then if you wanted to start in June for example, you would do: =arrayformula(date(2024,sequence(12,1,6),1)) And then you could add the skipping to do something like every quarter, just like this: =arrayformula(date(2024,sequence(12,1,10,3),1)) That would give you 12 quarters starting with 10/1/2024.
@Junior-e6u4l13 күн бұрын
@@SheetsNinja Thank you very much. I got it. I just had to change the comma to a semicolon. I needed a sequence of 94 months. It looked like this: =TRANSPOSE(ARRAYFORMULA(DATE(2024;SEQUENCE(94;1;11);1)))
@SheetsNinja13 күн бұрын
@Junior-e6u4l ah, perfect. Yes it is confusing to convert between the different symbols Google Sheets uses in different countries.
@Halpal11113 күн бұрын
Is there a way to filter with multi-select drop downs? I have data assigned to two categories but when I filter instead of all items in category A populating, if something is in category A and B i have to filter to A and B, not just A...
@SheetsNinja13 күн бұрын
I have a video on that here: kzbin.info/www/bejne/q4TFpKGhm9aLZ7s And I develop it a little further and show a different use case with sumifs here: kzbin.info/www/bejne/mWHCnZqClsx1adk
@Archystores-hq1fr13 күн бұрын
Thank you very much man... How about to get something like "SL001"... waiting for your response Thanks again
@jideolatunde256414 күн бұрын
This video came at a time I just needed it. I applied all the formulas accordingly and it worked just perfect. However I noticed it stopped updating when it got to the 30th October 2024. I deleting it all and decided to redo it all again, still it didn't recognize any figures beyond 30th October 2024. Please is there something I'm missing? I need help. Thanks.
@SheetsNinja14 күн бұрын
So one or the other of the dates must be off. What I'll usually do in this scenario is update the date formats to YYYY (so 2024 instead of 24), and typically the year is off when it won't pull it in. (for example, I've seen 2124, 1924, etc., and then if your date is actually 10/1/2124, it's not going to show up for 10/1/2024).
@DEVD-z9p14 күн бұрын
but how did u figure out timelines aptidu for individual .or just random number
@SheetsNinja14 күн бұрын
I'm assuming you already have the performance data for the employees, I'm just demonstrating how to take performance data and turn it into a good-looking report.
@MichelNabil14 күн бұрын
You are a google sheet genius ❤️
@SheetsNinja14 күн бұрын
Awesome, so glad this was helpful!
@gregorioh526314 күн бұрын
Great tutorial!! One question? Each one of my tabs is comprised of a unique "automotive parts" order and when I am done with a tab, I hide it. I hide it as a way of marking it complete but still have access to it if I need to reference it in the future for any reason. I noticed that the table of contents still shows the tabs after they have been hidden. Is there a way to make those hidden in the table of contents after I manually hide them? Hope this makes sense? Thank you!!
@SheetsNinja14 күн бұрын
You would have to add another layer of code that checks if the sheet is visible and only list visible tabs. So for example, in the script, it has this line: if (tabs[i].getSheetName() != 'Table of Contents') { You would want to modify that to: if (tabs[i].getSheetName() != 'Table of Contents' && !tabs[i].isSheetHidden()) {
@gregorioh526314 күн бұрын
@@SheetsNinja You truly are a Ninja! Thank you!
@gregorioh526311 күн бұрын
@@SheetsNinja another question for you Mr. Ninja? I would LOVE when I click the link for the information in that tab to open in the same sheet as the table of contents sheet. So you could just work in one sheet. Does this make sense? You would click a hyperlink for a tab and next to the table of contents the data from that tab open and is visible and editable until you click a different link. I like the hyperlink thing but it takes you to the tab directly and I have 20 or 30 tabs working and I have to scroll all the way back to the table of contents. What do you think? Does this make sense? Thank you for your time.
@SheetsNinja10 күн бұрын
@@gregorioh5263 So the easiest way to do this if you only need to view the data is to use a simple "filter()" formula tied to a dropdown with the tab names. If the dropdown has the tab names exactly, and the dropdown is in cell D5, then you could do a filter formula something like this: =filter(indirect(D5&"!A2:M"),indirect(D5&"!A2:A")<>"") Assuming your data tabs go from column A to M and your column A is the one you expect to be filled on every row. Otherwise a scripted version is possible, I will add that to my stack of ideas of videos to record.
@kimjunoh114 күн бұрын
This one is also very useful. Thanks a million. Bro.
@SheetsNinja14 күн бұрын
So glad you found this helpful!
@maxwellisioro15 күн бұрын
Wow. This worked like magic. Super thanks. Do you have a video on mail merge?
@SheetsNinja15 күн бұрын
Yes, I have a video on mail merge here using Google Docs as the mail template: kzbin.info/www/bejne/pKG0faKdrcx9qNk
@maxwellisioro15 күн бұрын
@SheetsNinja wow. I am not sure why such an incredible piece of "how to software" isn't amongst the first in searches. You are good Mr Ninja. I use Google workspace and app script to develop solutions but no where close to your capabilities. I am pleased and hope to meet you someday.
@maxwellisioro15 күн бұрын
@SheetsNinja can I get your email from your website for personalised conversations?
@mnm182715 күн бұрын
Hi. How to add a notification that says "Please enter email" before sending the email? Condition is if the cell is set to YES, then it sends an email. but would like to not proceed to send an email if the email address is empty.
@SheetsNinja15 күн бұрын
With the way it's set up now, I would add this piece of code right in each of the email sections (e.g. follow up email & ready to start email) before anything else in that if statement that would look like this: if (data[6] == '') { SpreadsheetApp.getUi().alert("Please enter email and try again."); sheet.getRange(row,7).clearContent(); return; } I add the line to clear the status so that way after they enter the email, they can select that status again and then it will run correctly.
@mnm182714 күн бұрын
@@SheetsNinja works like a charm. thank you so much. how about if there's another column where another criteria needs to be met?
@jmmorente242915 күн бұрын
Great video. Is there a way to move the row to the TOP of the sheet instead of other tab/s?
@SheetsNinja8 күн бұрын
I don't know if you saw it, but I just dropped a new video on how to do this, you can check it out here: kzbin.info/www/bejne/p5LJgmSZrsSLh5I
@johnlau77815 күн бұрын
Hi, Thanks for the script! I was wondering if I can change the date format to "Tue, 11/12" or what should I remove from the script to change the date format of my liking?
@SheetsNinja15 күн бұрын
Yes, if you change the format to: "ddd M/d" it should display in the format you're looking for
@johnlau77815 күн бұрын
@@SheetsNinja Thanks for response, I changed it to "ddd M/d" but only getting "017 11/17"
@ignacios399215 күн бұрын
actually the method add. sends an email, thanks !!
@SheetsNinja12 күн бұрын
Yes, Google can automatically send an email notification, the purpose of demonstrating doing it manually is the customization that you can accomplish that way.
@6GGXXX16 күн бұрын
Thanks this was exactly what i was looking for <3
@sararoessler17 күн бұрын
Hi there! Trying to do this but can you lock the combined formula/ column and delete the other two without canceling out the combined one?
@SheetsNinja17 күн бұрын
If I'm understanding you correctly, you'll want to copy / paste as values on in the primary column before deleting the others.
@kimjunoh118 күн бұрын
Wow! Amazing! Thanks for sharing.
@SheetsNinja17 күн бұрын
Awesome, so glad this was helpful!
@silvestrecamposano631718 күн бұрын
Wow! I was amazed. Thank you very much. Hope I could use the formula.
@SheetsNinja18 күн бұрын
Glad it was helpful!
@shubhamsutar218 күн бұрын
This is not working for me as the Column contains Multiple Chips of Numbers and no texts. Can you provide solution to this?
@SheetsNinja18 күн бұрын
Can you provide a sample of what you're trying to do with this? Maybe a copy of the Google Sheet with just that section? I just want to see what you're doing to see if there is an easy solution or adjustment.
@shubhamsutar218 күн бұрын
@SheetsNinja Heyy! Thank you for your response. I am glad to say that I have got the solution. =IFERROR(SUM(FILTER(J:J, ISNUMBER(VALUE(E:E)) * REGEXMATCH(TEXT(E:E, "0"), TEXTJOIN("|", TRUE, "\b" & SPLIT(A52, ", ") & "\b")))))
@KamronKimbrough19 күн бұрын
I have this edited script actively running on my sheet now and it is fantastic. Quick question though, how would I add an automatic reminder email that sends X number of days after the specific status drop down was selected (i.e. I select the dropdown "Request Sent" and it sends an initial email (already set up in script) and then 7 days later it send a reminder email automatically)? I would also like to set up a similar automatic email when we are "X" number of days away from a specified due date I entered on the row if possible.
@Rovsau19 күн бұрын
I wrote my search function different, and then someone showed me a much shorter version with Query. But I never used Query for anything else before., so I really appreciate this hands-on step by step guide. The only difference with the filter-approach, is how it deals with sorting. Great video. Well worth the time.
@SheetsNinja19 күн бұрын
If you're talking about sorting the results, you can sort filter by wrapping it in the sort() function, but in query, you can actually add single or multi-column sorting as well (I will be recording a video dedicated to the query function shortly, so keep an eye out for it!).
@Rovsau19 күн бұрын
@@SheetsNinja No, what I mean is that depending on which approach (filter vs query), the final outcome is not 100% the same. Because Query inherently sorts differently than the filter (with sort) approach. (it's a very minor quirk, that almost never matters) I'll be looking :)
@Rovsau19 күн бұрын
@@SheetsNinja To clarify: I don't think the difference is noticeable with your examples. I only noticed the sorting difference when I made my own solution a few years ago, with a bigger dataset, and more complex formulas. If I recall correctly, at least when the search is blank, one of them places certain entries from the top, while the other places them from the bottom. Not a big deal, but still different.
@Seba-gc5ss19 күн бұрын
how come i cant set another default format qua font and color and size.. why every other box keeps resetting to ex. veranda , size 10 ..
@SheetsNinja6 күн бұрын
You can't reset the default size across the entire spreadsheet, but you can do Ctrl+A to select all the cells in a tab and reset the size for all the cells in that tab. However, you CAN change default font and colors like this: kzbin.info/www/bejne/r53Imnh9fdF-esk
@alexanderdaigneault20 күн бұрын
got it working. Thank you!
@SheetsNinja20 күн бұрын
Okay awesome! Good job! 👏
@alexanderdaigneault20 күн бұрын
does e stand for something? and not sure if I have to transfer stuff over from sheets into AppsScript?
@SheetsNinja20 күн бұрын
e is a placeholder for the data about the edit event that automatically comes from Google. It contains information about what cell was edited (which is why we can do "let range = e.range;" and that contains the value that was entered "let value = range.getValue()". We also get the sheet or tab that the change occurred on through "let source = e.source.getActiveSheet()" So once we have that information, we can then apply our logic (e.g. What column was edited and on what tab) to determine if and what things we are going to do.