Bug 53966

Summary: Support of =IFERROR(VLOOKUP()) formula
Product: POI Reporter: rdubois <rdubois>
Component: POI OverallAssignee: POI Developers List <dev>
Status: RESOLVED FIXED    
Severity: enhancement    
Priority: P2    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: All   

Description rdubois 2012-10-04 15:37:48 UTC
When we try to read data from a cell, which contains:

=IFERROR(VLOOKUP())

We get this error:

Caused by: org.apache.poi.ss.formula.eval.NotImplementedException: IFERROR
at org.apache.poi.ss.formula.atp.AnalysisToolPak$NotImplemented.evaluate(AnalysisToolPak.java:40)
at org.apache.poi.ss.formula.UserDefinedFunction.evaluate(UserDefinedFunction.java:64)
at org.apache.poi.ss.formula.OperationEvaluatorFactory.evaluate(OperationEvaluatorFactory.java:129)
at org.apache.poi.ss.formula.WorkbookEvaluator.evaluateFormula(WorkbookEvaluator.java:491)
at org.apache.poi.ss.formula.WorkbookEvaluator.evaluateAny(WorkbookEvaluator.java:287)

Thanks for your support.
Comment 1 Johan Karlsteen 2012-10-22 11:59:21 UTC
(In reply to comment #0)
> When we try to read data from a cell, which contains:
> 
> =IFERROR(VLOOKUP())
> 
> We get this error:
> 
> Caused by: org.apache.poi.ss.formula.eval.NotImplementedException: IFERROR
> at
> org.apache.poi.ss.formula.atp.AnalysisToolPak$NotImplemented.
> evaluate(AnalysisToolPak.java:40)
> at
> org.apache.poi.ss.formula.UserDefinedFunction.evaluate(UserDefinedFunction.
> java:64)
> at
> org.apache.poi.ss.formula.OperationEvaluatorFactory.
> evaluate(OperationEvaluatorFactory.java:129)
> at
> org.apache.poi.ss.formula.WorkbookEvaluator.
> evaluateFormula(WorkbookEvaluator.java:491)
> at
> org.apache.poi.ss.formula.WorkbookEvaluator.evaluateAny(WorkbookEvaluator.
> java:287)
> 
> Thanks for your support.

Hi,

I have recently implemented IFERROR since we needed it for a project and my aim is to contribute this fix back to POI but I haven't had the time to do it yet.

Regards,
Johan
Comment 2 Yegor Kozlov 2012-10-23 12:11:29 UTC
You are very much welcome to contribute your implementation. 

Fell free if you need guidance how to prepare the patch. 

Yegor

(In reply to comment #1)
> (In reply to comment #0)
> > When we try to read data from a cell, which contains:
> > 
> > =IFERROR(VLOOKUP())
> > 
> > We get this error:
> > 
> > Caused by: org.apache.poi.ss.formula.eval.NotImplementedException: IFERROR
> > at
> > org.apache.poi.ss.formula.atp.AnalysisToolPak$NotImplemented.
> > evaluate(AnalysisToolPak.java:40)
> > at
> > org.apache.poi.ss.formula.UserDefinedFunction.evaluate(UserDefinedFunction.
> > java:64)
> > at
> > org.apache.poi.ss.formula.OperationEvaluatorFactory.
> > evaluate(OperationEvaluatorFactory.java:129)
> > at
> > org.apache.poi.ss.formula.WorkbookEvaluator.
> > evaluateFormula(WorkbookEvaluator.java:491)
> > at
> > org.apache.poi.ss.formula.WorkbookEvaluator.evaluateAny(WorkbookEvaluator.
> > java:287)
> > 
> > Thanks for your support.
> 
> Hi,
> 
> I have recently implemented IFERROR since we needed it for a project and my
> aim is to contribute this fix back to POI but I haven't had the time to do
> it yet.
> 
> Regards,
> Johan
Comment 3 Johan Karlsteen 2012-12-21 10:23:21 UTC
Hi Yegor,

Sorry for the late reply.

How do I prepare the patch?

Regards,
Johan

(In reply to comment #2)
> You are very much welcome to contribute your implementation. 
> 
> Fell free if you need guidance how to prepare the patch. 
> 
> Yegor
> 
> (In reply to comment #1)
> > (In reply to comment #0)
> > > When we try to read data from a cell, which contains:
> > > 
> > > =IFERROR(VLOOKUP())
> > > 
> > > We get this error:
> > > 
> > > Caused by: org.apache.poi.ss.formula.eval.NotImplementedException: IFERROR
> > > at
> > > org.apache.poi.ss.formula.atp.AnalysisToolPak$NotImplemented.
> > > evaluate(AnalysisToolPak.java:40)
> > > at
> > > org.apache.poi.ss.formula.UserDefinedFunction.evaluate(UserDefinedFunction.
> > > java:64)
> > > at
> > > org.apache.poi.ss.formula.OperationEvaluatorFactory.
> > > evaluate(OperationEvaluatorFactory.java:129)
> > > at
> > > org.apache.poi.ss.formula.WorkbookEvaluator.
> > > evaluateFormula(WorkbookEvaluator.java:491)
> > > at
> > > org.apache.poi.ss.formula.WorkbookEvaluator.evaluateAny(WorkbookEvaluator.
> > > java:287)
> > > 
> > > Thanks for your support.
> > 
> > Hi,
> > 
> > I have recently implemented IFERROR since we needed it for a project and my
> > aim is to contribute this fix back to POI but I haven't had the time to do
> > it yet.
> > 
> > Regards,
> > Johan
Comment 4 Nick Burch 2012-12-21 10:36:12 UTC
http://poi.apache.org/guidelines.html#Submitting+Patches has some guidelines, do they help?
Comment 5 Nick Burch 2012-12-28 03:34:49 UTC
Thanks, patch applied in r1426382.