How to remove weekend days from formula to count days between two date?

We have a field on our custom approvals records module that counts the days between the start of the process to the approved date with the following formula. 

ifElse(greaterThan(strlen(toString($date_approved_c)),0),add(subtract(daysUntil($date_approved_c),daysUntil($process_start_date_c)),1),"")

how can we exclude weekends?

We have SLAs we want to put out and enforce with approval teams but knowing the data is skewed to include weekends, it doesn't seem fair to do so until we have a solve for removing weekend. Most approvals will happen within less than a day so also looking to see how to turn this into hours, then I'll need business hours. We do not have business centers in place yet either. 

Parents
  • hi  

    The formula you're after is here:

    floor(add(0.5,
    add(
    multiply(floor(divide(add(1,subtract(daysUntil(addDays($date_approved_c,365000)),daysUntil(addDays($process_start_date_c,365000)))),7)),5)
    ,
    add(
    min(
    max(0,subtract(6,ifElse(equal(dayofweek($process_start_date_c),0),7,dayofweek($process_start_date_c))))
    ,
    subtract(
    add(1,subtract(daysUntil(addDays($date_approved_c,365000)),daysUntil(addDays($process_start_date_c,365000))))
    ,
    multiply(floor(divide(add(1,subtract(daysUntil(addDays($date_approved_c,365000)),daysUntil(addDays($process_start_date_c,365000)))),7)),7)
    )
    )
    ,
    max(
    0,
    subtract(
    subtract(
    add(1,subtract(daysUntil(addDays($date_approved_c,365000)),daysUntil(addDays($process_start_date_c,365000))))
    ,
    multiply(floor(divide(add(1,subtract(daysUntil(addDays($date_approved_c,365000)),daysUntil(addDays($process_start_date_c,365000)))),7)),7)
    )
    ,
    subtract(8,ifElse(equal(dayofweek($process_start_date_c),0),7,dayofweek($process_start_date_c)))
    )
    )
    )
    )
    ))

    *Note; This will count all days, including both start and end date.

    Hope that helps,

    Vincent

    .

    CRM Business Consultant

Reply
  • hi  

    The formula you're after is here:

    floor(add(0.5,
    add(
    multiply(floor(divide(add(1,subtract(daysUntil(addDays($date_approved_c,365000)),daysUntil(addDays($process_start_date_c,365000)))),7)),5)
    ,
    add(
    min(
    max(0,subtract(6,ifElse(equal(dayofweek($process_start_date_c),0),7,dayofweek($process_start_date_c))))
    ,
    subtract(
    add(1,subtract(daysUntil(addDays($date_approved_c,365000)),daysUntil(addDays($process_start_date_c,365000))))
    ,
    multiply(floor(divide(add(1,subtract(daysUntil(addDays($date_approved_c,365000)),daysUntil(addDays($process_start_date_c,365000)))),7)),7)
    )
    )
    ,
    max(
    0,
    subtract(
    subtract(
    add(1,subtract(daysUntil(addDays($date_approved_c,365000)),daysUntil(addDays($process_start_date_c,365000))))
    ,
    multiply(floor(divide(add(1,subtract(daysUntil(addDays($date_approved_c,365000)),daysUntil(addDays($process_start_date_c,365000)))),7)),7)
    )
    ,
    subtract(8,ifElse(equal(dayofweek($process_start_date_c),0),7,dayofweek($process_start_date_c)))
    )
    )
    )
    )
    ))

    *Note; This will count all days, including both start and end date.

    Hope that helps,

    Vincent

    .

    CRM Business Consultant

Children
No Data