I'm just trying to get a handle on how much data entry is involved in the
day-to-day use of this spreadsheet. So, is it right to assume that the
spreadsheet consists of a large number of 'entries' (rows?), each with a
fixed number of columns, like a typical database table? New data is added by
creating one or more new entries (rows)? The calculation crunches through
all of the entries in the database to produce some sort of report?
All correct, yes.
Since you say you don't need graphics, the main function of the GUI
would seem to be data entry.
The input data is of independent interest in the final report as well.
Excel makes it straightforward to create new entries, view the
associated output data, and so forth. Up to the point the SIZE of the
thing got so out of hand, Excel really was a perfectly sensible choice.
If adding new entries to the database means entering a fixed number of
data for each new entry, then it's easy to imagine creating an input
dialog with PHP or some Python GUI toolkit. If a new entry might
consist of a variable amount of data (perhaps, results from a variable
number of experiments or clinical trials), then the input dialog would
be more complicated.
The latter case would be more accurate.
It's hard for me to picture any of these guys coding an interface, but I
will take the suggestion seriously.
So far, though, my growing impression is that a database really is the
way to go. A number of people have suggested 4D, of which I was only
vaguely aware. I'll need to have a close look at its scripting
capabilities, but it does look like a very promising possibility.
You have hit the nail, I think. Matlab and Igor (which I use some
myself) could handle the processing just fine, but as you say are not
really designed nor suited to handling the input data gracefully
nor generating reports. I've never used R, but my first impressions is
that it isn't, either. Will dig deeper, though.
I really do appreciate the great input coming in. It's been very
informative, and a good solution for them is going to come out of this.