STOP using nested IF statements! Use these functions instead.

Поделиться
HTML-код
  • Опубликовано: 23 ноя 2024

Комментарии • 61

  • @IvanCortinas_ES
    @IvanCortinas_ES Месяц назад +4

    SWITCH and IFS are 2 underrated functions and sometimes I would say even unknown to many users.
    Great explanation Mark.

    • @ExcelOffTheGrid
      @ExcelOffTheGrid  Месяц назад +1

      Thanks Ivan - when IF is so will known, most people won't look for alternative solutions.

  • @osoriomatucurane9511
    @osoriomatucurane9511 23 дня назад

    Awesome tutorial on conditional statment. I finally got the hang of the last default argument in the IFS().
    The switch() is smarter, with shorter syntax. The expression to be evaluated is at back stage, and is restricted to logical operator "=", and this results in the formula being less readible and not intuitive!
    My first encounter with the Vlookup() was immediately taken as alternative to the nested if(), specially when dealing with interval/ranked values.
    At the end the lookup table solution appears to be undisputable winner from the maintenance stand point.

  • @stevenlagoe7808
    @stevenlagoe7808 8 дней назад

    Excellent video! So clearly explained even I understood it! 😁

  • @aisolutionsindia7138
    @aisolutionsindia7138 Месяц назад +3

    i donrt remember when was the last time i used if in excel, for example the application mentioned here can be better managed by creating a separate table of master data for discount values and then use a lookup formula.

  • @erikguzik8204
    @erikguzik8204 Месяц назад +1

    for those of us that learned spread sheet (pre MS Office) - in Visi-Calc, we didn't have the IF function, we had the lookup function to use. So many people want to assign letter grades you know the old scale 90-100 = A. 80-89 = B..... and so on, the lookup function is perfect for this scenario. Nested IF functions are a mess and really should be avoided. too hard to troubleshoot. Great Video again.

  • @B1897forzajuve
    @B1897forzajuve Месяц назад +2

    SWITCH with TRUE is one my favorite combos.

  • @leerv.
    @leerv. Месяц назад +1

    The third option is smart. I guess I keep commenting about data theory on your videos, Mark, but I think a good lesson to remember is that there is no rule that says you have to accomplish everything in one table, especially not if it means you have a formula filled with magic numbers!

  • @ennykraft
    @ennykraft Месяц назад +4

    For the sake of completeness, I would also give CHOOSE a mention. It wouldn't work with your example since it can't handle text but in some instances it's very handy. The other day I wanted a GROUPBY that will extract the month from a date and then sort them in the correct order. Since there will never be more values added, I used SWITCH.

    • @ExcelOffTheGrid
      @ExcelOffTheGrid  Месяц назад +3

      Yes, CHOOSE is an option where numbers are involved. But I would probably still revert to SWITCH.

  • @aliab2201
    @aliab2201 Месяц назад +1

    Big thanks Mark! looking forward for the next informative video.

  • @bbotzong
    @bbotzong Месяц назад +1

    Thanks, Mark. Another informative video. Well Done!!!

    • @ExcelOffTheGrid
      @ExcelOffTheGrid  Месяц назад

      Thanks Bill - I’m glad you found it useful.

  • @SimplyDigitalLK
    @SimplyDigitalLK Месяц назад

    Very good video. And very nice topic to discuss!! A lot of people use if and spend hours to do complicated nested IF fuctions, while really - there are just simple solutions. For me, im basicaly nesting one IF as maximum. And thats mostly for cells that are not part of any table. So i only need result once. In any other case, the lookop table solution is for sure more flexible and easier to do. + You can do xlookap for smaller / higher values too which is one of the greatest options there !!

  • @vishnupp5944
    @vishnupp5944 22 дня назад

    Thanks a lot

  • @chrism9037
    @chrism9037 Месяц назад +1

    Nice video Mark!

  • @ramilaquino5350
    @ramilaquino5350 Месяц назад

    Hi! Mark Please upload a video of LET() in all its glory. Thank you!

  • @Rice0987
    @Rice0987 Месяц назад +1

    That parentheses at the end of multiple IF looks like wide smile :))))))))

    • @ExcelOffTheGrid
      @ExcelOffTheGrid  Месяц назад +1

      At least that is one positive.
      Or it could be 1 smile, a chin and 8 double chins 😁

  • @kebincui
    @kebincui Месяц назад +1

    Brilliant❤,thanks Mark

  • @iansmith8195
    @iansmith8195 Месяц назад +1

    Excellent video as usual!
    I'm sharing it and asking all my colleagues to subscribe!
    Can you show ALT-ENTER when typing your formulas... (spaces too!)
    That's a game changer for many Excel users. (it was for me, and everyone I've shown it to).

  • @Excelambda
    @Excelambda Месяц назад +5

    Great Video !!
    SWITCH is "locked" to a single value and a single comparison op "="
    IFS can be a sequence of independent expressions that are checked for TRUE => any comparison operation, any formula or function that checks for TRUE ✌
    (There are tricks tho to use SWITCH as IFS ..=SWITCH(TRUE, )
    (Downside of IFS, we can not include an exit condition for a recursive function in IFS, will deliver #NUM error, should be good old regular IF formula)

    • @ExcelOffTheGrid
      @ExcelOffTheGrid  Месяц назад +1

      That is very true. In that scenario, I would revert to the =SWITCH(TRUE,...) option.
      I didn't know about the recursive issue with IFS - that's quite a niche find. Good work.

    • @williamarthur4801
      @williamarthur4801 Месяц назад +1

      Re exit condition , that is why i rarely if ever use it, I'd rather nest or use SWITCH which i tend to use with
      true by default even when not necessary.

    • @Excelambda
      @Excelambda Месяц назад +1

      ​@@williamarthur4801 ✌😉 SWITCH(TRUE, ... or any SWITCH still can not include an exit condition for an recursive function. 3 simple tests for simplest recursive functions that count, define this rec functions:
      RSW=LAMBDA(n,[i],SWITCH(TRUE,i

  • @hasanmohammadtareq89
    @hasanmohammadtareq89 Месяц назад +1

    Impressive!

  • @gurvindersingharora5301
    @gurvindersingharora5301 Месяц назад +2

    Hello Sir,
    Please upload videos on M Language from beginners to Advanced on your channel !

  • @timwu-CMC-599T
    @timwu-CMC-599T Месяц назад +1

    I would use the LOOKUP function.

    • @ExcelOffTheGrid
      @ExcelOffTheGrid  Месяц назад

      LOOKUP requires the list to be in ascending order, so would make me feel a little nervous that I might make an error.

  • @joselencinamalgor6548
    @joselencinamalgor6548 Месяц назад +1

    Great Xlookup solution. Thanks.!!!😄 Why I didnt think!!, but if you have range values to select de % which recommend? (100 - 200) 10%

    • @ExcelOffTheGrid
      @ExcelOffTheGrid  Месяц назад +1

      XLOOKUP can handle range lookups - so that’s achievable.

    • @RA-rh5lb
      @RA-rh5lb 7 дней назад

      @@ExcelOffTheGrid do you have any videos on Xlookup for the range scenarios? I have this doubt too

  • @Al-Ahdal
    @Al-Ahdal Месяц назад +1

    Mark please provide a good explanation on first using FILTER function and on that FILTER function as it will return a table and on that table using SUMIFS function, please advise on that.

    • @ExcelOffTheGrid
      @ExcelOffTheGrid  Месяц назад

      If you’re using SUMIfS on the result of a FILTER function, then you’re doing something wrong. I can’t think is a scenario where that would ever been a good idea.
      I suggest you spend more time understanding FILTER and array behaviour.

    • @Al-Ahdal
      @Al-Ahdal Месяц назад

      @@ExcelOffTheGrid Can I use Groupby or Pivotby functions on a result of FILTER instead of SUMIFS? Please advise Mark.

    • @Al-Ahdal
      @Al-Ahdal Месяц назад

      I did it through Groupby using choosecols and filter to get this done correctly.

  • @gonzuic
    @gonzuic Месяц назад +1

    Hi Mark, thank you for sharing this information…
    Talking about performance, which scenario do you recommend?
    Gracias, saludos.

    • @ExcelOffTheGrid
      @ExcelOffTheGrid  Месяц назад +1

      For performance, I don't have a bit preference either way. If it became an issue, I would try them all and see if it makes any significant difference.

    • @HowToExcelBlog
      @HowToExcelBlog Месяц назад +1

      @@ExcelOffTheGrid Unfortunately, IFS and SWITCH calculate ALL the conditions/results whereas IF stops calculating after the first TRUE. I discovered this while trying to figure out why my recursive LAMBDA was working with IF but not with IFS.

    • @HowToExcelBlog
      @HowToExcelBlog Месяц назад +1

      CHOOSE is also efficient like IF, it only calculates the item chosen

  • @chiragdabhi4929
    @chiragdabhi4929 Месяц назад +1

    Pls make video xlookup between ranges ...-20 to -10 ; -10 to 0; 0 to 10 ;10 to 20; > 20 like that

  • @lpanades
    @lpanades Месяц назад

    Make all sense!

  • @RichardJones73
    @RichardJones73 Месяц назад +1

    Can you do one for power query? Why it didn't use switch already is baffling to me, especially as it's in power bi?

    • @ExcelOffTheGrid
      @ExcelOffTheGrid  Месяц назад +1

      Power Query is tricky as there is no SWITCH function... but there are some interesting options. Maybe I should do a video - good idea.

  • @maciejkaron7479
    @maciejkaron7479 Месяц назад +1

    Thank you! Is it possible to use LEFT function with XLookup as a Lookup Value? I want to retreive only 5 digits not a whole sentence.

    • @ennykraft
      @ennykraft Месяц назад +3

      Yes. Your lookup value can be a formula. Just make sure that the kind of values you look for are are the same type. LEFT results in a text. If the lookup table has stored them as numbers you will get an #VALUE? error message. What you would need in this case is XLOOKUP(LEFT(A,5)+0,lookup column, return column). +0 (or *1) will convert the result into a number. You could also use the VALUE function.

    • @ExcelOffTheGrid
      @ExcelOffTheGrid  Месяц назад

      Thanks for answering. Good thought about numbers vs text - I probably would have forgotten that.

    • @osoriomatucurane9511
      @osoriomatucurane9511 23 дня назад

      ​@@ennykraftthank u for sharing this one. When nesting or manipulation functions, we always need to pay attention not only to the arguments/inputs, but also to the expect result/output (single value, range, data type,.....)

  • @Quidisi
    @Quidisi Месяц назад

    My gripe with IFS is that it evaluates the entire formula, even if the first argument returns TRUE - whereas nested IF statements will stop evaluating as soon as TRUE is encountered.
    No big deal on most spreadsheets , but can really eat up CPUs on huge sheets with complex logical formulas.
    My experience, IF is less CPU intensive, and quicker. Thus I've stopped using IFS :(

    • @ExcelOffTheGrid
      @ExcelOffTheGrid  Месяц назад +1

      That's interesting - I've never had spreadsheets so big that I've noticed a significant impact.
      My first thought is why have you got so many IF functions, sounds like data shaping before loading into Excel might help speed things up.

  • @stanTrX
    @stanTrX Месяц назад +1

    ❤❤❤

  • @RA-rh5lb
    @RA-rh5lb 7 дней назад

    This is my master sheet where Days Range
    31 0-30
    61 31 - 60
    91 61 - 90
    121 91 - 120
    120 120 and above
    i tried xlookup for =XLOOKUP(AC2,Sheet1!A:A,Sheet1!B:B,0) where AC2 HAS VALUE 400 AND i PROVIDED THIS FUNCTION IN AD2 =XLOOKUP(AC2,Sheet1!A:A,Sheet1!B:B,0) AND I GOT 0
    THEN I CHANGED THE VALUE OF AC2 120
    Number of days Aging bucket
    120 120 and above
    WHAT IF I HAVE A CONDITION WHERE I NEED TO USE
    >31 0-30
    >61 31 - 60
    91 61 - 90
    121 91 - 120
    120 120 and above

  • @ledow119
    @ledow119 Месяц назад +1

    Im wondering if you accept paid excel solutions requests

    • @ExcelOffTheGrid
      @ExcelOffTheGrid  Месяц назад +1

      Thanks for asking. Not at present; we've got a long course and consultancy backlog, so we're not taking anything else on at the moment.