use global variables
you can use them for both the conditional summing and for the display, they will most likely be used as a group of 4 formulas.
1 - reset the variable, usually in a group header
global numbervar nAmount :=0;
global stringbvar sDesc := "";
1 - increment (usually in the detail section) (for this example, I would suppress the detail band, as we are summarizing the transactions)
global numbervar nAmount;
global stringbvar sDesc;
//logic to determine when to increase the amount
//logic on how to create the string you want
2-display formulas (usually in the group footer)
1 like:
global numbervar nAmount;
the other like:
global stringvar sDesc;
drop the formulas in the correct bands and it should work.
HTH