Bug 168297 - LET()
Summary: LET()
Status: RESOLVED DUPLICATE of bug 127808
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
24.8.3.2 release
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: implementationError
Depends on:
Blocks:
 
Reported: 2025-09-06 14:29 UTC by Rico
Modified: 2025-09-06 22:15 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Rico 2025-09-06 14:29:00 UTC
In LibreOffice Calc, you cannot assign ranges to LET variables if you intend to use them with INDEX or MATCH. You need to replace all range variables with OFFSET directly.


VARIABLE,CELL:INDEX(CELL:CELL,CELL) result it #VALUE!
VARIABLE, OFFSET(CELL, 0, 0, CELL, 1) result it #REF!

SOlution:
for LET() to work in libreoffice using dynamic ranges one must use the syntax " VARIABLE, INDEX(INDIRECT(HELPER_CELL)", where the helper cell content must be in text format and may be derived from a CONCAT() function.

so please document this to users OR solve this because i lost a great deal of time to do it.
Comment 1 Rico 2025-09-06 14:34:16 UTC
LibreOffice LET() limitation with dynamic ranges


LibreOffice Calc does not fully support storing OFFSET arrays inside LET variables

LET variables cannot hold raw multi-cell ranges created by OFFSET() or direct references.

Using OFFSET inside LET as an array variable in Calc does not work as expected when combined with INDEX/MATCH 

Do not try to store ranges as text and convert with INDIRECT in LET — Calc won’t allow it

SOLUTION
To use dynamic ranges in LET, you must wrap the range in an INDEX(INDIRECT(...)).
The helper cell must contain a text representation of the range
Comment 2 m_a_riosv 2025-09-06 22:15:18 UTC

*** This bug has been marked as a duplicate of bug 127808 ***