Thanks for the video, Mike, it was a trip down memory lane for me! The guys that have never had to use the really old versions of Excel (or any other MS program) just cannot appreciate the amount of thought that went into some of the simplest calculations back in the day. Getting to these mad tricks was no piece of cake either with no Google search we had to be really creative and crack our brains round why something didn't work and even worse why something tried in desperation ended up giving correct results lol. I don't think I would really want to go back to those days.
Such a good point: Before easy search? It was all on you, or a lot of effort to get new info. I certainly remember those old days. I even remember going to the library, looking up telephone books from around the United States to get business leads for my boomerang manufacturing business...
@@excelisfun oh yes the library was so helpful back in the day. I certainly remember leaving work early to do research and spending hours on the phone with friends that might be able to help. Very different times.
Mike, I'm speechless...wow, never knew what's fuzz with Excel 4.0 macro sheet was. Now I know, or just a bit, but at least this introduction has been enlightening. Thank you SIR !
Great Video Mike! Just for fun Excel 2007 or later: C13:=SUM(IFERROR(--MID(B13,ROW(INDIRECT("1:"&LEN(B13))),FREQUENCY(ROW(INDIRECT("1:"&LEN(B13)+1)),IFERROR(FIND(",",B13,ROW(INDIRECT("1:"&LEN(B13)))),LEN(B13)+1))-1),0))
Wow! I haven't ever learned so much new stuff about excel in such a short amount of time. I hadn't used the really old versions of excel so those were completely new to me.
Thanks Mike. That was a neat little fun trick. Early In the video I started chanting "4.0…4.0…" (my wife rolled her eyes), but TBH I didn't know how you were going to implement it.
Yep. Before Windows I even used Symphony for DOS. I had a computer where I booted up with one 5.25” floppy disk, then loaded Symphony with another. It was a green grid on a black background. This was around 1991 or so.
@@chrism9037 I started using computers in 1986. Computer labs at my school. I got my first computer in 1988. Toshiba lap top with floppy discs for your programs... Man, we're old!!! : ) Old Guys Rule!!!!!
Awesome trick to get relative cell ref in a named range. Yes, MS365 can do it simply but if you want a hybrid idea using LAMBDA... Name: EVAL Formula: =LAMBDA(Fn,EVALUATE(Fn)) Best part with this is, its not just sum... you can do A1 = 1+2*3+4*10 Do Eval(A1) =47
It would be wonderful to have that EVALUATE-function as a standard built-in function in Excel. Reminds me of the Expression.Evaluate function in Power Query that does exactly the same over there. So, if the PQ-team can do it, why not the Excel Team?...
@@GeertDelmulle I agree, but it seems to me that powerful blanket commands like "evaluate" would allow attacks akin to SQL injection. That's why (I'm guessing) they're not adding it anew, but allowing you to use 4.0 after jumping through a couple hoops.
@@Vandalfoe I'm sure the fact that I have no idea what "SQL injection" means, speaks for my immaculate spirit and purest of intents, but if the equivalent function exists in PQ-M (which arguably stands even closer to SQL and databases), then it shouldn't be an issue in Excel Classic, no?
@@excelisfun Thanks for letting me know. BTW recently used Tableselectrows to get % of current sales of give item to the last sale of same item, using your inside outside table trick, Table.AddColumn(start2, "Percent growth Previous item", each [Units] / List.Last( Table.SelectRows( step , (B)=> B [Date] < _ [Date] and B [Item] = _ [Item] ) [Units] ),Percentage.Type ) Also in DAX. Thanks for a wonderfully versatile construction that I don't think I've seen anyone else using.
This is a small token of my appreciation ;I feel like I owe you thousands your videos were the first ones that got me on my path in Excel and data analysis. You're an amazing teacher and resource.
Hi Mike,great to look back sometimes, maybe there are more hidden gems in 4.0? This reminds me: did you know that Excel 5.0 was installed with a program called ms query? Keep making keyboard typos !😉
Yes, I absolutely remember ms query... I can't even remember the last time I used it. I guess before 2013 when Power Query came up. Absolutely I will keep making typos, but I can not help that lol
Thank you for the gem. You are amazing. I have a similar scenario, I have cell references as text GENERATED from a formula like D7:Z10,D19:Z21, D45:Z48...... I need to use VSTACK to stack the ranges together without entering them individually but i get an error. I WANT TO FEED those ranges to act like individual ranges in the formula. How do we achieve this? Thank you in advance for your help
@@excelisfun Thank you for the speedy response. I tried the INDIRECT function and it returned an error. When I searched further, I realized that the indirect function cannot work with dynamic arrays (maybe I am wrong here). When I operate on each reference one at a time, the INDIRECT function works. But when I supply these ranges (B7:Z10,B29:Z32,B51:Z54,B73:Z76,B95:Z98,B117:Z120,B139:Z142,B161:Z164,B183:Z186,B205:Z208) to the INDIRECT function, it returns an error. I am looking for a way to convert these references stored in variable in a LET function to their values and VSTACK them one untop of the other. Here is the formula that produces the range ( References VARIABLE) that I want to feed into the VSTACK FUNCTION LET( Num_of_ranges,10, NUM_OF_COLUms,23, num_Rows,22, start_row,7, step_nrows,3, Start_rows,SEQUENCE(Num_of_ranges,,start_row,num_Rows), end_rows,Start_rows+step_nrows, range,"B"&Start_rows&":Z"&end_rows, References,TEXTJOIN(",",TRUE,TRANSPOSE(range)), result,HSTACK(Start_rows,end_rows,range), References)
Another superb lesson ! Microsoft still keeps those gems available, even if the are somehow hidden. We can think of those Macro 4.0 functions wrapped into Defined names as LAMBDA functions used by our... grandparents :-))). Sadly, there are Excel MVPs who create bad and false lessons where they declare some Excel functions as dying, or already dead, I have strongly rejected these non-sense lessons. As long as Microsoft have not disabled them from the list of available functions, and as long as many millions of people still use them for sure, they cannot be dead. With other words, how come VLOOKUP is dead, but Macro 4.0 functions released more than 30 years ago (!) are still available for everyone ? Dear Mike, please raise this topic on next Excel MVP summit, please ask those MPVs to stop these incredibly wrong lessons. Do you agree ?
They are non-sense lessons. Often people at TH-cam try to appeal to the sensational to attract the Google/TH-cam algorithm. But you are right: if the stuff is in Excel, we can use them!!! : ) : ) : ) : ) As for others, I only have control over what I do : ) What incredibly wrong lessons? What specific videos. What other MVPs? You can send e-mail to excelisfun at gmail.
I have zero idea how to do that. If you rephrase your statement in a clearer way, you can post to this great Excel question site: mrexcel.com/board. There are 100s of Excel masters at that site.
Would this be a way to implement a formula selected from a list? In other words, VLOOKUP or XLOOKUP used to return a formula rather than a value (in lieu of SWITCH)
@@excelisfun I'll try to summarize: A table at the top of the page shows various scenarios, let's call them A, B, C, & D in the 1st column of the table, and each of these scenarios has a corresponding formula typed in the 2nd column. A table at the bottom of the page shows various projects, with data such as days in progress, costs, etc. Depending on the project's status (ie, scenario) you would implement the appropriate formula from the top of the page. Since the formulas are already typed in once in that 1st table, it would be good to be able to in the 2nd table simply pick the appropriate scenario A-D from a drop down and have another cell calculate the result based on the formula assigned to that scenario. I've tried V/XLOOKUP but it doesn't work bc it just returns the formula as text without computing it. Leads to questions on how to actually write the formula in the 1st table and how to make it change depending on the row it would ideally end up on. What I ended up doing was build a pretty beefy SWITCH formula that didn't actually touch the 1st table. Any thoughts on how to make that whole thing work??
@@Darkslide820 SWITCH is the way I would do it. To look up formulas, as far as I know, you must put them into the formula. At least that is the way i have always done it. This video shows the only way i know to evalaute formula from text.
I could not implement your formula, though. I got this to work: =LAMBDA(x,y,EVALUATE(SUBSTITUTE(x,y,"+")))(!B18,",") I added the extra layer of fun LAMBDA formula you created to the download file. Thanks : ) Go Team!!!
First of all, anyone who gives you a sheet that has the data like that should be smacked, and then take away their Crayons. Secondly, this is just bloody genius! I'm filing this one under "No freak'n way!". .......Sorry, probably time to back off on the coffee.
That is too funny: anyone who gives you a sheet that has the data like that should be smacked, and then take away their Crayons. lol^100 You are on fire today, this is great too: I'm filing this one under "No freak'n way!". BUT, the thing is: the only way to file it, is in a manila folder in the old Oak File Cabinet lol P.S. We do get data like this all the time!!!
@@excelisfun Ya let'em do it once. If they do it again, you start removing the letters and numbers from their keyboard when they are at lunch. That was seriously fantastic though. I've been messing around with Excel for many years and I love it when I learn something new.
@@robrayborn1349 You are cracking me up: "a let'em do it once. If they do it again, you start removing the letters and numbers from their keyboard when they are at lunch."!!!! : ) : )
@@excelisfun I never knew what to do with the 'Insert' 'MS Excel 4.0 Macro'. Didn't know how to apply it. I had no idea what to do with it. I've saved this video to my favorites and I thinking up ways I can apply this lesson.
@@excelisfun Just a quick question. I wanted to challenge myself and make all the records from this data in a row so I did this in PowerQuerry, imported data (made a table), >SplitColumn -> Unpivot. And this worked, but are there other "simpler" ways of transposing data in rows?
@@nikakalichava8012 If data is in cell with columns, just use Split by delimiter, Advanced and you can chose to split by column or row. I added a worksheet in download workbook for you with this example : )
@@excelisfun I NEW there would have been an easier way. Just tried it, this was the result. = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"data", Int64.Type}}) Thank you very much!!!
Thanks for the video, Mike, it was a trip down memory lane for me! The guys that have never had to use the really old versions of Excel (or any other MS program) just cannot appreciate the amount of thought that went into some of the simplest calculations back in the day. Getting to these mad tricks was no piece of cake either with no Google search we had to be really creative and crack our brains round why something didn't work and even worse why something tried in desperation ended up giving correct results lol. I don't think I would really want to go back to those days.
Such a good point: Before easy search? It was all on you, or a lot of effort to get new info. I certainly remember those old days. I even remember going to the library, looking up telephone books from around the United States to get business leads for my boomerang manufacturing business...
@@excelisfun oh yes the library was so helpful back in the day. I certainly remember leaving work early to do research and spending hours on the phone with friends that might be able to help. Very different times.
@@roywilson9580 Yes, indeed! We're old: but: Old Guys Rule!!!!
So true!
Hey Mike, looks like you have picked up another of the fake advertising accounts using your name. Have reported the reply as spam.
ANOTHER great commercial for 365!!! Wish for the "good old days"? Be careful what you wish for!! Thanks for the reminder.
Sooooooo true!!! : )
Mike, I'm speechless...wow, never knew what's fuzz with Excel 4.0 macro sheet was. Now I know, or just a bit, but at least this introduction has been enlightening. Thank you SIR !
You are welcome, Sakte-Punk-BMX bro!!!!
Great Video Mike!
Just for fun Excel 2007 or later:
C13:=SUM(IFERROR(--MID(B13,ROW(INDIRECT("1:"&LEN(B13))),FREQUENCY(ROW(INDIRECT("1:"&LEN(B13)+1)),IFERROR(FIND(",",B13,ROW(INDIRECT("1:"&LEN(B13)))),LEN(B13)+1))-1),0))
Old School Awesome!!! I added it to the download file : ) Thanks and Go Team!!!!
@@excelisfun 👍
Wow! I haven't ever learned so much new stuff about excel in such a short amount of time. I hadn't used the really old versions of excel so those were completely new to me.
Glad it was helpful!
You are the best, you share your knowledge with folks like us.
Because it is fun!!! And my duty as a human on the planet to try and make the world a better place : ) Go Team Humans!!!!!
Mike, as again, you are the best.....from Colombia...
Always glad to help!!!!!
A mind blowing trick.
And an old trick that didn't know.
Thanks!👍💯
You are welcome!
! in Define Name is Fantastic
It is a great old trick!!!
Thanks for this EXCELlent video and trick Amazing Mike.
You are welcome, Fellow Teacher!!!
Thanks Mike! That was a trip in the way back time machine for sure!! Thumbs up!!
You are welcome for the time machine!!!!
AMAZING!!! Thank you Microsoft for 365 so I don't have to deal with the old way... :) Thank you Professor!!!
You are welcome! We are Sooooo lucky to have M 365 : ) : )
Thanks Mike. Love the new opening.
Thanks, WRH!!!!!!!!
Thanks Mike. That was a neat little fun trick.
Early In the video I started chanting "4.0…4.0…" (my wife rolled her eyes), but TBH I didn't know how you were going to implement it.
Niiiiiice: premonition of 4.0 - now that is awesome : )
Thanks mike. Never new this!!! Thanks again. :)
You are welcome Formula Guy!!!!
Thanks Mike! I actually remember using that Excel 4.0 macro sheet way back in Excel for Windows 95. We’ve certainly come a long way
Wow!!!! I had not idea you went that far back!!!! I was not even using Windows Excel in 1995 I had a Mac and I also used Quarto Pro before that...
Yep. Before Windows I even used Symphony for DOS. I had a computer where I booted up with one 5.25” floppy disk, then loaded Symphony with another. It was a green grid on a black background. This was around 1991 or so.
@@chrism9037 I started using computers in 1986. Computer labs at my school. I got my first computer in 1988. Toshiba lap top with floppy discs for your programs... Man, we're old!!! : ) Old Guys Rule!!!!!
Old guys do rule Mike!!
Awesome trick to get relative cell ref in a named range. Yes, MS365 can do it simply but if you want a hybrid idea using LAMBDA... Name: EVAL
Formula: =LAMBDA(Fn,EVALUATE(Fn)) Best part with this is, its not just sum... you can do A1 = 1+2*3+4*10 Do Eval(A1) =47
1992 and 2022 combined in an awesome hybrid!!!! Thanks for the cool formula : )
Thank you Sir for 365 formula.
You are welcome for the formula, but I guess we should thank Microsoft for sooooooo many new and wonderful things : )
@@excelisfun Sir, even Microsoft depends on experts like you before releasing the formulas to general public.
I think Microsoft should be thankful
It would be wonderful to have that EVALUATE-function as a standard built-in function in Excel.
Reminds me of the Expression.Evaluate function in Power Query that does exactly the same over there.
So, if the PQ-team can do it, why not the Excel Team?...
Riiiiiiiiight. EXCELlent point!
That's a great question.
I wonder if it's a "security" issue -- Excel is a bit wary of using 4.0 functionality without a nod from the user.
@@Vandalfoe I’m sure they can port stuff or reprogram the functions.
@@GeertDelmulle I agree, but it seems to me that powerful blanket commands like "evaluate" would allow attacks akin to SQL injection.
That's why (I'm guessing) they're not adding it anew, but allowing you to use 4.0 after jumping through a couple hoops.
@@Vandalfoe I'm sure the fact that I have no idea what "SQL injection" means, speaks for my immaculate spirit and purest of intents, but if the equivalent function exists in PQ-M (which arguably stands even closer to SQL and databases), then it shouldn't be an issue in Excel Classic, no?
I don't understand any of this but I am sure it's gr8 information. 🙂
I am sorry you do not understand. Do you have questions?
I know how you feel, I tried from scratch, all I got was '#Blocked' 😕😕
@@williamarthur4801 Yes, some systems will not allow ".xlsm" files.
@@excelisfun Thanks for letting me know.
BTW recently used Tableselectrows to get % of current sales of give item to the last sale of same item, using your inside outside table trick,
Table.AddColumn(start2, "Percent growth Previous item",
each
[Units] /
List.Last(
Table.SelectRows( step , (B)=> B [Date] < _ [Date] and
B [Item] = _ [Item] ) [Units] ),Percentage.Type )
Also in DAX. Thanks for a wonderfully versatile construction that I don't think I've seen anyone else using.
@@williamarthur4801 Awesome!!!!! You are welcome for it all : )
Boom!Wow That Was Some Magic Trick.Always Happy Days To Learn Something New...Thank You Mike :)
You are welcome, Bike Brother!!!
my mind blowed
Yes!!!! Fun!!!!
Not sure it is greatly useful, only sure it's highly impressive !
Right, I never get comma separated data in a cell... lol
Amazing as usual
Glad it is so, lucaviglio!!!!!
It is so interesting! I have not evet seen this type of macro sheet and functionality. What is realy scope of macro sheet in excel?
I don't know what you mean when you ask what the scope is. What do you mean?
Hi Mike,
one more idea for all versions: =SUM(FILTERXML(""&SUBSTITUTE(B13,",","")&"","//x/y"))
great!!! a 1 000 000 thumbs ups for each nanosecond of this video :)
That is A LOY of thumbs ups : ) : ) : ) Thanks, my Rad Friend!
Wow. Great man.
Glad you like it!!!!
Great Trick, 😊
Glad you like the trick : ) : )
my brain just melted.
lol : ) : )
Thanks!
Thanks for your kind donation, pupycron!!!!!! It helps me to keep going : ) : ) : ) : )
This is a small token of my appreciation ;I feel like I owe you thousands your videos were the first ones that got me on my path in Excel and data analysis. You're an amazing teacher and resource.
@@pupycron4302 Glad to help. Thanks for the token : )
Hi Mike,great to look back sometimes, maybe there are more hidden gems in 4.0? This reminds me: did you know that Excel 5.0 was installed with a program called ms query? Keep making keyboard typos !😉
Yes, I absolutely remember ms query... I can't even remember the last time I used it. I guess before 2013 when Power Query came up. Absolutely I will keep making typos, but I can not help that lol
Thank you for the gem. You are amazing.
I have a similar scenario, I have cell references as text GENERATED from a formula like D7:Z10,D19:Z21, D45:Z48......
I need to use VSTACK to stack the ranges together without entering them individually but i get an error.
I WANT TO FEED those ranges to act like individual ranges in the formula.
How do we achieve this?
Thank you in advance for your help
The worksheet function INDIRECT takes a reference as text and converts it to a reference.
@@excelisfun Thank you for the speedy response.
I tried the INDIRECT function and it returned an error. When I searched further, I realized that the indirect function cannot work with dynamic arrays (maybe I am wrong here). When I operate on each reference one at a time, the INDIRECT function works. But when I supply these ranges (B7:Z10,B29:Z32,B51:Z54,B73:Z76,B95:Z98,B117:Z120,B139:Z142,B161:Z164,B183:Z186,B205:Z208) to the INDIRECT function, it returns an error.
I am looking for a way to convert these references stored in variable in a LET function to their values and VSTACK them one untop of the other.
Here is the formula that produces the range ( References VARIABLE) that I want to feed into the VSTACK FUNCTION
LET(
Num_of_ranges,10,
NUM_OF_COLUms,23,
num_Rows,22,
start_row,7,
step_nrows,3,
Start_rows,SEQUENCE(Num_of_ranges,,start_row,num_Rows),
end_rows,Start_rows+step_nrows,
range,"B"&Start_rows&":Z"&end_rows,
References,TEXTJOIN(",",TRUE,TRANSPOSE(range)),
result,HSTACK(Start_rows,end_rows,range),
References)
Hi mike. It doesn't work on data pulled from the table. What path can be followed
Genius!!
Pretty crazy wild trick, that is for sure!!!!
@@excelisfun yes indeed Mike. Learned something new today🙂. You are an Excel Encyclopedia.
@@anirbandas2626 I do seem to know a lot of strange things about Excel lol
Thank you. The download page is not working.
Thank you for letting me know. I just fixed file : )
Another superb lesson ! Microsoft still keeps those gems available, even if the are somehow hidden. We can think of those Macro 4.0 functions wrapped into Defined names as LAMBDA functions used by our... grandparents :-))). Sadly, there are Excel MVPs who create bad and false lessons where they declare some Excel functions as dying, or already dead, I have strongly rejected these non-sense lessons. As long as Microsoft have not disabled them from the list of available functions, and as long as many millions of people still use them for sure, they cannot be dead. With other words, how come VLOOKUP is dead, but Macro 4.0 functions released more than 30 years ago (!) are still available for everyone ? Dear Mike, please raise this topic on next Excel MVP summit, please ask those MPVs to stop these incredibly wrong lessons. Do you agree ?
They are non-sense lessons. Often people at TH-cam try to appeal to the sensational to attract the Google/TH-cam algorithm. But you are right: if the stuff is in Excel, we can use them!!! : ) : ) : ) : )
As for others, I only have control over what I do : )
What incredibly wrong lessons? What specific videos. What other MVPs? You can send e-mail to excelisfun at gmail.
Find unicode Deva script charector to change aascii vba formula please
I have zero idea how to do that. If you rephrase your statement in a clearer way, you can post to this great Excel question site: mrexcel.com/board. There are 100s of Excel masters at that site.
Would this be a way to implement a formula selected from a list? In other words, VLOOKUP or XLOOKUP used to return a formula rather than a value (in lieu of SWITCH)
I don't think so, I would just use CHOOSE or SWITCH or IF to look up formulas, if I understand your question correctly.
@@excelisfun I'll try to summarize:
A table at the top of the page shows various scenarios, let's call them A, B, C, & D in the 1st column of the table, and each of these scenarios has a corresponding formula typed in the 2nd column.
A table at the bottom of the page shows various projects, with data such as days in progress, costs, etc. Depending on the project's status (ie, scenario) you would implement the appropriate formula from the top of the page.
Since the formulas are already typed in once in that 1st table, it would be good to be able to in the 2nd table simply pick the appropriate scenario A-D from a drop down and have another cell calculate the result based on the formula assigned to that scenario.
I've tried V/XLOOKUP but it doesn't work bc it just returns the formula as text without computing it. Leads to questions on how to actually write the formula in the 1st table and how to make it change depending on the row it would ideally end up on.
What I ended up doing was build a pretty beefy SWITCH formula that didn't actually touch the 1st table.
Any thoughts on how to make that whole thing work??
@@Darkslide820 SWITCH is the way I would do it. To look up formulas, as far as I know, you must put them into the formula. At least that is the way i have always done it. This video shows the only way i know to evalaute formula from text.
Thanks Mike! Just for fun: =LAMBDA(x,y,EVALUATE("{"&SUBSTITUTE(x,y,"+")&"}"))(B6,",")
I could not implement your formula, though. I got this to work: =LAMBDA(x,y,EVALUATE(SUBSTITUTE(x,y,"+")))(!B18,",") I added the extra layer of fun LAMBDA formula you created to the download file. Thanks : ) Go Team!!!
LOL .... i remeber the early version of McAfee antivirus warning me that the Excel file contains a "Macro".
Wow - that does go way back!!! : )
How in the world....?
Just for crazy fun, I guess... ; )
🤯🤯🤯
Yes!!!!
First of all, anyone who gives you a sheet that has the data like that should be smacked, and then take away their Crayons.
Secondly, this is just bloody genius! I'm filing this one under "No freak'n way!".
.......Sorry, probably time to back off on the coffee.
That is too funny: anyone who gives you a sheet that has the data like that should be smacked, and then take away their Crayons. lol^100
You are on fire today, this is great too: I'm filing this one under "No freak'n way!". BUT, the thing is: the only way to file it, is in a manila folder in the old Oak File Cabinet lol
P.S. We do get data like this all the time!!!
@@excelisfun Ya let'em do it once. If they do it again, you start removing the letters and numbers from their keyboard when they are at lunch.
That was seriously fantastic though. I've been messing around with Excel for many years and I love it when I learn something new.
@@robrayborn1349 You are cracking me up: "a let'em do it once. If they do it again, you start removing the letters and numbers from their keyboard when they are at lunch."!!!! : ) : )
@@robrayborn1349 What were the things you learned from this video?
@@excelisfun I never knew what to do with the 'Insert' 'MS Excel 4.0 Macro'. Didn't know how to apply it. I had no idea what to do with it.
I've saved this video to my favorites and I thinking up ways I can apply this lesson.
Thanks!
You are welcome!
@@excelisfun Just a quick question. I wanted to challenge myself and make all the records from this data in a row so I did this in PowerQuerry, imported data (made a table), >SplitColumn -> Unpivot.
And this worked, but are there other "simpler" ways of transposing data in rows?
@@nikakalichava8012 If data is in cell with columns, just use Split by delimiter, Advanced and you can chose to split by column or row. I added a worksheet in download workbook for you with this example : )
@@excelisfun I NEW there would have been an easier way. Just tried it, this was the result.
= Table.TransformColumnTypes(#"Split Column by Delimiter",{{"data", Int64.Type}})
Thank you very much!!!
@@nikakalichava8012 : ) : ) : ) : )