Collabora Office HSTACK: Horizontal Arrays, Shapes and Padding
Append matrix blocks horizontally with row-position alignment, explicit missing-value padding and source-checked argument limits. Scoped to the new Linux desktop source build.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
HSTACK places arrays beside one another in argument order. Its output has the sum of the input widths and the maximum input height. It preserves row positions; it does not search for matching identifiers or merge records by a key.
Syntax and argument handling
=HSTACK(Array; Array_1; ...)
One array is sufficient. Additional arrays are optional in the sense that you can stop the argument list. The checked evaluator rejects an explicitly missing argument, such as the empty slot in HSTACK(A2:B4;;D2:D4), with its internal IllegalParameter error. The help’s generic optional-argument wording should therefore not be treated as permission to insert empty slots in this build.
The function accepts array values or ranges that can be converted to matrices. The examples use explicit small cell ranges and English names with semicolon separators. No maximum safe practical array size is inferred from registration limits.
Step by step: append a calculated amount column
Enter these complete input blocks:
| Row | A: ID | B: Quantity | D: Amount | F: Region |
|---|---|---|---|---|
| 2 | 101 | 8 | 80 | North |
| 3 | 102 | 5 | 50 | South |
| 4 | 103 | 9 | 90 | outside the selected F2:F3 range |
The F4 annotation is explanatory; do not enter it as part of either selected input. The first calculation is:
=HSTACK(A2:B4;D2:D4)
Its independently constructed result is a 3-row by 3-column matrix:
101 8 80
102 5 50
103 9 90
Rows 2, 3 and 4 retain their positions, and the D values appear after the two A:B columns. Reversing arguments to =HSTACK(D2:D4;A2:B4) produces rows [80,101,8], [50,102,5], [90,103,9]. HSTACK does not infer that an ID column should come first.
Unequal heights and error padding
For =HSTACK(A2:B4;F2:F3), the left block is 3×2 while the right is 2×1. Output shape is 3×3:
101 8 North
102 5 South
103 9 #N/A
The help explicitly illustrates #N/A padding, and the source places FormulaError::NotAvailable in missing positions. That final entry is an error value, not the literal text “#N/A,” a blank or zero. It indicates that the shorter input has no corresponding row.
Reversing the arguments moves the padding to the first column of the last row. A one-argument =HSTACK(A2:B4) retains the original 3×2 data. These are source-derived matrix expectations, not recorded application output.
Advanced: build a four-column reporting block
=HSTACK(A2:B4;D2:D4;F2:F3) produces a 3×4 result. Its last row is [103,9,90,#N/A]. The width calculation is 2+1+1, and the missing region remains visible instead of being converted into a plausible value.
Before combining independent extracts, verify that their row order actually describes the same records. Equal heights would not detect a shuffled amount column. For example, placing 90 beside ID 101 would be a different record association, even though the dimensions remained valid. An identifier-based lookup or reconciliation is a separate operation.
Use an error fallback only after deciding whether a missing region is acceptable. Replacing every error indiscriminately can conceal source errors as well as intentional padding; HSTACK itself supplies no custom padding argument.
Array workflow and troubleshooting
The versioned help describes array-formula entry and a Ctrl+Shift+Enter hint. This guide verifies the evaluator’s matrix content and shape only. It does not establish that shortcut, automatic spill behavior, resizing or overwrite protection in the new Qt desktop interface. A displayed scalar alone would not prove the complete array.
Check selected range heights and widths, argument order and missing slots. Source-cell formatting is not a demonstrated formatting-merge contract. The function copies values into a new result; the examples do not claim that it modifies or sorts the original ranges.
Product scope, version and evidence
This guide concerns the new Collabora Office desktop for Linux, mapped by its Flathub manifest to source build coda-26.04.4.3-1, commit 81339d176148d0d5c81ff05d82540f58f8aaa117. It uses Collabora Office 26.04 HSTACK help and the exact evaluator source, checked October 18, 2026. The vendor’s desktop release announcement and the Linux package manifest provide product context; the latter is a mutable publication, not an installed-binary attestation.
Examples are independent calculations and source traces. No Collabora runtime or calculation engine was executed, and no native screenshot or array-entry workflow is claimed. This narrow evidence does not certify Classic, Online, CODE, mobile, Windows or macOS behavior. The original Collabora introduction release is unknown; upstream release history is not substituted for it.
The help identifies COM.MICROSOFT.HSTACK and states that the function is outside OpenFormula 1.3. This is a format-compatibility caution, not a deprecation or retirement notice. File export, import and recalculation in another product were not tested.