Forum Discussion
Margin Divisible by 5?
- Anonymous9 years ago
Sale Prices of $0.00 were creating -infinity values which was screwing it up. I stacked another IF statement on top of the other, saying IF([Sale]=0, IF(MOD([Margin], .05) = 0, "True", "False"), "False")
Hi,
I am looking to find a calculation that will tell me whether an item was sold at a margin divisible by five or not. i.e. ..., 35%, 40%, 45%, 50%, ... etc. I figured it would be simple using the MOD function. I tried each of the following
DivisibleBy5 = IF(MOD([Margin], 0.05) = 0, "Yes", "No")
DivisibleBy5 = IF(MOD([Margin] * 100, 5) = 0, "Yes", "No")
Each give me an error saying "An argument of function 'MOD' has the wrong data type or the result is too large or too small".
My [Margin] is a decimal number and classified as such. Any idea what's going wrong? Any other ways to get the result I'm looking for?
Thanks,
Ryan
- alanhodgson9 years ago
Solution Supplier
Hey Anonymous,
The MOD function can be expressed in terms of the INT function: MOD(n, d) = n - d*INT(n/d)
Try this and see if the same error occurs:
DivisibleBy5 = IF(([Margin] - (0.05)*INT([Margin]/0.05)) = 0, "Yes", "No")
Hope this helps,
Alan
- Phil_Seamark9 years ago
Microsoft Employee
Try creating a calculated column that just uses the inner formula
Eg. Column = mod ([margin] , 5)
And what does that show?- Anonymous9 years agoNot applicable
alanhodgson
That results in an error. "The result of a conversion or arethmatic operation is either too large or too small.
Phil_Seamark
The calculated column gives me "An argument of function 'MOD' has the wrong data type or the result is too large or too small" again.- Phil_Seamark9 years ago
Microsoft Employee
Try MOD (int ([margin]*100) ,5)