First time posting, but I'm at my wits end.
I have a workbook with about 8,000 rows, but it's bogged down by several fields containing nested, conditional statements. (sumifs,averageifs,countifs) So, trying to migrate to PowerPivot, but have no experience working with PowerPivot. Found similar SUMIFS conversions at
and
but the nesting functions just seem to be tripping me up. Spent the first half of the day on it and, so far, this is the best I've got. Please save me from myself. Thanks!
IFERROR(
IF([Savings_TYPE]="[E]",
IF(OR([Savings_DATE]<NOW()-30,
Calculate(Sum([Realized Savings]),ALL(PMO_TEST_View_1,[Project_ID_FK],[Savings_DATE]>0)),
Calculate(Sum([Realized Savings]),ALL(PMO_TEST_View_1,[Project_ID_FK],[Savings_DATE]))),
IF(OR([Current_Status]="complete",
[Current_Status]="Cancelled",
[Current_Status]="on hold",
[Current_Status]="delete"),0,
IF(AND(
IFERROR(
Calculate(average([Realized Savings]),[Project_ID_FK],[Savings_DATE]>=NOW()-100,[Savings_DATE]<NOW())=0,0),
Calculate(COUNTROWS(([Discounted Savings]),Filter(PMO_TEST_View_1,[Discounted Savings]=EARLIER([Project_ID_FK]&&[Savings_DATE]>=NOW()-100,[Savings_DATE]<NOW())>1),0,
MIN([Discounted Savings],
IFERROR(Calculate(average([Realized Savings],ALL([Project_ID_FK],[Savings_DATE]>=NOW()-100,[Savings_DATE]<NOW(),[Realized Savings]<>0)),1000000000))))),0),0)
The following already works in Excel.
=IFERROR(
IF([@[Savings_TYPE]]="[E]",
IF(OR([@[Savings_DATE]]<NOW()-30,
SUMIFS([Realized Savings],[Project_ID_FK],[@[Project_ID_FK]],[Savings_DATE],[@[Savings_DATE]])>0),
SUMIFS([Realized Savings],[Project_ID_FK],[@[Project_ID_FK]],[Savings_DATE],[@[Savings_DATE]]),
IF(OR([@[Current_Status]]="complete",
[@[Current_Status]]="Cancelled",
[@[Current_Status]]="on hold",
[@[Current_Status]]="delete"),0,
IF(AND(
IFERROR(AVERAGEIFS([Realized Savings],[Project_ID_FK],[@[Project_ID_FK]],[Savings_DATE],">="&NOW()-100,[Savings_DATE],"<"&NOW())=0,0),
COUNTIFS([Discounted Savings],">0",[Project_ID_FK],[@[Project_ID_FK]],[Savings_DATE],">="&NOW()-100,[Savings_DATE],"<"&NOW())>1),
0,MIN([@[Discounted Savings]],
IFERROR(AVERAGEIFS([Realized Savings],[Project_ID_FK],[@[Project_ID_FK]],[Savings_DATE],">="&NOW()-100,[Savings_DATE],"<"&NOW(),[Realized Savings],"<>0"),1000000000))))),0),0)