Bug 170154 - Editing existing array formulas is not possible without deleting the array
Summary: Editing existing array formulas is not possible without deleting the array
Status: RESOLVED NOTABUG
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
25.8.4.2 release
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-12-28 15:13 UTC by george
Modified: 2025-12-29 13:57 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
example of not editable array formula (12.62 KB, application/vnd.oasis.opendocument.spreadsheet)
2025-12-28 22:46 UTC, george
Details

Note You need to log in before you can comment on or make changes to this bug.
Description george 2025-12-28 15:13:09 UTC
Description:
LibreOffice Calc does not allow in-place editing of existing array formulas that use modern dynamic array functions such as SORT and UNIQUE.
Any attempt to modify such an array formula (even after selecting the full array range) results in an error message, forcing the user to delete the entire array formula and recreate it from scratch.
This behavior significantly impacts usability, especially for complex formulas, and makes minor edits unnecessarily destructive and error-prone.

Steps to Reproduce:
1.Open LibreOffice Calc
2.Enter the following values in column A:
A1: Apple
A2: Orange
A3: Banana
A4: Apple
A5: Pear
A6: Banana
3.Select an empty column (for example B1 downward)
4.Enter the following array formula:
=SORT(UNIQUE(A1:A6))
5.Confirm the formula as an array formula (Ctrl+Shift+Enter if required by the LibreOffice version)
6.Select the entire resulting array range
7.Press F2 to edit the formula
8.Modify the formula, for example change it to:
=SORT(UNIQUE(A1:A6);1;-1)
9.Press Enter to apply the change

Actual Results:
LibreOffice shows an error message such as “Cannot change only part of an array” and does not allow the formula to be edited. The array must be deleted and recreated.

Expected Results:
After selecting the full array range, the user should be able to edit the array formula and apply the change without deleting the array.


Reproducible: Always


User Profile Reset: Yes

Additional Info:
In 2025/2026 this behavior feels really outdated, especially compared to competing spreadsheet tools like Google Sheets, where editing array formulas is much more straightforward and user-friendly. Modern workflows rely heavily on dynamic ranges and array formulas, and not being able to easily adjust them (expand, contract, or tweak arguments) is a serious usability problem, not just a minor inconvenience.Please consider prioritizing this issue so that users can:Edit existing array formulas directly, without having to delete and recreate them.Resize array outputs (expand/contract ranges) without losing the formula.Avoid disruptive error messages when only trying to adjust parameters or ranges.Improving array formula editing would significantly enhance Calc’s usability and make it far more competitive with other spreadsheet applications.
Comment 1 m_a_riosv 2025-12-28 22:39:46 UTC
Please attach a sample file, reduced as much as possible, without private information.

Please paste here the information in Menu>Help>About LibreOffice.

(There is an icon in the center to copy the information).
Comment 2 george 2025-12-28 22:46:27 UTC
Created attachment 204843 [details]
example of not editable array formula
Comment 3 george 2025-12-28 22:47:02 UTC
Version: 25.8.4.2 (X86_64) / LibreOffice Community
Build ID: 580(Build:2)
CPU threads: 16; OS: Linux 6.14; UI render: default; VCL: gtk3
Locale: el-GR (en_US.UTF-8); UI: en-US
Ubuntu package version: 4:25.8.4~rc2-0ubuntu0.24.04.1~lo1
Calc: threaded
Comment 4 m_a_riosv 2025-12-28 23:00:07 UTC
No issue for me.
Version: 25.8.4.2 (X86_64)
Build ID: 290daaa01b999472f0c7a3890eb6a550fd74c6df
CPU threads: 4; OS: Windows 10 X86_64 (build 19045); UI render: Skia/Raster; VCL: win
Locale: es-ES (es_ES); UI: en-US
Calc: CL threaded

Go to C1
[Ctrl]+/ to select the whole array.
[F2] or Click on formula bar.
Modify the formula, e.g. change the range.
[Ctrl+Shift+Enter] to introduce the array again.
Comment 5 george 2025-12-29 04:51:40 UTC
(In reply to m_a_riosv from comment #4)
> No issue for me.
> Version: 25.8.4.2 (X86_64)
> Build ID: 290daaa01b999472f0c7a3890eb6a550fd74c6df
> CPU threads: 4; OS: Windows 10 X86_64 (build 19045); UI render: Skia/Raster;
> VCL: win
> Locale: es-ES (es_ES); UI: en-US
> Calc: CL threaded
> 
> Go to C1
> [Ctrl]+/ to select the whole array.
> [F2] or Click on formula bar.
> Modify the formula, e.g. change the range.
> [Ctrl+Shift+Enter] to introduce the array again.

OK....

I see... the [Ctrl+Shift+Enter] was the missing piece for me. However, this process is far from intuitive. Modern software like Google Sheets or Excel allows you to simply edit the top-left cell and press Enter to see the array update automatically via "spilling." Given that it is now 2025, maintaining this Legacy Array requirement feels like a significant usability barrier for the average user. We should prioritize moving toward Dynamic Array behavior to ensure Calc remains competitive and intuitive.
Comment 6 m_a_riosv 2025-12-29 13:57:00 UTC
There are related bug enhancements, if none fits what you want, add a new one as enhancement.

https://bugs.documentfoundation.org/show_bug.cgi?id=89207