org.apache.poi.ss.formula.functions
Class Sumifs

java.lang.Object
  extended by org.apache.poi.ss.formula.functions.Sumifs
All Implemented Interfaces:
FreeRefFunction

public final class Sumifs
extends java.lang.Object

Implementation for the Excel function SUMIFS

Syntax :
SUMIFS ( sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)


Field Summary
static FreeRefFunction instance
          Singleton
 
Constructor Summary
Sumifs()
           
 
Method Summary
protected static AreaEval convertRangeArg(ValueEval eval)
           
 ValueEval evaluate(ValueEval[] args, OperationEvaluationContext ec)
           
protected  boolean hasInitialRange()
          https://support.office.com/en-us/article/SUMIFS-function-c9e748f5-7ea7-455d-9406-611cebce642b COUNTIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

instance

public static final FreeRefFunction instance
Singleton

Constructor Detail

Sumifs

public Sumifs()
Method Detail

hasInitialRange

protected boolean hasInitialRange()
https://support.office.com/en-us/article/SUMIFS-function-c9e748f5-7ea7-455d-9406-611cebce642b COUNTIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ... need at least 3 arguments and need to have an odd number of arguments (sum-range plus x*(criteria_range, criteria))

Returns:
true if there should be a range argument before the criteria pairs
See Also:
Baseifs.hasInitialRange()

evaluate

public ValueEval evaluate(ValueEval[] args,
                          OperationEvaluationContext ec)
Specified by:
evaluate in interface FreeRefFunction
Parameters:
args - the pre-evaluated arguments for this function. args is never null, 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 of ErrorEval in the case of a specified Excel error (Exceptions are never thrown to represent Excel errors).

convertRangeArg

protected static AreaEval convertRangeArg(ValueEval eval)
                                   throws EvaluationException
Throws:
EvaluationException