Design Suggestion: A better way for array functions? [closed]

I'm a big fan of spreadsheets, but I've never like how spreadsheets including LibreOffice Calc handle functions with multiple cell outputs.

Here's what I imagine.

=transpose(A2:A5, B2:E2)


Where A2:A5 are the input cells and B2:E2 are the transposed output cells. I'm not sure what the cell itself should show, maybe something to indicate whether the procedure completed successfully.

or

=sort(A2:A5, B2:B5)


Where Where A2:A5 are the input cells and B2:B5 are the sorted output cells.

or maybe

=linear.regression(A2:B10, C1, C2, C3)


C1=slope, C2=intercept, C3=r²

I think this sort of design would be far more intuitive than the current standard.

edit retag reopen merge delete

Closed for the following reason question is not relevant or outdated by Alex Kemp close date 2015-11-12 15:58:05.157453

I submitted it to the bugzilla section. We'll see if it attracts any interest. (I bet those guys are already pretty busy with other parts of this project.)

( 2013-11-03 00:41:21 +0200 )edit

Thanks. Confirmed. Bug fdo#71175 is the reference.

( 2013-11-03 02:18:49 +0200 )edit

Sort by » oldest newest most voted

I agree, at least in part. I would use the term "array" in deference to "multiple output". It is also worth noting that this type of change would likely be dependent upon a change to the ODF specification, so it may not happen quickly.

The entire manner in which arrays are handled in Calc is inelegant, including the CTRL+SHIFT+ENTER entry method, the non-editable / hidden bracket / control characters nature, and non-conformant notation. I would have thought:

=TRANSPOSE({A1:B2})
=TRANSPOSE({name_of_range})


... to be more sensible and conforming with existing array notation in other languages than the current:

{=TRANSPOSE(A1:B2)}
{=TRANSPOSE(name_of_range)}


... which has to be entered in a non-standard manner. The proposed examples should be able to be entered in the usual manner i.e., using ENTER.

I'm not sure what the cell itself should show, maybe something to indicate whether the procedure completed successfully.

I think is the single biggest drawback to the method / notation indicated in the question. All current functions are entered in the cell they output to. I think so long as the main entry cell (i.e., top left) is somehow marked and the formula remains editable, that it is better to keep the required parameters as simple as possible.

Please post a link to any bugs you file in a comment below using the format "fdo#123456".

Thanks!

more