cancel
Showing results for
Did you mean:

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Helper II

## Nested IF Statement too many arguments

Can someone help me with this formula.

In my DATA table I can make this IF statement work:

=IF(OR([eSource]="Electricity",[eSource]="Natural Gas"),[Quantity]*0.0036,IF([eSource]="Diesel",[Quantity]*0.0364,""))

However if I take it one step further it fails:

=IF(OR([eSource]="Electricity",[eSource]="Natural Gas"),[Quantity]*0.0036,IF([eSource]="Diesel",[Quantity]*0.0364,IF([eSource]="LPG"),[Quantity]*.0000049,""))

Formula check highlights "LPG"

How can I use the IF statement to allow more than 3 criteria

Alternatively I tried this formula within Powerpivot that only produces and Error result

=SUMX(ENERGYtbl,IF(ENERGYtbl[eSource]="Natural Gas",ENERGYtbl[Quantity]*.0036,IF(ENERGYtbl[eSource]="Electricity",ENERGYtbl[Quantity]*.0036,IF(ENERGYtbl[eSource]="LPG",ENERGYtbl[Quantity]*.0000049,IF(ENERGYtbl[eSource]="Diesel",ENERGYtbl[Quantity]*.0364,"")))))

I need to have a formula that allows me to keep adding to the formula as new energy sources get added to the project.

Help is much appreciated!

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Alternatively I tried this formula within Powerpivot that only produces and Error result

=SUMX(ENERGYtbl,IF(ENERGYtbl[eSource]="Natural Gas",ENERGYtbl[Quantity]*.0036,IF(ENERGYtbl[eSource]="Electricity",ENERGYtbl[Quantity]*.0036,IF(ENERGYtbl[eSource]="LPG",ENERGYtbl[Quantity]*.0000049,IF(ENERGYtbl[eSource]="Diesel",ENERGYtbl[Quantity]*.0364,"")))))

You'd be better off storing the multipliers (0.0036, 0.0036, 0.0000049, ...) in your model as an additional column: ENERGYtbl[multiplier].

You then be able to create a calcaulted column

[Something] = ENERGYtbl[Quantity] * ENERGYtbl[multiplier]

which can easily be summed

[Total] = SUM(ENERGYtbl[Something])
3 REPLIES 3
Anonymous
Not applicable

Alternatively I tried this formula within Powerpivot that only produces and Error result

=SUMX(ENERGYtbl,IF(ENERGYtbl[eSource]="Natural Gas",ENERGYtbl[Quantity]*.0036,IF(ENERGYtbl[eSource]="Electricity",ENERGYtbl[Quantity]*.0036,IF(ENERGYtbl[eSource]="LPG",ENERGYtbl[Quantity]*.0000049,IF(ENERGYtbl[eSource]="Diesel",ENERGYtbl[Quantity]*.0364,"")))))

You'd be better off storing the multipliers (0.0036, 0.0036, 0.0000049, ...) in your model as an additional column: ENERGYtbl[multiplier].

You then be able to create a calcaulted column

[Something] = ENERGYtbl[Quantity] * ENERGYtbl[multiplier]

which can easily be summed

[Total] = SUM(ENERGYtbl[Something])
Helper II

Thank you very much that's a good idea.

Anonymous
Not applicable

Looks like you have an extra closing brace

=IF(OR([eSource]="Electricity",[eSource]="Natural Gas"),[Quantity]*0.0036,IF([eSource]="Diesel",[Quantity]*0.0364,IF([eSource]="LPG"),[Quantity]*.0000049,""))

Edit: and possibly missing a closing one at the end.