How to Calculate YTD (Year to Date) Values in Excel using the SCAN function

Поділитися
Вставка
  • Опубліковано 16 лип 2024
  • Join 400,000+ professionals in our courses here 👉 link.xelplus.com/yt-d-all-cou...
    A common task for finance professionals is to create YTD (Year-To-Date) calculations in Microsoft Excel. Usually these formulas can get quite complex. You might use a combination of SUMPRODUCT and OFFSET. In this video I'll show you a solution using the new Excel SCAN function. We create a flexible YTD function so that you can easily adjust for fiscal months. If you get more data, the Year to date calculations automatically update.
    ⬇️ Download the workbook here: pages.xelplus.com/scan-functi...
    Discover how to:
    ⩥ Use the SCAN function for simple to-date calculations, allowing formulas to automatically spill down without manual dragging.
    ⩥ Integrate LAMBDA functions with SCAN for custom calculations, enabling you to process data with precision.
    ⩥ Dynamically calculate YTD values, adjusting for new calendar years within your data set to reset accumulations accurately.
    ⩥ Apply practical examples with sales data to see the SCAN function in action, demonstrating both to-date and YTD calculations.
    ⩥ Adjust for fiscal calendars, showing how to modify the formula for different fiscal year starts, ensuring versatility across various accounting periods.
    We'll combine the SCAN, LAMBDA and Excel OFFSET functions to create a (simple) formula that dynamically updates your results and resets whenever it crosses a year-end.
    Note: The SCAN function is available in Microsoft 365.
    🌍 My Online Excel Courses ► www.xelplus.com/courses/
    00:00 Calculate YTD Balances Dynamically in Excel
    00:41 How to Calculate To-Date With the SCAN Function
    02:42 How the Excel SCAN Function Works
    03:59 How to Calculate Year-To-Date With the SCAN Function
    07:53 Wrap Up
    🎬 LINKS to related videos:
    Excel LAMBDA Function: • Excel LAMBDA - HOW & W...
    Excel OFFSET Function: • Excel OFFSET Function ...
    🎒 Get the Official XelPlus MERCH: xelplus.creator-spring.com/
    🎓 Not sure which of my Excel courses fits best for you? Take the quiz: www.xelplus.com/course-quiz/
    📚 Excel RESOURCES I Recommend: www.xelplus.com/resources/
    🎥 GEAR I use: www.xelplus.com/resources/#gear
    More resources on my Amazon page: www.amazon.com/shop/leilagharani
    Let’s connect on social:
    Instagram: / lgharani
    Twitter: / leilagharani
    LinkedIn: / leilagharani
    Note: This description contains affiliate links, which means at no additional cost to you, we will receive a small commission if you make a purchase using the links. This helps support the channel and allows us to continue to make videos like this. Thank you for your support!
    #excel

