Ну, доступ к данным производится через StringGrid.Cells[I,J]. Соответсвенно, нужны вложенные циклы. Ну и не забыть, что в ячейке может не быть данных (ячейки имеют тип String, соответсвенно, надотданные конвертировать).
Вот пример подсчета суммы ячеек. Мин и Макс по образу сам сделаешь.
(предполагаем, что в ячейках целые числа)
Код:
var
I, J : Integer;
S : Integer;
begin
S := 0;
For I := 0 To StringGrid1.RowCount-1 Do
For J := 0 To StringGrid1.ColCount-1 Do
Try
S := S + StrToInt(StringGrid1.Cells[I,J]);
Except
// do nothing
End;
ShowMessage('Сумма = ' + IntToStr(S));
end;
PS. Под отладчиком могут возникать ошибки, если не удастся конвертировать данные ячейки в число. Просто пускай дальше. Если запускать не из под отладчика, то ошибок видно не будет.
PPS. Не помню точно какая координата (колонки или столбца) должна идти первой при обращении к ячейке - проверь по справке.