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»)
v-yulgu-msft
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
MattAllington
¿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.
MattAllington
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
MattAllington
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
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
Phil_Seamark
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.
Phil_Seamark
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