org.apache.poi.ss.formula.functions

## Class Count

- java.lang.Object
- - 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

    Constructors
    Constructor and Description
    `Count()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `ValueEval` | `evaluate(ValueEval[] args, int srcCellRow, int srcCellCol)`
    `static Count` | `subtotalInstance(boolean includeHiddenRows)` 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(boolean includeHiddenRows)

      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.

      Parameters:
        `includeHiddenRows` - true to include hidden rows in the aggregate, false to skip them
      Returns:
        function
      See Also:
        `Subtotal`

Copyright 2020 The Apache Software Foundation or its licensors, as applicable.