# Nested Functions

Using a function as one of the arguments in a formula that itself uses a function is called nesting, and we’ll refer to that function as a nested function.

The IF function in GoFormz can be nested, when you have multiple conditions to meet. The false value is being replaced by another IF function to make a further test.

For example, by nesting the AVERAGE and SUM function in the arguments of the IF function, the following formula sums a set of numbers `SUM([Table]![1][1]:[1][4])`

only if the average of another set of numbers `AVERAGE([Table]![2][1]:[2][4])`

is greater than 50. Otherwise, it returns 0.

`=IF(AVERAGE([Table]![2][1]:[2][4])>50, SUM([Table]![1][1]:[1][4]), "0")`

## Examples

Field Value | Formula | Description | Result |
---|---|---|---|

Field 1: 45 | =IF([Field 1]>89, "A", IF([Field 1]>79, "B", IF([Field 1]>69, "C", IF([Field 1]>59, "D", "F")))) | Uses nested IF conditions to assign a letter grade to the score in "Field 1". | F |

Field 2: 90 | =IF([Field 2]>89, "A", IF([Field 2]>79, "B", IF([Field 2]>69, "C", IF([Field 2]>59, "D", "F")))) | Uses nested IF conditions to assign a letter grade to the score in "Field 2". | A |

Field 3: 78 | =IF([Field 3]>89, "A", IF([Field 3]>79, "B", IF([Field 3]>69, "C", IF([Field 3]>59, "D", "F")))) | Uses nested IF conditions to assign a letter grade to the score in "Field 3". | C |

**Question:** In GoFormz, I need a formula for the following:

IF [Field 1] = PRADIP then value will be 100

IF [Field 1] = PRAVIN then value will be 200

IF [Field 1] = PARTHA then value will be 300

IF [Field 1] = PAVAN then value will be 400

**Answer:** You can write an IF statement as follows:

`=IF([Field 1]="PRADIP",100, IF([Field 1]="PRAVIN",200, IF([Field 1]="PARTHA",300, IF([Field 1]="PAVAN",400,""))))`

**Question:** In GoFormz, I need a formula that does the following:

IF [Field 1] + [Field 2] <= 4, return $20

IF [Field 1] + [Field 2] > 4 but <= 9, return $35

IF [Field 1] + [Field 2] > 9 but <= 14, return $50

IF [Field 1] + [Field 2] > 15, return $75

**Answer:** You can write a nested IF statement that uses the AND function as follows:

`=IF(([Field 1] + [Field 2])<=4, "20", IF(AND(([Field 1] + [Field 2])>4, ([Field 1] + [Field 2])<=9), "35", IF(AND(([Field 1] + [Field 2])>9, ([Field 1] + [Field 2])<=14), "50", "75")))`

**Question:** I have read your piece on nested IFs in GoFormz, but I still cannot work out what is wrong with my formula. Would you be able to help? Here is what I have:

`=IF(63<=[Field 1]<80, 1, IF(80<=[Field 1]<95, 2, IF([Field 1]=>95, 3, 0)))`

**Answer:** The simplest way to write your nested IF statement based on the logic you describe above is:

`=IF([Field 1]>=95, 3, IF([Field 1]>=80, 2, IF([Field 1]>=63, 1, 0)))`

This formula will do the following:

If [Field 1] >= 95, the formula will return 3 (first IF function)

If [Field 1] < 95 and [Field 1] >= 80, the formula will return 2 (second IF function)

If [Field 1] < 80 and [Field 1] >= 63, the formula will return 1 (third IF function)

If [Field 1] < 63, the formula will return 0

Updated over 1 year ago