I want to write a formula to work out a value based on areas selected in a value list. These areas relate to the separate field giving the actual area size

Area (Value list with “Front, Rear, Side, Verge, Other”

This is currently used to work out the Base Price with the following formula.

“If ( ValueCount ( area ) = 1; 25 + RemoveClippingsPrice ; If ( ValueCount ( area ) = 2; 30 + RemoveClippingsPrice ; If ( IsEmpty ( area ); 0 ; 35 + RemoveClippingsPrice) ))”

I worked out a base price, As this is the minimum charge.

Currently the formula I have to work out the rest of the price actually counts the entire area to be done

Turfarea = “Sum ( TurfArea Front;TurfArea Rear;TurfArea Other;TurfArea Side;TurfArea Verge )”

Package1 = “Ceiling ( Round ( (TurfArea * (PricingTable::CentsperMeter2 / 100)) + BasePrice ; 1 ))”

However, I noticed this is an error as some clients only want certain areas to be counted towards the price.

So now I want to work out the price per m2 based on the values selected in the Area field.

Eg if the following is the values of the areas. (Front_Area = 200, Rear_Area = 100, Side_Area = 50, Verge_Area = 25, Other_Area = 12.5).

But the client on wants the Front and verge done. the Actual Price should be based on the Selected Area Values such as Front_Area + Verge_Area = 225.

Not sure if you can follow the above but have written a based demo.

Here's how you can calculate the selected area =

Sum (

If ( not IsEmpty ( FilterValues ( "Front" ; area ) ) ; TurfArea Front ) ;

If ( not IsEmpty ( FilterValues ( "Rear" ; area ) ) ; TurfArea Rear ) ;

If ( not IsEmpty ( FilterValues ( "Side" ; area ) ) ; TurfArea Side ) ;

If ( not IsEmpty ( FilterValues ( "Verge" ; area ) ) ; TurfArea Verge ) ;

If ( not IsEmpty ( FilterValues ( "Other" ; area ) ) ; TurfArea Other )

)