**Operator Type:**

**Operator Scope of Action:**

**Operator Purpose:**

**Operator First Added:**

**Operator Altered:**

Function [other Function type actions]

Conditional Group [operators of similar scope]

Mathematical [other Mathematical operators]

Baseline

9.0.0

**sum_if(group,condition,value)**

This computes the Number sum of every **value** in a **group**, as filtered by a **condition** expression. See sum() for a related non-conditional operator.

**group **describes the notes to be examined and may be any group designator including a find() query. sum_if() omits notes for which $Searchable is false.

In addition, where may be argument that designates a particular (single) note other than this.

**condition** is a valid conditional query test, i.e. it equates to *true* when matched. Query terms may include regular exptessions.

**value** can be any expression, but is typically an attribute value. It can also be the number 1, i.e. if the test is **true** from that item then add one to the count.

For example,

`$MyNumber = sum_if(children,$Prototype=="p_Problem",1);`

sums the number of children of the current note whose prototype is 'p_Prototype'. If tested value is a string with spaces, e.g. "p Prototype" vs. "p_Prototype" then use double quotes around the value.

The newer count_if() offers a more intuitive method of counting matches rather than the value of matched items.