Forum Discussion

gaby58's avatar
gaby58
Frequent Visitor
1 year ago

Multiple If with Multiple Conditions

Hi All,

 

  Need help in creating a Custom Column. I have 2 columns and need to check values in first column, based on that I need to check values in another column, this one has multiple values, depending on each value Need to add a new value, could you please help?

 

IF([Section Stage]="Complete"or [Section Stage]="In Progress" and [DateLeft_Adjusted]="12/20/2024" or [DateLeft_Adjusted]= "10/11/2024") Then "01/07/2025") or [DateLeft_Adjusted] = "3/7/2025" or {DateLeft_Adjusted] = "5/22/2025" Then "6/5/2025"

Else

[DateLeft_Adjusted]+1

 

Thank you so much

12 Replies

  • gaby58's avatar
    gaby58
    Frequent Visitor

    Finally I got it to work

     

    if
    ([Section Stage]="Complete" or [Section Stage]="In Progress") and ([DateLeft_Adjusted] = Date.From(#date(2024,12,20)) or [DateLeft_Adjusted] = Date.From(#date(2024,10,11))) then #date(2025,1,7) else if ([DateLeft_Adjusted] = Date.From(#date(2025,3,7)) or [DateLeft_Adjusted] = Date.From(#date(2025,5,22))) then Date.From(#date(2025,6,5))
    else
    Date.AddDays([DateLeft_Adjusted], 1)

     

    Thank you all for the tips, appreciate it

  • Column = IF([Section Stage] IN {"Complete","In Progress"},
        SWITCH(TRUE(),
        [DateLeft_Adjusted] IN {"12/20/2024","10/11/2024"},"01/07/2025",
        [DateLeft_Adjusted] IN {"3/7/2025","5/22/2025"},"6/5/2025",
        [DateLeft_Adjusted]+1),
    [DateLeft_Adjusted]+1)
    • gaby58's avatar
      gaby58
      Frequent Visitor

      Thank you , but it is throwing an error at Complete saying Token ',' expected

      • lbendlin's avatar
        lbendlin
        Super User

        "Column" is a reserved word.  Try

         

        Column1 =
        IF (
            [Section Stage] IN { "Complete", "In Progress" },
            SWITCH (
                TRUE (),
                [DateLeft_Adjusted] IN { "12/20/2024", "10/11/2024" }, "01/07/2025",
                [DateLeft_Adjusted] IN { "3/7/2025", "5/22/2025" }, "6/5/2025",
                [DateLeft_Adjusted] + 1
            ),
            [DateLeft_Adjusted] + 1
        )
  • gaby58's avatar
    gaby58
    Frequent Visitor

    Thank you, Actually I used the name as Date Left not as Column and now I am seeing the Token expected error at IN near Section Stage

  • Anonymous's avatar
    Anonymous
    Not applicable

    Write it like

     

    if ([Section Stage]="Complete"or [Section Stage]="In Progress") and ([DateLeft_Adjusted]="12/20/2024" or [DateLeft_Adjusted]= "10/11/2024") then "01/07/2025" else if ([DateLeft_Adjusted] = "3/7/2025" or [DateLeft_Adjusted] = "5/22/2025") then "6/5/2025"

    else

    Text.From([DateLeft_Adjusted]+1)

    • gaby58's avatar
      gaby58
      Frequent Visitor

      Thank you, this kind of works, then in the column it throws an error

      Expression.Error: We cannot apply operator + to types Date and Number.
      Details:
      Operator=+
      Left=12/20/2024
      Right=1

       

  • Use this one:

    IF (

    ([Section Stage]="Complete" or [Section Stage]="In Progress") and ([DateLeft_Adjusted]="12/20/2024" or [DateLeft_Adjusted]= "10/11/2024")) Then "01/07/2025" else if ([DateLeft_Adjusted] = "3/7/2025" or {DateLeft_Adjusted] = "5/22/2025") Then "6/5/2025"

    Else

    [DateLeft_Adjusted]+1

    • gaby58's avatar
      gaby58
      Frequent Visitor

      Thank you, this also gives syntax error

    • gaby58's avatar
      gaby58
      Frequent Visitor

      Thank you this, it says Token Eof expected at first Then