=LAMBDA(Heading,ComparativeName,SubHeadings,BaseValues,ComparativeValues,Reasons,SortOrder,PlusWord,MinusWord,StatementNumberFormat,VarianceNumberFormat,Threshold,DecimalAccuracy,LET(BaseTotal, ROUND(SUM(BaseValues), DecimalAccuracy), ComparativeTotal, ROUND(SUM(ComparativeValues), DecimalAccuracy), VarianceTotal, ROUND(BaseTotal - ComparativeTotal, DecimalAccuracy), VarianceValues, ROUND(BaseValues - ComparativeValues, DecimalAccuracy), SortOrderValues, IF(ABS(SortOrder) = 2, ROUND(ABS(BaseValues - ComparativeValues), DecimalAccuracy), ROUND(BaseValues - ComparativeValues, DecimalAccuracy)), isAre, IF(RIGHT(Heading, 1) = "s", "are", "is"), TempArray, SORT(FILTER(HSTACK(VarianceValues, SortOrderValues, SubHeadings & " variance of " & TEXT((VarianceValues), VarianceNumberFormat) & IF(ISBLANK(Reasons), "", " due to " & Reasons)), ABS(VarianceValues) >= Threshold, {0,0,"N/A"}), 2, IF(SortOrder < 0, -1, 1)), ReasonList, TEXTJOIN("; ", TRUE, DROP(TempArray, , 2)), UnanalyzedTotal, VarianceTotal - ROUND(SUM(TAKE(TempArray, , 1)), DecimalAccuracy), ReasonsError, ISERROR(TAKE(TempArray, 1, 1)), IndexItem, SWITCH(TRUE, VarianceTotal = 0, 1, ABS(VarianceTotal) < Threshold, 1, ReasonsError = TRUE, 2, 3), TempStack, VSTACK(Heading & " of " & TEXT(BaseTotal, StatementNumberFormat) & " " & isAre & " " & "inline with " & ComparativeName & ".", Heading & " of " & TEXT(BaseTotal, StatementNumberFormat) & " " & isAre & " " & TEXT(VarianceTotal, VarianceNumberFormat) & " " & IF(VarianceTotal < 0, MinusWord, PlusWord) & " " & ComparativeName & ". This is driven by variances below " & TEXT(Threshold, StatementNumberFormat) & ".", Heading & " of " & TEXT(BaseTotal, StatementNumberFormat) & " " & isAre & " " & TEXT(VarianceTotal, VarianceNumberFormat) & " " & IF(VarianceTotal < 0, MinusWord, PlusWord) & " " & ComparativeName & "." & " This is driven by " & ReasonList & IF(UnanalyzedTotal = 0, ".", "; the remaning varaince of " & TEXT(UnanalyzedTotal, VarianceNumberFormat) & " relates to items below " & TEXT(Threshold, StatementNumberFormat) & ".")), CHOOSEROWS(TempStack,
The rest seems to cut off for me when i try to copy it.