Effectively, any of the office 365 equations *IFS do not seem to dynamically update when new information is presented in the range, they stick to the first answer given and then just repeat. The real formula is quite long and it works well enough (though I'm sure there are faster ways). I have pasted it below for reference, but my question is about only a small part of this monstrosity.
=IF(U24=0,IF(BK24="","","NO PRIORITY"),IF(MINIFS(B:B,AG:AG,AG24)=U24,WORKDAY('2-Week'!$AH$31,0),IF(SMALL(B:B,2)=U24,WORKDAY(VLOOKUP(1,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,3)=U24,WORKDAY(VLOOKUP(2,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,4)=U24,WORKDAY(VLOOKUP(3,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,5)=U24,WORKDAY(VLOOKUP(4,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,6)=U24,WORKDAY(VLOOKUP(5,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,7)=U24,WORKDAY(VLOOKUP(6,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,8)=U24,WORKDAY(VLOOKUP(7,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,9)=U24,WORKDAY(VLOOKUP(8,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,10)=U24,WORKDAY(VLOOKUP(9,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,11)=U24,WORKDAY(VLOOKUP(10,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,12)=U24,WORKDAY(VLOOKUP(11,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,13)=U24,WORKDAY(VLOOKUP(12,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,14)=U24,WORKDAY(VLOOKUP(13,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,15)=U24,WORKDAY(VLOOKUP(14,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,16)=U24,WORKDAY(VLOOKUP(15,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,17)=U24,WORKDAY(VLOOKUP(16,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,18)=U24,WORKDAY(VLOOKUP(17,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,19)=U24,WORKDAY(VLOOKUP(18,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,20)=U24,WORKDAY(VLOOKUP(19,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),"FALSE+19")))))))))))))))))))))
This question focuses on the "NO PRIORITY" part at the top. Basically the formula grabs scheduling data for three different employees depending on a variety of criteria. The "NO PRIORITY" part of the formula refers to a case when an assigned task to a specific employee does not have any priority specified. This part works just fine. If I drop in MAXIFS(BM:BM,U:U,">0",AG:AG,AG24) instead of "NO PRIORITY" the formula correctly finds the last prioritized scheduled item finish date, BM21 in this case, and schedules in the first non-prioritized item with the correct finish date in BM24. Great. The problem is when I have a second non-prioritized item to be scheduled. In this case, the next cell down happens to be same employee but it could occur anywhere further down the list. Examining the formula in the next cell down, the item to be scheduled is also not prioritized, the formula snippit in that row would be MAXIFS(BM:BM,U:U,">0",AG:AG,AG25) and I would expect to get the finish date is BM24 as that was just solved in the cell above. But I don't. I get the value in BM21 again.
It is very consistent result with all employees on scheduling in the first non-prioritized task. The last prioritized scheduled finish date would be different for each employee, and each one get the correct first non-prioritized schedule item regardless of where it is in the worksheet. The second one for any given employee just repeats the last prioritized finish date.
I have tried helper columns, aggregate, max if, filter max, but no matter what I try the formula sticks to the first maxifs found and repeats. I feel like this would probably be an array formula (which I try to avoid *maintenance) which I tried to do in the helper column but the online version of excel office 365 does not seem to support CSE (Control-Shift-Enter) formulas so I cannot presently test it.
Even if the solution is too bizarre to attempt or would offer little to no help to anyone else i.e. not worth the time; simply by understanding why maxIFS and the other flavors do not seem to dynamically update would be quite helpful. A work-around or a solution to be the brass ring.
Many thanks for any and all comments in advance.
=IF(U24=0,IF(BK24="","","NO PRIORITY"),IF(MINIFS(B:B,AG:AG,AG24)=U24,WORKDAY('2-Week'!$AH$31,0),IF(SMALL(B:B,2)=U24,WORKDAY(VLOOKUP(1,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,3)=U24,WORKDAY(VLOOKUP(2,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,4)=U24,WORKDAY(VLOOKUP(3,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,5)=U24,WORKDAY(VLOOKUP(4,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,6)=U24,WORKDAY(VLOOKUP(5,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,7)=U24,WORKDAY(VLOOKUP(6,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,8)=U24,WORKDAY(VLOOKUP(7,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,9)=U24,WORKDAY(VLOOKUP(8,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,10)=U24,WORKDAY(VLOOKUP(9,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,11)=U24,WORKDAY(VLOOKUP(10,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,12)=U24,WORKDAY(VLOOKUP(11,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,13)=U24,WORKDAY(VLOOKUP(12,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,14)=U24,WORKDAY(VLOOKUP(13,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,15)=U24,WORKDAY(VLOOKUP(14,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,16)=U24,WORKDAY(VLOOKUP(15,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,17)=U24,WORKDAY(VLOOKUP(16,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,18)=U24,WORKDAY(VLOOKUP(17,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,19)=U24,WORKDAY(VLOOKUP(18,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),IF(SMALL(B:B,20)=U24,WORKDAY(VLOOKUP(19,U:BM,45,FALSE),1,DropDowns!$F$2:$F$10),"FALSE+19")))))))))))))))))))))
This question focuses on the "NO PRIORITY" part at the top. Basically the formula grabs scheduling data for three different employees depending on a variety of criteria. The "NO PRIORITY" part of the formula refers to a case when an assigned task to a specific employee does not have any priority specified. This part works just fine. If I drop in MAXIFS(BM:BM,U:U,">0",AG:AG,AG24) instead of "NO PRIORITY" the formula correctly finds the last prioritized scheduled item finish date, BM21 in this case, and schedules in the first non-prioritized item with the correct finish date in BM24. Great. The problem is when I have a second non-prioritized item to be scheduled. In this case, the next cell down happens to be same employee but it could occur anywhere further down the list. Examining the formula in the next cell down, the item to be scheduled is also not prioritized, the formula snippit in that row would be MAXIFS(BM:BM,U:U,">0",AG:AG,AG25) and I would expect to get the finish date is BM24 as that was just solved in the cell above. But I don't. I get the value in BM21 again.
It is very consistent result with all employees on scheduling in the first non-prioritized task. The last prioritized scheduled finish date would be different for each employee, and each one get the correct first non-prioritized schedule item regardless of where it is in the worksheet. The second one for any given employee just repeats the last prioritized finish date.
I have tried helper columns, aggregate, max if, filter max, but no matter what I try the formula sticks to the first maxifs found and repeats. I feel like this would probably be an array formula (which I try to avoid *maintenance) which I tried to do in the helper column but the online version of excel office 365 does not seem to support CSE (Control-Shift-Enter) formulas so I cannot presently test it.
Even if the solution is too bizarre to attempt or would offer little to no help to anyone else i.e. not worth the time; simply by understanding why maxIFS and the other flavors do not seem to dynamically update would be quite helpful. A work-around or a solution to be the brass ring.
Many thanks for any and all comments in advance.