The GitHub Actions job "Java CI with Ant" on poi.git/trunk has succeeded. Run started by GitHub user pjfanning (triggered by pjfanning).
Head commit for run: 8c39881fdc4452d8628ac7e7537542830e2faa08 / PJ Fanning <[email protected]> XLOOKUP: accept an array expression such as (B2:B11=G2)*(C2:C11=G3) as lookup_array (#1299) https://bz.apache.org/bugzilla/show_bug.cgi?id=70145 The "multiple criteria" idiom =XLOOKUP(1,(B2:B11=G2)*(C2:C11=G3),D2:D11) returned #VALUE!. Whether an operator with an area operand is evaluated element-wise (array mode) is decided in WorkbookEvaluator by looking for the function that will consume its result and checking it for the ArrayMode marker. That lookahead only recognised built-in functions: XLOOKUP is a "future function" invoked through the external-function FuncVarPtg, so the comparisons were reduced to the single value for the formula's row and XLOOKUP received a scalar 0/1 instead of a column. WorkbookEvaluator now walks the remaining RPN tokens tracking the position of the operator's result on the evaluation stack, so it finds the operation that actually consumes the result (nested calls no longer confuse it) and, for an external function, resolves the user-defined function from the FunctionNameEval already on the stack. XLookupFunction is marked ArrayMode. Co-authored-by: Claude Opus 5 <[email protected]> Report URL: https://github.com/apache/poi/actions/runs/35367785318 With regards, GitHub Actions via GitBox --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
