**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]

Already in v5.0.0

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

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

**group** may be any of {children,descendants,siblings,ancestors,all}.

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

**condition** is a valid conditional test - i.e. it equates to *true* when matched.

**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,

`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.