I have a function to do exactly this. It creates the 'shift' that you mention by manipulating the row index numbers of a matrix in its sparse format (details of the format can be found in the documentation for the SPARSE function). The result when converted back to normal form, with the FULL function, is a new matrix with one row for every antidiagonal. Finally it is a simple matter to sum the rows of this new matrix.
start AntiDiagSum( x );
nr = nrow( x );
nc = ncol( x );
s = sparse( x );
s[ , 2] = s[ , 2] + s[ , 3] - 1;
return( full( s , nr + nc - 1, nc )[ , +] );
finish;
/* get example 3x5 matrix */
a = shape(1:15, 3, 5);
print a;
/* required sums are from the 2nd to 5th antidiagonals */
b = AntiDiagSum(a)[2:5];
print b;