Class AverageIf
- java.lang.Object
-
- org.apache.poi.ss.formula.functions.AverageIf
-
- All Implemented Interfaces:
FreeRefFunction
public class AverageIf extends Object
Handler for singular AverageIf which has different operand handling than the generic AverageIfs version.
-
-
Field Summary
Fields Modifier and Type Field Description static FreeRefFunction
instance
-
Constructor Summary
Constructors Constructor Description AverageIf()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ValueEval
aggregateMatchingCells(org.apache.poi.ss.formula.functions.Baseifs.Aggregator aggregator, AreaEval sumRange, AreaEval testRange, org.apache.poi.ss.formula.functions.CountUtils.I_MatchPredicate mp)
protected static AreaEval
convertRangeArg(ValueEval eval)
protected org.apache.poi.ss.formula.functions.Baseifs.Aggregator
createAggregator()
ValueEval
evaluate(ValueEval[] args, OperationEvaluationContext ec)
protected boolean
hasInitialRange()
Implementations must be stateless.
-
-
-
Field Detail
-
instance
public static final FreeRefFunction instance
-
-
Method Detail
-
evaluate
public ValueEval evaluate(ValueEval[] args, OperationEvaluationContext ec)
- Specified by:
evaluate
in interfaceFreeRefFunction
- Parameters:
args
- the pre-evaluated arguments for this function. args is nevernull
, nor are any of its elements.ec
- primarily used to identify the source cell containing the formula being evaluated. may also be used to dynamically create reference evals.- Returns:
- never
null
. Possibly an instance ofErrorEval
in the case of a specified Excel error (Exceptions are never thrown to represent Excel errors).
-
aggregateMatchingCells
protected ValueEval aggregateMatchingCells(org.apache.poi.ss.formula.functions.Baseifs.Aggregator aggregator, AreaEval sumRange, AreaEval testRange, org.apache.poi.ss.formula.functions.CountUtils.I_MatchPredicate mp) throws EvaluationException
- Throws:
EvaluationException
-
hasInitialRange
protected boolean hasInitialRange()
Implementations must be stateless.- Returns:
- true if there should be a range argument before the criteria pairs
-
createAggregator
protected org.apache.poi.ss.formula.functions.Baseifs.Aggregator createAggregator()
-
convertRangeArg
protected static AreaEval convertRangeArg(ValueEval eval) throws EvaluationException
- Throws:
EvaluationException
-
-