Class Averageifs

java.lang.Object
org.apache.poi.ss.formula.functions.Averageifs
All Implemented Interfaces:
FreeRefFunction

public final class Averageifs extends Object
Implementation for the Excel function AVERAGEIFS

Syntax :

AVERAGEIFS ( average_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)

  • min_range Required. One or more cells to average, 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 Details

  • Constructor Details

    • Averageifs

      public Averageifs()
  • Method Details

    • hasInitialRange

      protected boolean hasInitialRange()
      https://support.microsoft.com/en-us/office/averageifs-function-48910c45-1fc0-4389-a028-f7c5c3001690 AVERAGEIFS(average_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...) need at least 3 arguments and need to have an odd number of arguments (average_range plus x*(criteria_range, criteria))
      Returns:
      true if there should be a range argument before the criteria pairs
    • createAggregator

      protected org.apache.poi.ss.formula.functions.Baseifs.Aggregator createAggregator()
    • 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