You are setting an incorrect formula. The IF function accepts three arguments and you are passing four:
http://office.microsoft.com/en-us/excel-help/if-function-HP010069829.aspx?CTT=5&origin=HA010277524 Yegor On Fri, Jan 27, 2012 at 10:38 AM, dpront <[email protected]> wrote: > Hi, > > > Is this a bug from POI or a limitation of the API? I am trying to insert > a formula on a formula cell type but I am getting an error saying that "Too > many arguments to function 'IF'. At most 3 were expected but got 4." > > The full stack trace is: > > > Exception in thread "main" > org.apache.poi.ss.formula.FormulaParseException: Too many arguments to > function 'IF'. At most 3 were expected but got 4. > at > org.apache.poi.ss.formula.FormulaParser.validateNumArgs(FormulaParser.java:1018) > at > org.apache.poi.ss.formula.FormulaParser.getFunction(FormulaParser.java:975) > at > org.apache.poi.ss.formula.FormulaParser.function(FormulaParser.java:939) > at > org.apache.poi.ss.formula.FormulaParser.parseNonRange(FormulaParser.java:558) > at > org.apache.poi.ss.formula.FormulaParser.parseRangeable(FormulaParser.java:517) > at > org.apache.poi.ss.formula.FormulaParser.parseRangeExpression(FormulaParser.java:268) > at > org.apache.poi.ss.formula.FormulaParser.parseSimpleFactor(FormulaParser.java:1119) > at > org.apache.poi.ss.formula.FormulaParser.percentFactor(FormulaParser.java:1079) > at > org.apache.poi.ss.formula.FormulaParser.powerFactor(FormulaParser.java:1066) > at > org.apache.poi.ss.formula.FormulaParser.Term(FormulaParser.java:1426) > at > org.apache.poi.ss.formula.FormulaParser.additiveExpression(FormulaParser.java:1526) > at > org.apache.poi.ss.formula.FormulaParser.concatExpression(FormulaParser.java:1510) > at > org.apache.poi.ss.formula.FormulaParser.comparisonExpression(FormulaParser.java:1467) > at > org.apache.poi.ss.formula.FormulaParser.Arguments(FormulaParser.java:1051) > at > org.apache.poi.ss.formula.FormulaParser.function(FormulaParser.java:936) > at > org.apache.poi.ss.formula.FormulaParser.parseNonRange(FormulaParser.java:558) > at > org.apache.poi.ss.formula.FormulaParser.parseRangeable(FormulaParser.java:517) > at > org.apache.poi.ss.formula.FormulaParser.parseRangeExpression(FormulaParser.java:268) > at > org.apache.poi.ss.formula.FormulaParser.parseSimpleFactor(FormulaParser.java:1119) > at > org.apache.poi.ss.formula.FormulaParser.percentFactor(FormulaParser.java:1079) > at > org.apache.poi.ss.formula.FormulaParser.powerFactor(FormulaParser.java:1066) > at > org.apache.poi.ss.formula.FormulaParser.Term(FormulaParser.java:1426) > at > org.apache.poi.ss.formula.FormulaParser.additiveExpression(FormulaParser.java:1526) > at > org.apache.poi.ss.formula.FormulaParser.concatExpression(FormulaParser.java:1510) > at > org.apache.poi.ss.formula.FormulaParser.comparisonExpression(FormulaParser.java:1467) > at > org.apache.poi.ss.formula.FormulaParser.unionExpression(FormulaParser.java:1447) > at > org.apache.poi.ss.formula.FormulaParser.parse(FormulaParser.java:1568) > at > org.apache.poi.ss.formula.FormulaParser.parse(FormulaParser.java:176) > at > org.apache.poi.hssf.model.HSSFFormulaParser.parse(HSSFFormulaParser.java:72) > at > org.apache.poi.hssf.usermodel.HSSFCell.setCellFormula(HSSFCell.java:601) > at > com.ExcelHandler.V2_2.ExcelWriter.createFormula(InsertRecord.java:955) > at > com.ExcelHandler.V2_2.ExcelWriter.insertBatchRecord(ExcelWriter.java:99) > at com.ExcelHandler.V2_2.ExcelWriter.main(ExcelWriter.java:303) > > I've tried to convert the .xls file into a .xlsm just in case that the > issue lies within HSSF only but XSSF throws the same exception. > > > Thanks. > > > -- > View this message in context: > http://apache-poi.1045710.n5.nabble.com/Creating-Formula-with-multiple-IF-statement-tp5434673p5434673.html > Sent from the POI - User mailing list archive at Nabble.com. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
