FN-HSTACK-001: A direct error stops these array functions; the same error in an array or cell is an element
Quirk · measured · recorded 2026-11-04
An error written directly as an argument of these functions is the answer for the whole call. It is not placed in the result: HSTACK(1,#VALUE!) is #VALUE!, not a row holding 1 and an error, and TAKE(#N/A,0) is #N/A. With MAP the LAMBDA does not run at all: MAP(NA(),LAMBDA(xx,IFERROR(xx,3))) is #N/A. The same error inside an array, or in a referenced cell, is an ordinary element: MAP({#N/A},LAMBDA(xx,3)) is 3, and HSTACK(Data!C1,{1;2}) with #N/A in Data!C1 is a 2 by 2 array with #N/A in its first column. TOCOL and TOROW show the difference with ignore 2: TOCOL(#N/A,2) is #N/A, while TOCOL({#N/A},2) drops the error, has nothing left, and is #CALC!. EXPAND is an exception on the cell side: EXPAND(Data!C1,2,2,"pad") is #N/A for the whole call. BYROW and BYCOL check the direct error first too: BYROW(#N/A,#VALUE!) is #N/A, while BYROW({#N/A},2), where 2 is not a LAMBDA, is #VALUE!.
| Call and input route | Inputs | Excel | Correct value | Recorded in |
|---|---|---|---|---|
=HSTACK(1,#VALUE!)formula-literal | As typed | #VALUE! | — | Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA |
=TAKE(#N/A,0)formula-literal | As typed | #N/A | — | Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA |
=MAP(NA(),LAMBDA(xx,IFERROR(xx,3)))formula-literal | As typed | #N/A | — | Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA |
=MAP({#N/A},LAMBDA(xx,3))formula-literal | As typed | 30x4008000000000000 | — | Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA |
=HSTACK(Data!C1,{1;2})cell-value2 | Data!C1: #N/A | {#N/A,1;#N/A,2} | — | Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA |
=TOCOL(#N/A,2)formula-literal | As typed | #N/A | — | Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA |
=TOCOL({#N/A},2)formula-literal | As typed | #CALC! | — | Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA |
=EXPAND(Data!C1,2,2,"pad")cell-value2 | Data!C1: #N/A | #N/A | — | Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA |
=BYROW(#N/A,#VALUE!)formula-literal | As typed | #N/A | — | Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA |
=BYROW({#N/A},2)formula-literal | As typed | #VALUE! | — | Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA |
Basis: 27 recorded readings in dynamic-array Excel, each with size observers.
Open: Competing errors in later positions have not been read in a published capture.
Evidence and capture sources
- DnaCalc · apps/dna-onecalc/tests/acceptance.rs 2d0eddcac86413014643af81d646581d54ba57bc · scalar_errors_keep_their_array_argument_origins recorded readings pinned
- DnaCalc · crates/calc-func/tests/captures/fn2_questions/oracle.capture.json 2d0eddcac86413014643af81d646581d54ba57bc · sheets fn2_q001 to fn2_q007, fn2_q031 to fn2_q042, fn2_q232 to fn2_q239 recorded readings
- DnaCalc · crates/calc-func/tests/captures/fn2_questions/oracle.capture.json 2d0eddcac86413014643af81d646581d54ba57bc · sheet fn2_q004, row 20, column 10
- DnaCalc · crates/calc-func/tests/captures/fn2_questions/oracle.capture.json 2d0eddcac86413014643af81d646581d54ba57bc · sheet fn2_q232, row 20, column 10
- DnaCalc · crates/calc-func/tests/captures/fn2_questions/oracle.capture.json 2d0eddcac86413014643af81d646581d54ba57bc · sheet fn2_q031, row 20, column 10
- DnaCalc · crates/calc-func/tests/captures/fn2_questions/oracle.capture.json 2d0eddcac86413014643af81d646581d54ba57bc · sheet fn2_q032, row 20, column 10
- DnaCalc · crates/calc-func/tests/captures/fn2_questions/oracle.capture.json 2d0eddcac86413014643af81d646581d54ba57bc · sheet fn2_q238, row 20, column 10
- DnaCalc · crates/calc-func/tests/captures/fn2_questions/oracle.capture.json 2d0eddcac86413014643af81d646581d54ba57bc · sheet fn2_q233, row 20, column 10
- DnaCalc · crates/calc-func/tests/captures/fn2_questions/oracle.capture.json 2d0eddcac86413014643af81d646581d54ba57bc · sheet fn2_q234, row 20, column 10
- DnaCalc · crates/calc-func/tests/captures/fn2_questions/oracle.capture.json 2d0eddcac86413014643af81d646581d54ba57bc · sheet fn2_q237, row 20, column 10
- DnaCalc · crates/calc-func/tests/captures/fn2_questions/oracle.capture.json 2d0eddcac86413014643af81d646581d54ba57bc · sheet fn2_q040, row 20, column 10
- DnaCalc · crates/calc-func/tests/captures/fn2_questions/oracle.capture.json 2d0eddcac86413014643af81d646581d54ba57bc · sheet fn2_q038, row 20, column 10