org.apache.poi.ss.formula.functions

## Class Sumifs

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

  - sum_range Required. One or more cells to sum, including numbers or names, ranges, or cell references that contain numbers. Blank and text values are ignored.
  - criteria1_range Required. The first range in which to evaluate the associated criteria.
  - criteria1 Required. The criteria in the form of a number, expression, cell reference, or text that define which cells in the criteria_range1 argument will be added
  - criteria_range2, criteria2, ... Optional. Additional ranges and their associated criteria. Up to 127 range/criteria pairs are allowed.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static FreeRefFunction` | `instance` Singleton

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Sumifs()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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`

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