El uso de la fórmula "Si" a veces devuelve celdas en blancoSoy un estudiante que usa JMP por primera vez, así que pido disculpas por cualquier terminología incorrecta.
Estoy usando esta fórmula para asignar un código a diferentes rangos de gasto para el análisis RFM.

El problema que estoy encontrando es con el valor superior 259.85. A veces devuelve el código correcto "5" y otras veces devuelve una celda en blanco.

¿Alguien puede ayudarme a aclarar esto? ¡Gracias por cualquier aporte!
Re: Usar la fórmula "Si" a veces devuelve celdas en blancoAquí está un blog sobre si .
Aquí está una pregunta anterior sobre la representación de números decimales de base 10 en punto flotante binario. La respuesta corta es un número como .1 o .2 que se representa en binario como 1/3 en base 10: una secuencia infinita de dígitos que se repite. Se trunca en algún punto y se redondea, y puede ser un poco grande o un poco pequeño. ( levemente es aproximadamente 1e-15). De la misma forma que .333+.333 != .667, .1+.2 !=.3
.1+.2==.3
0 // ¿por qué no? restarlos y ver por qué son diferentes ...
(.1 + .2) - .3
5.55111512312578e-17 // esa es una diferencia muy pequeña
Esto no es específico de JMP; vea el comentario de Excel en el segundo enlace de arriba.
Según cómo se calculó Total_money, el valor cercano a 259,85 puede ser 259,8500..01 o 259.8499..99 (aproximadamente) y es posible que desee que su declaración if divida los centavos en el punto medio (código no probado, aproximadamente a la derecha):
// caution: counting pennies using floating point will be painful!
if( total_money > 259.845, "5", // 259.85 and above
total_money > 139.895, "4", // 139.90 and above
total_money > 89.845, "3", // 89.85 and above
...
"0") // none of the above
El si hace cada prueba en orden y usa la primera respuesta verdadera. La respuesta final "0" no tiene prueba y es la demás cláusula de la sentencia if.
Re: Usar la fórmula "Si" a veces devuelve celdas en blancoGracias, ih. Según su entrada, modifiqué la fórmula para que se vea así:

No estoy seguro de si eso es exactamente lo que pretendía, pero sigue el espíritu de su consejo, al menos, al eliminar espacio para que los valores se escondan entre los límites superiores de una declaración if y los límites inferiores de la siguiente.
Sin embargo, me parece extraño porque no creo que estos datos vayan más allá de 2 puntos decimales, por lo que no entiendo cómo algo podría caer entre .84 y .85.
¡Muchísimas gracias por la ayuda!
Re: Usar la fórmula "Si" a veces devuelve celdas en blancoEl valor total_money podría estar entre 259,84 y 259,85. Puede intentar eliminar el límite superior de las condiciones 'else if' en la declaración if y dejar abierta una condición 'else'.Otros dos problemas comunes que no parecen aplicarse aquí son los datos faltantes y el tipo de datos incorrecto. Aquí hay un ejemplo:
