Suvruttâ€™s reply looks right to me. That said, would you mind a couple of programming style tips?

First, make sure that you phrase the problem correctly. It is difficult to get your code right if you donâ€™t have the problem phrased correctly.

If weight Less than 10, use A Price

If weight more than 10, but less than 45, use B Price

If weight more than 45, use then C Price

These statements donâ€™t say what to do if the weight is 10 or 45. It is easier to find the problem here than it is in a formula. A formula that implements these statements would have at least 2 bugs. I looks like you meant:

If weight Less than or equal to 10, use A Price

If weight more than 10 and less than or equal to 45, use B Price

If weight more than 45, use then C Price

Second, write the formula to closely follow the problem statement. There are many formulas that would work, but the formula used should be easy to understand. Also, indentation helps you find mistakes.

IFS(

[Weight (kg)] <= 10, A Price,

AND([Weight (kg)] > 10, [Weight (kg)] <= 45), B Price

[Weight (kg)] > 45, C Price)

Each line defines a sub range. The order does not matter either.