Another aggregate variation, avoiding the formula interface, which actually complicates matters in this instance:
aggregate(list(Sum=unlist(dat)), list(Group=cGroup=LETTERS[c(row(dat) + col(dat))-1]), FUN=sum) # Group Sum #1 A 8 #2 B 13 #3 C 13 #4 D 28 #5 E 10 #6 F 18 #7 G 2