UNPKG

hyperformula

Version:

HyperFormula is a JavaScript engine for efficient processing of spreadsheet-like data and formulas

41 lines (40 loc) 1.82 kB
/** * @license * Copyright (c) 2025 Handsoncode. All rights reserved. */ import { ProcedureAst } from '../../parser'; import { InterpreterState } from '../InterpreterState'; import { InterpreterValue } from '../InterpreterValue'; import { FunctionPlugin, FunctionPluginTypecheck, ImplementedFunctions } from './FunctionPlugin'; export declare class ConditionalAggregationPlugin extends FunctionPlugin implements FunctionPluginTypecheck<ConditionalAggregationPlugin> { static implementedFunctions: ImplementedFunctions; /** * Corresponds to SUMIF(Range, Criterion, SumRange) * * Range is the range to which criterion is to be applied. * Criterion is the criteria used to choose which cells will be included in sum. * SumRange is the range on which adding will be performed. * * @param ast * @param state */ sumif(ast: ProcedureAst, state: InterpreterState): InterpreterValue; sumifs(ast: ProcedureAst, state: InterpreterState): InterpreterValue; averageif(ast: ProcedureAst, state: InterpreterState): InterpreterValue; /** * Corresponds to COUNTIF(Range, Criterion) * * Range is the range to which criterion is to be applied. * Criterion is the criteria used to choose which cells will be included in sum. * * Returns number of cells on which criteria evaluate to true. * * @param ast * @param state */ countif(ast: ProcedureAst, state: InterpreterState): InterpreterValue; countifs(ast: ProcedureAst, state: InterpreterState): InterpreterValue; minifs(ast: ProcedureAst, state: InterpreterState): InterpreterValue; maxifs(ast: ProcedureAst, state: InterpreterState): InterpreterValue; private computeConditionalAggregationFunction; }