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

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

public final class Count
extends java.lang.Object
implements Function

Counts the number of cells that contain numeric data within the list of arguments. Excel Syntax COUNT(value1,value2,...) Value1, value2, ... are 1 to 30 arguments representing the values or ranges to be counted. TODO: Check this properly matches excel on edge cases like formula cells, error cells etc


Constructor Summary
Count()
           
 
Method Summary
 ValueEval evaluate(ValueEval[] args, int srcCellRow, int srcCellCol)
           
static Count subtotalInstance()
          Create an instance of Count to use in Subtotal
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Count

public Count()
Method Detail

evaluate

public ValueEval evaluate(ValueEval[] args,
                          int srcCellRow,
                          int srcCellCol)
Specified by:
evaluate in interface Function
Parameters:
args - the evaluated function arguments. Empty values are represented with BlankEval or MissingArgEval, never null.
srcCellRow - row index of the cell containing the formula under evaluation
srcCellCol - column index of the cell containing the formula under evaluation
Returns:
The evaluated result, possibly an ErrorEval, never null. Note - Excel uses the error code #NUM! instead of IEEE NaN, so when numeric functions evaluate to Double.NaN be sure to translate the result to ErrorEval.NUM_ERROR.

subtotalInstance

public static Count subtotalInstance()
Create an instance of Count to use in Subtotal

If there are other subtotals within argument refs (or nested subtotals), these nested subtotals are ignored to avoid double counting.

See Also:
Subtotal