if (tkn instanceof AbstractFunctionPtg) {
AbstractFunctionPtg afp = (AbstractFunctionPtg) tkn;
byte returnClass = afp.getDefaultOperandClass();
- return Ptg.CLASS_REF == returnClass;
+ //CLASS_VALUE was added as valid to support example 6 in
+ //https://support.microsoft.com/en-us/office/xlookup-function-b7fd680e-6d10-43e6-84f9-88eae8bf5929
+ return Ptg.CLASS_REF == returnClass || Ptg.CLASS_VALUE == returnClass;
}
if (tkn instanceof ValueOperatorPtg) {
return false;
HSSFCell cell = wb.getSheetAt(0).getRow(2).createCell(3);
assertDouble(fe, cell, "XLOOKUP(B3,B6:B10,E6:E10)", 75.28);
assertDouble(fe, cell, "XLOOKUP(C3,B6:B10,E6:E10)", 17.25);
- //TODO next to fix FormulaParser to get this to work
- //assertDouble(fe, cell, "SUM(XLOOKUP(B3,B6:B10,E6:E10):XLOOKUP(C3,B6:B10,E6:E10))", 110.70);
+ assertDouble(fe, cell, "SUM(XLOOKUP(B3,B6:B10,E6:E10):XLOOKUP(C3,B6:B10,E6:E10))", 110.69);
}
}