КОМЕНТАРІ • 237

  • @LeilaGharani
    @LeilaGharani  5 місяців тому +1

    Grab the file I used in the video from here 👉 pages.xelplus.com/scan-function-file

  • @HeatherMajors
    @HeatherMajors 2 роки тому +20

    This is more complex than anything I am currently using excel for but I love these videos. When I do need to get back into Excel I know I can come right back to these videos and refresh my mind.

  • @rigelabanes699
    @rigelabanes699 2 роки тому +3

    YOU ARE HEAVEN SENT!!! I wish you have an Excel book for ordinary Joes like me.

  • @JHatLpool
    @JHatLpool Місяць тому

    Nice, clear demonstration. Thanks !

  • @cdyard1
    @cdyard1 2 роки тому +5

    I love these videos about the new functions even if I'm unable to use them (or even to understant how they work).

  • @LarsHHoog
    @LarsHHoog 2 роки тому +26

    I'd simply put a pivot table next to the table and use sum and running total options

  • @stevenlwi1072
    @stevenlwi1072 29 днів тому

    Leila, thanks for all the great videos.
    Just to answer your question on alternative ways to calculate YTD balance, I would have used the following formula
    =IF(MONTH([@Month])=1,0,OFFSET([@YTD],-1,0))+[@Sales]
    Or, the rows are not sorted, then will use Sumifs
    =SUMIFS([Sales],[Month],"=" & DATE(YEAR([@Month]),1,1))

  • @tifouraamina1761
    @tifouraamina1761 2 роки тому +1

    Honestly, the lamda function is my favourite 😊thanks Leila you're the best

  • @awesh1986
    @awesh1986 2 роки тому +1

    Leila you make these complex problems so easy. You are just awesome

  • @pedroemanuelrebelo2182
    @pedroemanuelrebelo2182 2 роки тому

    These tips are awesome. In a "simple" way we have this information without more. Congratulations on clarity.

  • @SolidSnake59
    @SolidSnake59 2 роки тому +1

    Thank you. I like when you are taking excel formulas to the next level.

  • @crp7062
    @crp7062 Рік тому

    Excellent explanation of SCAN. I am an old-school LISP programmer. I am so glad that finally functional programming has arrived in Excel. Thus I prefer single-cell formulas. Thanks to your video I can add SCAN to my kit of powerful tools.

  • @HoppiHopp
    @HoppiHopp 2 роки тому

    This was extremely helpful. Thanks to scan plus lambda I was able to calculate values adding up per month and finally finding the month with the highest value without pivot and fully dynamic.

  • @PopeLando
    @PopeLando Рік тому

    I needed a way to reference another cell not via a fixed reference but a way of calculating whichever other cell I needed. Google did not find the OFFSET function for me, and it's exactly what i was looking for, so thank you!

  • @g.muthukumar
    @g.muthukumar 2 роки тому

    For Finally Scan function is used for Cumulative calculation, I love this formula, Thanks for your videos
    😊

  • @andrewcharlesmoss
    @andrewcharlesmoss 2 роки тому +10

    This is really impressive!

  • @drsteele4749
    @drsteele4749 2 роки тому

    Leila, this is a monumentally powerful function! I'm trying to get it to determine streaks in a list, like winning streaks for sports teams or stock markets.

  • @pauldadzie6991
    @pauldadzie6991 2 роки тому

    Best channel ever!!!! I actually got a promotion using all your videos and improving my office skills. I can't thank you enough.

    • @LeilaGharani
      @LeilaGharani  2 роки тому

      Wow, that's great to hear! Congrats on the promotion, Paul!

  • @yogibearstie
    @yogibearstie 2 роки тому

    Thank you. This will be useful, once released, for a 26 year monthly Excel I maintain to have running FYTD. Actually even more used for FYTD since it is everywhere.

  • @alanlamb6047
    @alanlamb6047 2 роки тому +12

    For some calculations, the LAMBDA approach offers some real benefits
    In this instance, I would prefer the YTD to be calculated in the original sales table:
    Add a new calculated column (YTD) in the Sales table
    =IF(MONTH([@Month])=1,[@Sales],[@Sales]+INDEX([YTD],ROW([@Sales])-ROW(Sales[[#Headers],[Sales]])-1,1))
    Essentially it says, if month is Jan, use sales, otherwise add sales to prior YTD total
    Alternatively
    =SUMPRODUCT((YEAR(INDEX([Month],1,1):[@Month])=YEAR([@Month]))*INDEX([Sales],1,1):[@Sales])
    Note, INDEX([Month],1,1):[@Month] is the range from the first row to the current row

  • @krn14242
    @krn14242 2 роки тому +1

    Thanks Leila, great explanation.

  • @sasavienne
    @sasavienne 2 роки тому

    Simply amazing.
    Stunning.
    Thank you

  • @irajabaly
    @irajabaly 2 роки тому

    wonderful helpful function and best quality course . Thank you lovely and talented Leila

  • @wayneedmondson1065
    @wayneedmondson1065 2 роки тому

    Hi Leila. Great example of how to use SCAN and LAMBDA to create a useful result for a real world challenge! Thanks for sharing :)) Thumbs up!!

  • @martinilopez1
    @martinilopez1 7 місяців тому

    your knowledge is from another world! hahaha thank you lei :)

  • @dontown1531
    @dontown1531 2 роки тому

    Wow! Another new function. As MS only update the Whats New on Fridays I got to find out a day early. I've been using Excel since 1993 (ver.5) Always something to learn. Thanks for this ❤

  • @cenevspeed
    @cenevspeed 2 роки тому +5

    My Diwali just became a bit more knowledge-packed! The explanation you gave at 2:46 was just perfect. It reminded me of the Fibonacci Sequence but the 2nd number is hidden :o. I really like your thumbnail (gotta learn from yours). The offset function was new to me... Thanks!

  • @chrism9037
    @chrism9037 2 роки тому +1

    Excellent thanks Leila!

  • @KrishnaKumar-zn9kg
    @KrishnaKumar-zn9kg 2 роки тому

    Very nice. Opens up immense possibilities.

  • @a.achirou6547
    @a.achirou6547 7 місяців тому

    Excellent. Thank you Leila !!

  • @modalities
    @modalities 2 роки тому

    Very impressive explanation Leila. I have the beta on my home PC, and looking forward to an update at work.

  • @emmafeng55
    @emmafeng55 2 роки тому +1

    I can see that I need to replace some of my formulas for existing files. Thanks Leila!🥰

  • @xcellent38
    @xcellent38 2 роки тому

    Thank you for sharing with us the news!

  • @GarthShaner
    @GarthShaner 2 роки тому

    Ok, that is super slick! As always, thanks for the awesome tutorial!

  • @shashibhusanpandit7188
    @shashibhusanpandit7188 2 роки тому

    I like when you are taking excel formulas to the next level.
    Leila Gharani

  • @GeertDelmulle
    @GeertDelmulle 2 роки тому +5

    Leila, there's no need for the "0*a+b"-trick, just putting "b" in the last argument will work just fine for the reset:
    =SCAN(0,Sales[Sales],LAMBDA(a,b,IF(MONTH(OFFSET(b,,-1))1,a+b,b)))

    • @LeilaGharani
      @LeilaGharani  2 роки тому +2

      Smart! Thanks for sharing Geert! 🙌

  • @irfandaud7380
    @irfandaud7380 2 роки тому

    Tried, working , great solution.

  • @karimelhamy8425
    @karimelhamy8425 Рік тому

    I am so sad I only found you lately ; you are my excel superhero 🎉

  • @dlep9221
    @dlep9221 2 роки тому +1

    Leila you are an Excel formula magician! 😄

    • @Yachid
      @Yachid 2 роки тому +1

      Leila~, the Excel Goddess!

  • @brianfoster6605
    @brianfoster6605 2 роки тому

    Thank you! I see daily use for this, but I need to drill down deeper. Example: 20 different sales people within each month. YTD for the salesperson. I’m certain I can get there eventually.

  • @sachinrv1
    @sachinrv1 2 роки тому +2

    Thanks Leila for this brilliant video. Viewers should first watch your OFFSET and LAMBDA video to get the context; then they can move to this video. Love form India, Happy Diwali and wish you and your loved ones healthy and prosperous year ahead !

  • @forgetittube5882
    @forgetittube5882 2 роки тому +30

    Another wonderful function that no one except a small subset of “insiders” can try out. This one depends on lambda, which over an year after announced, still haven’t reached all insiders, forget anyone else.
    So far, vaporware at’s worst.

    • @davidferrick
      @davidferrick 2 роки тому +1

      Agree completely, very frustrating all the insider features that I want to get my hands on and still not available.

    • @LeilaGharani
      @LeilaGharani  2 роки тому +3

      Agree - It's frustrating when it take so long for them to roll out.

    • @robertbenz8260
      @robertbenz8260 2 роки тому +1

      Its worse than vaporware. I got v2110 64bit and lambda let alone this scan function are no where to be found. Yet Microsoft has done something with the calculation engine - what I don't know. I do know that the calculation engine as measured by the time to calculate a sheet of Excel past version v1908 is over a 100 times slower, so darn slow that in my VBA application I must force the sheet manual calculate, otherwise after a minute or two of a sheet being updated with data the Excel hangs then suddenly crashes.? I had to revert many a workstation back to an older version until I finally figured out that MS has jacked up the calculation engine (apparently for the new yet to be released functions), disabling the autocalculate. As for Lambda, seems like a capability that would be better suited in VBA?

  • @kebincui
    @kebincui 11 місяців тому

    Wonderful tutorial 👍🌹❤

  • @SyedMuzammilMahasanShahi
    @SyedMuzammilMahasanShahi 2 роки тому

    Thanks for this amazing tutorial.

  • @nonoobott8602
    @nonoobott8602 2 роки тому

    Thanks so much Leila for this video. I better understand how the new SCAN function works with this use case

  • @fermbizzfermdiggity6790
    @fermbizzfermdiggity6790 2 роки тому

    Never knew about this SCAN function. Maybe in the near future I can use this. I need to create a list of possible functions with a link to her vids. Thank you!

  • @markus_aurelius_888
    @markus_aurelius_888 2 роки тому

    Thanks, really useful 👍

  • @gvinodnair
    @gvinodnair 2 роки тому +1

    Brilliant 🤟🏼

  • @sherlockholmes6256
    @sherlockholmes6256 2 роки тому

    Thanks for this help me so much, good video 👍👍👍👍👍

  • @shashankjain9482
    @shashankjain9482 Рік тому +1

    U always have something that i am seeking for.

  • @keishrich
    @keishrich 2 роки тому

    Yeah! Another great function to use for model building. ,😃

  • @metimeMaths
    @metimeMaths 2 роки тому +2

    Nice information 👍

  • @dhiyaneshwarchess12Pro
    @dhiyaneshwarchess12Pro 2 роки тому +1

    Fabulous video!🤗🤗🤗🤗

  • @komanguy
    @komanguy 2 роки тому

    Excellent video. Looks like DOSUBS function of my hp48G!

  • @rajsahu1029
    @rajsahu1029 Рік тому

    Nice function

  • @umesh2403
    @umesh2403 11 місяців тому

    Good one❤

  • @hansklein3649
    @hansklein3649 2 роки тому

    Actually is working with functions like lambda not so complicated in case, you don't lose yourself by defining the variables or under functions, which should cooperate with each other. It is so satisfying to see how the values change when their source gets updated.

  • @kmanoj392
    @kmanoj392 2 роки тому

    Very good

  • @jorgebotao9700
    @jorgebotao9700 2 роки тому

    excellent

  • @nafiurpial7209
    @nafiurpial7209 2 роки тому

    Interesting!

  • @merbouni
    @merbouni 2 роки тому

    Excellent 👌

  • @shahzadhussain6824
    @shahzadhussain6824 2 роки тому

    You are wonderful mam ❤️❤️❤️❤️

  • @DemetriPanici
    @DemetriPanici 2 роки тому +4

    I've seen some tutorials on this and think it's a pretty amazing function!

  • @samanthadaroga4811
    @samanthadaroga4811 Рік тому

    Quite interesting

  • @xloneclick
    @xloneclick 2 роки тому

    Thanks for this clear explanation but a little complex. maybe easier by VBA.

  • @WarrenGuan
    @WarrenGuan Рік тому

    Just come across this scan functio when I press =S in a cell. Nice video.

  • @BigDadio1967
    @BigDadio1967 2 роки тому

    I have good number of sheets I will be updating to include this function. Thanks for the insight!

  • @christoslefkimiotis9889
    @christoslefkimiotis9889 2 роки тому

    I really try to understand the reason for using functions very few will understand. Unless is for personal and only use when you build something for your manager, a colleague etc they need to understand what they are looking. The lambda λ function or the scan function etc despite being a powerful tool to the hands of a developer they can easily put off the ultimate user of a file. All these functions are powerful and versatile but must be addressed and presented (by Microsoft not you of course) in a more understandable and appealing way to the general public. Nice video.

    • @LeilaGharani
      @LeilaGharani  2 роки тому

      Thanks for your feedback, Christos!

  • @Marcin2824
    @Marcin2824 2 роки тому

    amazing

  • @abdelkrimmesaiahmed662
    @abdelkrimmesaiahmed662 2 роки тому +2

    If the dates are in column A and Sales are in column B this formula will work perfectly
    SUM(IF(YEAR($A$2:A2)=YEAR(A2),($B$2:B2)))

    • @jazzista1967
      @jazzista1967 2 роки тому +1

      Very nice solution Abdelkrim MESAI AHMED if you don't have the SCAN function. I do have it and tried in a fake data set and used an alternative solution from Rico S a few posts above Thanks for sharing

    • @LeilaGharani
      @LeilaGharani  2 роки тому +2

      If you don't have a table then yes. In this case we have data organized in a table - so the advantage of a using a function that spills is the result is automatically updated once we get new data without pulling down the formula. But of course this is just one way among many.

  • @Jill_Liu
    @Jill_Liu Рік тому

    Thanks Leila for your great explaination, it is will be an alternative for fixed asset depreciation calculation. right?

  • @andrewwerner5992
    @andrewwerner5992 2 роки тому

    XLOOKUP could replace offset if each monetary value only occurs once in the 'Sales' column. Or better yet provide the 'Month' column instead of the 'Sales'. and everywhere you use 'b' in the LAMBDA formula, replace it with an XLOOKUP in the other direction

  • @MrSahilspm
    @MrSahilspm Рік тому

    this is awesome and very interesting. I have only one query can this scan function worked horizontal also?

  • @Giovanni-vx8xl
    @Giovanni-vx8xl 2 роки тому

    Thanks for yet again a usefull video i! do you have a video about basic DAX Power BI pls? thanks Giovanni

  • @WebberJason
    @WebberJason 2 роки тому +7

    Great intro to SCAN thanks Leila!
    For those without / nervous about SCAN, one could also try something like:
    =SUMIFS(sales,dates=DATE(YEAR(@dates),1,1))
    Need to check my syntax but I think that general idea should work for YTD figures.

  • @raoarif9529
    @raoarif9529 6 місяців тому

    ❤nice

  • @kashmoney1
    @kashmoney1 2 роки тому +1

    Happy Diwali Leila!🎉🥰

  • @MuhammadAmir12358
    @MuhammadAmir12358 2 роки тому

    I have just ❤️ to pass you 👍👍👍

  • @Phoenixspin
    @Phoenixspin Рік тому

    "Aren't really for everyone" - so honest.

  • @mikaya2008
    @mikaya2008 11 місяців тому

    Great video, well explained. Unfortunately, I cannot get it to work in a Table. You use it adjacent to the Table, but I don't see it being used like that in practice.

  • @mahmoudradwan6388
    @mahmoudradwan6388 2 роки тому

    I like you so much 😊

  • @thamilanban
    @thamilanban 2 роки тому

    Thanks Leila. Is this released intending to make the recursive lambda easy?

  • @paulmartin4894
    @paulmartin4894 10 місяців тому

    @Leila Gharani, I'm having trouble finding more complex uses of SCAN. Have you covered SCAN further? Or know of where I can find more complex examples?

  • @edersilvarodrigues
    @edersilvarodrigues 2 роки тому

    Obrigado 🥰🥰🥰🥰🥰🥰🥰🥰

  • @anthonyjoe6275
    @anthonyjoe6275 2 роки тому

    Wonderful function.... ...more then that beautiful voice u have..... lucky boyfriend or husband.
    Hey this is Anthony Joe Indian live from Fiji Island 🤟

  • @sane7263
    @sane7263 2 роки тому +1

    We can use Index+Sequence function instead offset

  • @allistairjoseph8169
    @allistairjoseph8169 2 роки тому

    Since it's getting close to the end of the year how about some tips on how to layout yearly reports

  • @rubenwelten7300
    @rubenwelten7300 Рік тому +2

    Not feeling super comfy with LAMBDA yet. Although not perfect I managed to find a solution to replace the OFFSET function.
    New updated formula would look like this: =SCAN(0,Sales[Sales],LAMBDA(a,b,IF(MONTH(INDEX(Sales[Month],ROW(b)-1))1,a+b,b)))
    Please let me know if you found a better solution! 😉

    • @paulmartin4894
      @paulmartin4894 10 місяців тому

      That's great, just the sort of solution I'm looking for (without OFFSET). Not perfect? I don't know how to improve it.😀

  • @taizoondean689
    @taizoondean689 2 роки тому

    Really great but lamda is difficult can you please prepare one more video on Lamda. Have watched your Video on Lamda but was little difficult....... please if you can 🙏

  • @venkatasivakrishnaabburi3633
    @venkatasivakrishnaabburi3633 7 місяців тому

    Ho to deal the situation where our arrays are horizontal spreading to multiple monthly ans yearly columns. Are we able to achieve the yearly sums through dynamic formulas. I find difficulties using dynamic arrays when we have months and years data.

  • @vesaruusunen5685
    @vesaruusunen5685 2 роки тому +1

    I wonder why MS doesn't include status of these new functions in MS roadmap. It would be more easy to follow when something is rolling out for everyone. Now I just need to keep list of what I have heard and check if that has reached me.

  • @balarajen7428
    @balarajen7428 2 роки тому

    Hi Leila, I would like to know that how to send emails from "get a row from excel" in power automate but from multiple rows.. pls guide.. thanks in advance

  • @philwongnz
    @philwongnz 2 роки тому

    Long time fan of your channel, as a financial modeller and I had been working with Excel for nearly 20 years your vids are great!
    I am still trying to figure out SCAN formula, but personally for the sake of spill, can't we put the YTD column in a table and let it spill by simply summing up what the top value is and have an IF statement to check if it's Jan (or whatever the year starts) before summing? Is great to learn new formulas but I think we are over engineering something which IMHO relatively simple. Also a lot of people don't know how to use LAMDA (or even have it yet) so a lot of the time I have to get around problems with old school methods as my clients' Excel varies.

    • @LeilaGharani
      @LeilaGharani  2 роки тому +1

      Thanks Phillip - agree. One advantage of using a function that spills is that you write it once and it automatically updates once we have new data added to our table.

    • @philwongnz
      @philwongnz 2 роки тому

      @@LeilaGharani thanks for replying, but that's what I mean. If we put both the input data and the formulas in the same table (I will put the formula on the right just like you), if the input data has more rows, the formulas on the right will spill to reach to the same ending row as the input data. As an extra measure (I was working at a spreadsheet risk project) I would colour code the cells which has formulas to indicate they are not inputs just so the user knows not to touch or over write them. I use this setup up all the time and then further manipulatie my data by referencing the table as a range so my ranges in the referencing formulas will update, e.g. You don't need to do 1:10000 rows for an xlookup when you can reference the table column, so it should speed up your model as we only looking up rows we need.

  • @Htheory419
    @Htheory419 2 роки тому

    I am not sure it is simplier but without lambda fonction and (unfortunately?) without Table you can use: SUM(B$2:B2*--(YEAR(A$2:A2)=YEAR(A2)))
    with A the column of dates and B the values of sales (or whatever). Without Table you have to drag it till your last line or the entire column ...

  • @eriklehman3175
    @eriklehman3175 2 роки тому

    this is off topic regarding the video. i would like to know if it's at all possible to to drag and drop a file path (like a link) without having to navigate to the file and going through multiple directories to get to the file i want.

  • @chh8860
    @chh8860 2 роки тому +7

    At the 7:56 mark " ... Honestly ... I'm not sure these Lambda Helper functions are for everyone ...". WHEW!!! 😵🥴.
    I knew I was in BIG trouble when 'Lambda' appeared in equation. My initial reaction was " ... oh gawd ... 😬 ... as my palms got sweaty and I could feel heart palpitations. A mug of hot coffee (on a cold Maryland morning) only made it worse.
    Once again, I loved the ease with which Leila gracefully glides through the presentation. But I will stick with @Sum while anchoring the first cell, and (hope to) figure out an @IF function to address the new year (which I think Leila taught us once before ... I think ... 🤔).

    • @LeilaGharani
      @LeilaGharani  2 роки тому +3

      These functions are definitely not for everyone - me included 😁

    • @BHhaaf
      @BHhaaf 2 роки тому

      You can always use IF(MONTH(A2)1,E2+B2,B2) and then drag the function down. I believe the only thing this function improves is the need to drag the function down, right?

    • @pmlover1810
      @pmlover1810 2 роки тому +1

      @@BHhaaf good question, yeah I think she mentioned the function will spill the formula for you. But I like your alternate solution lol

  • @ProfectusLearning
    @ProfectusLearning 2 роки тому +1

    Nice demo of scan function. But what happens when someone sorts the data such that months are not in ascending order anymore? To fully exploit the potential of DAs we need functions that are not affected by order of data. I would prefer to do this with a recursive Lambda or a N*N matrix transformation (although it would result in lot of redundancies)

    • @paulfelce8757
      @paulfelce8757 Рік тому

      Use the sort function on the data before the scan?

  • @nichirenbuddhism
    @nichirenbuddhism Рік тому

    Does this work across i.e. can I get it to spill across?

  • @farzinm2870
    @farzinm2870 2 роки тому

    hi could you tell me how to scan ducoment in execl and add link of ducoment to cell
    I wnat to when I push scan command bottom start scanner to work and scan my document
    thanks

  • @abdulsaidmkamara7305
    @abdulsaidmkamara7305 2 роки тому

    Wow 😯, do u give excel classes ?? 🙈🙈🙈🔥🔥🔥🔥