2 votos

Usando la función ROUND en IF en Numbers

Estoy usando Numbers para hacer un seguimiento de los cambios de tiempo. Estoy usando un IF() para mostrar una tendencia al alza / a la baja y hay un if que verifica si hubo algún cambio en absoluto. Pero el cálculo parece ser un poco demasiado preciso para mi gusto.

IF(D11=D10;"=";IF(D11>D10;("" & D11D10);("" & D11D10)))

El IF() de nivel superior detecta si los valores comparados son idénticos, para mostrar un =. De lo contrario, se utiliza otro IF() para verificar si el nuevo valor es mayor que el antiguo, para mostrar con la cantidad de cambio, o .

En un caso, el cálculo se refiere a celdas que muestran ambas 65m (minutos; de un AVG() que se refiere a otras celdas), sin embargo muestra una flecha hacia abajo con un cambio de 0m en ella:

celda enfocada mostrando una flecha roja hacia abajo con -0m, con dos valores idénticos destacados del fórmula

Debido a que el formato original de la celda está todo en tiempo, creo que el cálculo detecta un cambio de segundos, pero en realidad no muestro segundos aquí. Así que he estado tratando de hacer que ROUND funcione en D11 y D10 para el primer IF(), pero honestamente no estoy seguro de cuál es la sintaxis aquí y no pude hacer que funcionara.

Lo que estoy tratando de lograr es mostrar un = cuando el cambio es cero.

0 votos

Entonces, ¿con qué estás luchando? ¿Con la sintaxis de cómo usar ROUND() dentro de un IF() o con la forma correcta de redondear los números para obtener el resultado esperado?

1voto

Charlie74 Puntos 694

Para redondear un número, necesitas especificar tanto el número a redondear como a cuántos lugares redondear. Por lo tanto, un redondeo simple se vería así

ROUND(D11,0)

Para tu fórmula, puedes incluir el redondeo de la siguiente manera:

IF(ROUND(D10,0)=ROUND(D11,0),"=")

El resto de tu fórmula parece estar bien, solo modifiqué esa primera declaración IF para manejar el redondeo. Si necesitas más aclaraciones, solo pregunta.

1voto

Alper Puntos 81

La fórmula IF() en tu publicación parece estar bien. Por lo tanto, estoy de acuerdo en que el problema que describes podría ser causado por la duración que se está comparando y que no son las mismas más allá del número de minutos, y redondearlas podría ser útil.

Sin embargo, no es posible usar ROUND() en un valor de duración como 65m en Numbers. Probablemente este sea el meollo del problema en lugar de cómo has estado intentando usar ROUND() y IF() juntos.

En Numbers, para redondear un valor de duración a minutos, por ejemplo, primero conviértelo a decimal usando DUR2MINUTES() que convierte un valor de duración a minutos en decimal. Luego, redondea eso al entero más cercano usando ROUND(). Puedes convertir el resultado de nuevo en un valor de duración con DURATION() o modificar el IF() agregando una m después de cada D11 - D10 para obtener el formato de salida en tu publicación.

Aquí tienes la captura de pantalla de una hoja de cálculo de ejemplo que utiliza fórmulas que incorporan estas sugerencias. Utilicé AVERAGE() en las fórmulas solo porque mencionaste que lo estabas usando al calcular las celdas en la columna D de tu hoja de cálculo. También pegué la fórmula en la parte superior de la captura de pantalla como texto para tu comodidad después de eso:

captura de pantalla de hoja de cálculo de ejemplo redondeando duraciones en Numbers

=DURATION(,,,ROUND(DUR2MINUTES(AVERAGE(A2:B2)),0))

Si no estás usando las celdas en la columna D de tu hoja de cálculo para algo más, simplemente puedes usar la formulación anterior para calcularlas y no necesitar hacer ningún cambio en el IF() de tu publicación. Si eso no es posible, puedes agregar una columna al lado de la columna D que tenga los valores de duración en la columna D redondeados como se describió anteriormente y luego usar esos en el IF() o hacer los redondeos dentro del IF() mismo. Sin embargo, la última opción puede resultar en un IF() que es un poco demasiado largo y difícil de mantener.

Nótese que ROUND() redondeará, por ejemplo, tanto 1.98 (de 1 minuto y 59 segundos) como 2.03 (de 2 minutos y 2 segundos) a 2. Si deseas que no se consideren iguales, entonces puedes usar ROUNDDOWN() o ROUNDUP().

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X