diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java index c2b4c67ba..de12602e4 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java @@ -2702,4 +2702,24 @@ public final class TestBugs extends BaseTestBugzillaIssues { // Optimise HSSFOptimiser.optimiseCellStyles(workbook); } + + /** + * Intersection formula ranges, eg =(C2:D3 D3:E4) + */ + @Test + public void bug52111() throws Exception { + Workbook wb = openSample("Intersection-52111.xls"); + Sheet s = wb.getSheetAt(0); + + // Check we can read it correctly + Cell intF = s.getRow(2).getCell(0); + assertEquals(Cell.CELL_TYPE_FORMULA, intF.getCellType()); + assertEquals(Cell.CELL_TYPE_NUMERIC, intF.getCachedFormulaResultType()); + + assertEquals("(C2:D3 D3:E4)", intF.getCellFormula()); + + // Check we can evaluate it correctly + FormulaEvaluator eval = wb.getCreationHelper().createFormulaEvaluator(); + assertEquals("4.0", eval.evaluate(intF).formatAsString()); + } } diff --git a/test-data/spreadsheet/Intersection-52111.xls b/test-data/spreadsheet/Intersection-52111.xls new file mode 100644 index 000000000..835130e8b Binary files /dev/null and b/test-data/spreadsheet/Intersection-52111.xls differ