The bottom two can be done with calculations such as these:
if [Grp]="Mail" then [Spend] else -[Spend] END
if [Grp]="Mail" then [Visits] else -[Visits] END
But the aggregate calculation with countd will not return a 1 since it is doing a countd on total across the entire data set and will return a 7, or a negative 7 in the case of this example. I do not have a quick solution for the countd one though.