¿Margen divisible por 5?

Un usuario Pregunto ✅

Anónimo

Hola,

Estoy buscando un cálculo que me diga si un artículo se vendió con un margen divisible por cinco o no. es decir …, 35%, 40%, 45%, 50%, … etc. Pensé que sería simple usar la función MOD. Probé cada uno de los siguientes

DivisibleBy5 = IF(MOD([Margin], 0.05) = 0, "Yes", "No")
DivisibleBy5 = IF(MOD([Margin] * 100, 5) = 0, "Yes", "No")

Cada uno me da un error que dice «Un argumento de la función ‘MOD’ tiene el tipo de datos incorrecto o el resultado es demasiado grande o demasiado pequeño».

Mi [Margin] es un número decimal y se clasifica como tal. ¿Alguna idea de lo que va mal? ¿Alguna otra forma de obtener el resultado que estoy buscando?

Gracias,
Ryan

Anónimo

En respuesta a MattAllington

@MattAllington

Los precios de venta de $ 0.00 estaban creando valores infinitos que lo estaban arruinando. Apilé otra declaración IF encima de la otra, diciendo IF ([Sale]= 0, SI (MOD ([Margin], .05) = 0, «Verdadero», «Falso»), «Falso»)

Hola @Anónimo,

Verifique el tipo de datos de la columna [Margin]. Si es texto, la fórmula devolverá #ERROR y debe cambiarlo a un número decimal.

Gracias,
Yuliana Gu

¿El margen es una medida o una columna de cálculo? ¿Es DivisibleBy5 una medida o una columna de cálculo?

Anónimo

En respuesta a MattAllington

@MattAllington

Ambas son columnas calculadas. Quiero que se calcule por fila.

En respuesta a Anónimo

Bueno, se ve bien. ¿Puede publicar una muestra de los valores en la columna de margen?

Anónimo

En respuesta a MattAllington

@MattAllington

Capture.PNG

En respuesta a Anónimo

aquí está mi fórmula y funciona bien. Entonces tengo que pensar que algo extraño le está sucediendo a su columna de datos. ¿Tiene valores rudos en algún lugar de la columna? Intente escribir una columna de cálculo = Max (tabla[total cost margin]) y mira lo que obtienes

pct.png

Anónimo

En respuesta a MattAllington

@MattAllington

Los precios de venta de $ 0.00 estaban creando valores infinitos que lo estaban arruinando. Apilé otra declaración IF encima de la otra, diciendo IF ([Sale]= 0, SI (MOD ([Margin], .05) = 0, «Verdadero», «Falso»), «Falso»)

Anónimo

Hola,

Estoy buscando un cálculo que me diga si un artículo se vendió con un margen divisible por cinco o no. es decir …, 35%, 40%, 45%, 50%, … etc. Pensé que sería simple usar la función MOD. Probé cada uno de los siguientes

DivisibleBy5 = IF(MOD([Margin], 0.05) = 0, "Yes", "No")
DivisibleBy5 = IF(MOD([Margin] * 100, 5) = 0, "Yes", "No")

Cada uno me da un error que dice «Un argumento de la función ‘MOD’ tiene el tipo de datos incorrecto o el resultado es demasiado grande o demasiado pequeño».

Mi [Margin] es un número decimal y se clasifica como tal. ¿Alguna idea de lo que va mal? ¿Alguna otra forma de obtener el resultado que estoy buscando?

Gracias,
Ryan

En respuesta a Anónimo

Intente crear una columna calculada que solo use la fórmula interna

P.ej. Columna = mod ([margin] , 5)

¿Y qué muestra eso?

Anónimo

En respuesta a Phil_Seamark

@alanhodgson

Eso resulta en un error. «El resultado de una conversión u operación asmática es demasiado grande o demasiado pequeño.

@Phil_Seamark

La columna calculada me da «Un argumento de la función ‘MOD’ tiene el tipo de datos incorrecto o el resultado es demasiado grande o demasiado pequeño» nuevamente.

En respuesta a Anónimo

Prueba MOD (int ([margin]* 100), 5)

Alanhodgson

En respuesta a Anónimo

Hola @Anónimo,

La función MOD se puede expresar en términos de la función INT: MOD (n, d) = n – d * INT (n / d)

Pruebe esto y vea si ocurre el mismo error:

DivisibleBy5 = IF(([Margin] - (0.05)*INT([Margin]/0.05)) = 0, "Yes", "No")

Espero que esto ayude,

Alan

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *