Need assistance with Resource Management formulas

Nicole J
Nicole J ✭✭✭✭
edited 08/14/24 in Formulas and Functions

I've got a sheet going that lists all of my active projects. Each project has a deadline (in its own "Deadline" column, Archives Department remaining hours (in its own "Archives Hours Remaining" column), Digitization Department's remaining hours (in its own "Digitization Hours Remaining" column), and Platform Department's remaining hours (in its own "Platform Hours Remaining" column).

I need help in knowing what columns to add and what formulas to devise in order to figure out my staffing needs by month per each of the three departments.

Thinking something along the lines of "based on the "Deadline" column and the "Archives Hours Remaining" column, how many hours would be required per month to evenly span the remaining hours between now and the deadline".

I imagine I'd need columns for each month, but would need help in the formulas and mapping of data.

Does anyone do anything like this currently, or can someone help me with these formulas?

Best Answer

  • Genevieve P.
    Genevieve P. Employee
    Answer ✓

    Hi @Nicole J

    If I'm understanding you correctly, the logic is as follows:

    • If the Remaining Hours cell is positive
    • and if the deadline cell is in the future compared to this column

    then

    • take the Total Hours, divide it by the number of working days between now and the deadline end (to get the hours per day)
    • multiply that result by the number of working days in this current month

    However,

    • If the deadline cell is the same as this column's month (and the day is in the future or today)

    then

    • return the same amount of hours (as it's all due this month)

    Is that correct? If so, you could do something like:

    =IF(AND([Remaining Hours]@row > 0, Deadline@row >= TODAY()),

    ^This looks for our two criteria: positive hours and a date in the future.

    IF(MONTH(Deadline@row) = MONTH(TODAY()), [Remaining Hours]@row,

    ^ this looks for the "However" section of my statement above. Then if the date is in the future but it's not today's month, we can move on to your original question/formula.

    So, we take the remaining hours and divide it by the Working Days between Today and the Deadline:

    ([Remaining Hours]@row / NETWORKDAYS(TODAY(), Deadline@row))

    This is where we need to customize the rest for your current Month. Let's pretend this column is for September (month 9), so we have 21 working days. If today is IN September, then we need to subtract the number of those working days that have already been completed from 21. If the Deadline is in September, then we need to only count the number of working days until that day.

    We do this by using the MONTH function to check the month number of the deadline, then use the start of the month to find out the working days until the deadline… OR if the month is another month, we just return 21:

    * (IF(MONTH(Deadline@row) = 9, NETWORKDAYS(DATE(2024, 9, 01), Deadline@row), 21)

    Now we subtract from that how many days into the month we already are:

    - IF(MONTH(TODAY()) = 9, NETWORKDAYS(TODAY(), DATE(2024, 9, 30)), 0))))

    So a full formula of:

    =IF(AND([Remaining Hours]@row > 0, Deadline@row >= TODAY()), IF(MONTH(Deadline@row) = MONTH(TODAY()), [Remaining Hours]@row, ([Remaining Hours]@row / NETWORKDAYS(TODAY(), Deadline@row)) * (IF(MONTH(Deadline@row) = 9, NETWORKDAYS(DATE(2024, 9, 01), Deadline@row), 21) - IF(MONTH(TODAY()) = 9, NETWORKDAYS(TODAY(), DATE(2024, 9, 30)), 0))))

    When you adjust this per-column, there are 4 elements that you would need to change up, based on the column name.

    The Working days based on each month:

    * (IF(MONTH(Deadline@row) = 9, NETWORKDAYS(DATE(2024, 9, 01), Deadline@row), 21) - IF(MONTH(TODAY()) = 9, NETWORKDAYS(TODAY(), DATE(2024, 9, 30)), 0))))

    And the Month Number:
    * (IF(MONTH(Deadline@row) = 9, NETWORKDAYS(DATE(2024, 9, 01), Deadline@row), 21) - IF(MONTH(TODAY()) = 9, NETWORKDAYS(TODAY(), DATE(2024, 9, 30)), 0))))

    And the DATEs used in the NETWORKDAYS functions:

    * (IF(MONTH(Deadline@row) = 9, NETWORKDAYS(DATE(2024, 9, 01), Deadline@row), 21) - IF(MONTH(TODAY()) = 9, NETWORKDAYS(TODAY(), DATE(2024, 9, 30)), 0))))

    So August would look like this:

    =IF(AND([Remaining Hours]@row > 0, Deadline@row >= TODAY()), IF(MONTH(Deadline@row) = MONTH(TODAY()), [Remaining Hours]@row, ([Remaining Hours]@row / NETWORKDAYS(TODAY(), Deadline@row)) * (IF(MONTH(Deadline@row) = 8, NETWORKDAYS(DATE(2024, 8, 01), Deadline@row), 22) - IF(MONTH(TODAY()) = 8, NETWORKDAYS(TODAY(), DATE(2024, 8, 31)), 0))))

    Let me know if this is what you were looking for!
    Cheers,
    Genevieve

    Join us at Smartsheet ENGAGE 2024 🎉
    October 8 - 10, Seattle, WA | Register now

Answers

  • Nicole J
    Nicole J ✭✭✭✭
    edited 07/29/24

    Scratch the above.

    I've got columns for "Deadline" "Remaining Hours" and then for monthly "FTE's needed" (a different column for each month from "now into the future".

    I'm hoping to come up with a unique formula inside of each of the "monthly columns" that basically equals "how many hours are needed to be worked within each month IF we spread out each line item's remaining hours between "today and the deadline".

    I hope this makes a bit more sense.

    Oh, and if the "remaining hours" is in the negative, than this negative hours shouldn't be counted/tracked nor should items that have "deadlines" in the past..

    Thoughts?

  • Genevieve P.
    Genevieve P. Employee
    Answer ✓

    Hi @Nicole J

    If I'm understanding you correctly, the logic is as follows:

    • If the Remaining Hours cell is positive
    • and if the deadline cell is in the future compared to this column

    then

    • take the Total Hours, divide it by the number of working days between now and the deadline end (to get the hours per day)
    • multiply that result by the number of working days in this current month

    However,

    • If the deadline cell is the same as this column's month (and the day is in the future or today)

    then

    • return the same amount of hours (as it's all due this month)

    Is that correct? If so, you could do something like:

    =IF(AND([Remaining Hours]@row > 0, Deadline@row >= TODAY()),

    ^This looks for our two criteria: positive hours and a date in the future.

    IF(MONTH(Deadline@row) = MONTH(TODAY()), [Remaining Hours]@row,

    ^ this looks for the "However" section of my statement above. Then if the date is in the future but it's not today's month, we can move on to your original question/formula.

    So, we take the remaining hours and divide it by the Working Days between Today and the Deadline:

    ([Remaining Hours]@row / NETWORKDAYS(TODAY(), Deadline@row))

    This is where we need to customize the rest for your current Month. Let's pretend this column is for September (month 9), so we have 21 working days. If today is IN September, then we need to subtract the number of those working days that have already been completed from 21. If the Deadline is in September, then we need to only count the number of working days until that day.

    We do this by using the MONTH function to check the month number of the deadline, then use the start of the month to find out the working days until the deadline… OR if the month is another month, we just return 21:

    * (IF(MONTH(Deadline@row) = 9, NETWORKDAYS(DATE(2024, 9, 01), Deadline@row), 21)

    Now we subtract from that how many days into the month we already are:

    - IF(MONTH(TODAY()) = 9, NETWORKDAYS(TODAY(), DATE(2024, 9, 30)), 0))))

    So a full formula of:

    =IF(AND([Remaining Hours]@row > 0, Deadline@row >= TODAY()), IF(MONTH(Deadline@row) = MONTH(TODAY()), [Remaining Hours]@row, ([Remaining Hours]@row / NETWORKDAYS(TODAY(), Deadline@row)) * (IF(MONTH(Deadline@row) = 9, NETWORKDAYS(DATE(2024, 9, 01), Deadline@row), 21) - IF(MONTH(TODAY()) = 9, NETWORKDAYS(TODAY(), DATE(2024, 9, 30)), 0))))

    When you adjust this per-column, there are 4 elements that you would need to change up, based on the column name.

    The Working days based on each month:

    * (IF(MONTH(Deadline@row) = 9, NETWORKDAYS(DATE(2024, 9, 01), Deadline@row), 21) - IF(MONTH(TODAY()) = 9, NETWORKDAYS(TODAY(), DATE(2024, 9, 30)), 0))))

    And the Month Number:
    * (IF(MONTH(Deadline@row) = 9, NETWORKDAYS(DATE(2024, 9, 01), Deadline@row), 21) - IF(MONTH(TODAY()) = 9, NETWORKDAYS(TODAY(), DATE(2024, 9, 30)), 0))))

    And the DATEs used in the NETWORKDAYS functions:

    * (IF(MONTH(Deadline@row) = 9, NETWORKDAYS(DATE(2024, 9, 01), Deadline@row), 21) - IF(MONTH(TODAY()) = 9, NETWORKDAYS(TODAY(), DATE(2024, 9, 30)), 0))))

    So August would look like this:

    =IF(AND([Remaining Hours]@row > 0, Deadline@row >= TODAY()), IF(MONTH(Deadline@row) = MONTH(TODAY()), [Remaining Hours]@row, ([Remaining Hours]@row / NETWORKDAYS(TODAY(), Deadline@row)) * (IF(MONTH(Deadline@row) = 8, NETWORKDAYS(DATE(2024, 8, 01), Deadline@row), 22) - IF(MONTH(TODAY()) = 8, NETWORKDAYS(TODAY(), DATE(2024, 8, 31)), 0))))

    Let me know if this is what you were looking for!
    Cheers,
    Genevieve

    Join us at Smartsheet ENGAGE 2024 🎉
    October 8 - 10, Seattle, WA | Register now

  • Nicole J
    Nicole J ✭✭✭✭

    Thank you, Genevieve.

Help Article Resources

Want to practice working with formulas directly in Smartsheet?

Check out the Formula Handbook template!