Вот так элегантнее, т.к. подсчет идет налету:
Код:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
Var Row: Integer;
Summ: Extended;
Table: TStringGrid;
begin
Table := TStringGrid(Sender);
if ACol = Table.FixedCols - 1 then Exit;
Summ := 0;
for Row := Table.FixedRows to Table.RowCount - 2
do Summ := Summ + StrToFloatDef(Table.Cells[ACol,Row], 0);
if Table.Cells[ACol,Table.RowCount - 1] <> FloatToStr(Summ)
then Table.Cells[ACol,Table.RowCount - 1] := FloatToStr(Summ);
end;