Class Subtotal

  • All Implemented Interfaces:
    Function

    public class Subtotal
    extends java.lang.Object
    implements Function
    Implementation for the Excel function SUBTOTAL

    Syntax :
    SUBTOTAL ( functionCode, ref1, ref2 ... )

    functionCode(1-11) Selects the underlying aggregate function to be used (see table below)
    ref1, ref2 ...Arguments to be passed to the underlying aggregate function

    functionCodeAggregate Function
    1AVERAGE
    2COUNT
    3COUNTA
    4MAX
    5MIN
    6PRODUCT
    7STDEV
    8STDEVP *
    9SUM
    10VAR *
    11VARP *
    101-111*

    * Not implemented in POI yet. Functions 101-111 are the same as functions 1-11 but with the option 'ignore hidden values'.

    • Constructor Summary

      Constructors 
      Constructor Description
      Subtotal()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      ValueEval evaluate​(ValueEval[] args, int srcRowIndex, int srcColumnIndex)  
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Subtotal

        public Subtotal()
    • Method Detail

      • evaluate

        public ValueEval evaluate​(ValueEval[] args,
                                  int srcRowIndex,
                                  int srcColumnIndex)
        Specified by:
        evaluate in interface Function
        Parameters:
        args - the evaluated function arguments. Empty values are represented with BlankEval or MissingArgEval, never null.
        srcRowIndex - row index of the cell containing the formula under evaluation
        srcColumnIndex - 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.