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

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

public class Countifs
extends java.lang.Object

Implementation for the function COUNTIFS

Syntax: COUNTIFS(criteria_range1, criteria1, [criteria_range2, criteria2])


Field Summary
static FreeRefFunction instance
          Singleton
 
Constructor Summary
Countifs()
           
 
Method Summary
protected static AreaEval convertRangeArg(ValueEval eval)
           
 ValueEval evaluate(ValueEval[] args, OperationEvaluationContext ec)
           
protected  boolean hasInitialRange()
          https://support.office.com/en-us/article/COUNTIFS-function-dda3dc6e-f74e-4aee-88bc-aa8c2a866842?ui=en-US&rs=en-US&ad=US COUNTIFS(criteria_range1, criteria1, [criteria_range2, criteria2]...) need at least 2 arguments and need to have an even number of arguments (criteria_range1, criteria1 plus x*(criteria_range, criteria))
 
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

Countifs

public Countifs()
Method Detail

hasInitialRange

protected boolean hasInitialRange()
https://support.office.com/en-us/article/COUNTIFS-function-dda3dc6e-f74e-4aee-88bc-aa8c2a866842?ui=en-US&rs=en-US&ad=US COUNTIFS(criteria_range1, criteria1, [criteria_range2, criteria2]...) need at least 2 arguments and need to have an even number of arguments (criteria_range1, criteria1 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