0 votos

Apple Numbers utiliza la fecha real en lugar de la fecha formateada

Tengo una hoja de cálculo con una lista de meses como columnas con el valor 1/1/2020, 2/1/2020, 3/1/2020, etc. El formato de las celdas se ha establecido en enero, febrero, marzo, etc.

Cuando intento utilizar la fecha para el cálculo, utiliza el nombre del mes y no la fecha.

Ejemplo:

=SUMIFS($Amount,Date,">="&E1,Date,"<="&EOMONTH(E1,0))

E1 contiene "03/01/2020", muestra el mes de marzo, pero suma todo hasta el final de marzo. Si lo cambio por ">=03/01/2020" funciona como se esperaba.

¿Hay alguna forma de forzar a Apple Numbers a utilizar el valor real y no el formateado? La documentación dice que debería hacerlo, pero no lo hace.

0 votos

Creo que esta es la forma en que se supone que funciona. ¿Puedes referirte a la parte de la documentación que dice lo contrario? Si la celda está formateada como nombre de mes ('enero' en el desplegable de fecha) al arrastrarla cambia el nombre del mes y mantiene el día. Si la celda está formateada como fecha ('2020-01-05' desde el desplegable de fecha), al arrastrarla cambia el día. Como la condición incluye una parte igual, entonces coincidirá con todos los días del mes de marzo.

0 votos

La forma en que está redactado hace que parezca que las celdas de fecha/hora siempre utilizarán el valor Actual. "La vista de celdas inteligentes en la parte inferior de la ventana muestra el valor real tanto de la fecha como de la hora para una celda seleccionada, incluso si se elige mostrar sólo una en la tabla". support.apple.com/guide/numbers/

1voto

WilyUlysses Puntos 26

BIEN. He reproducido esto. Si utilizas CONCATENATE en lugar de & para combinar las cadenas, las cosas se vuelven un poco más claras. Puedes hacer clic en CONCATENATE y ver los resultados intermedios--en este caso, encontrarás que un SUMIF con CONCATENATE en la columna de febrero produce ">=Febrero" así que no es sorprendente que el SUMIF produzca un resultado incorrecto.

Así que tu suposición de que Numbers está utilizando el nombre del mes en lugar de la fecha es correcta. Si pones la función T alrededor de la referencia de la celda de la fecha, es decir, CONCATENATE(">=",T(C$1))-entonces obtienes una cadena vacía de la función T, que coincide con la documentación de T (es decir, si le das a T un tipo que no sea TEXTO, devuelve una cadena vacía). Por lo tanto, T ve la fila 1 como una serie de tipos DATE/TIME pero CONCATENATE/& la ve como una serie de tipos TEXT.

Yo consideraría que se trata de un error de Numbers (con el CONCATENADO que no reconoce los tipos de fecha/hora). Creo recordar haber hecho algo similar en una versión anterior de Numbers y funcionó como querías, así que el fallo puede haber sido introducido recientemente. Mientras esperamos una solución, veamos una solución.

Primero probé con DATEVALUE, es decir, CONCATENATE(">=",DATEVALUE(C$1)), pero el resultado fue ">=2/1/2020". Supongo que esto se debe a que DATEVALUE ve la fila 1 como una serie de tipos de texto, al igual que CONCATENATE, y cuando ve febrero asume que el día es el 1 y el año es este, por lo tanto 2/1/2020. Yo consideraría esto una variante del primer error.

Así que tenemos que recorrer el camino más largo. Si haces esto CONCATENAR(">=",FECHA(AÑO(C$1),MES(C$1),DÍA(C$1))) obtendrá correctamente ">=2/1/2021" y SUMIF produce los resultados correctos.

Un problema interesante.

0 votos

Parece que seguirá funcionando con el operador & siempre que se utilice la función DATE para crear el valor. Originalmente probé con DATEVALUE también y dejé esta línea de pensamiento. De cualquier manera, tengo la solución. ¡Gracias!

1 votos

Genial. El CONCATENADO está ahí como herramienta de depuración. He descubierto que poder ver los resultados intermedios con ella ha resultado ser tan útil que uso CONCATENATE todo el tiempo.

0 votos

Según la ayuda de DATEVALUE (al menos en la v5.1), "El valor devuelto se formatea según el formato de la celda actual". Y como el valor de un mes es siempre su primer día . Como curiosidad, si cambias el formato para que C1 muestre "2021" en lugar de "febrero", la función devolverá "2021-01-01", o el primer día del año - algo divertido en un sentido abstracto. Así que, aparentemente, está funcionando como se diseñó y no podrías usar DATEVALUE en un año no actual a menos que cambies el formato para incluir tanto el año como el mes, por ejemplo, 'Date: 2020 January'.

-1voto

WilyUlysses Puntos 26

¿Es E1 realmente una fecha? Cuando se copian datos de fuentes externas a veces las fechas pueden pegarse como caracteres.

0 votos

Sí. Lo introduje manualmente y en la parte inferior, donde muestra el valor real, aparecerá como 3/1/2020.

0 votos

Chris, a mí me funciona como tú quieres. Estoy en Numbers 10.3.5 y MacOS 11.0 en un Macbook Air M1. ¿Puedes proporcionar los datos?

0 votos

He elaborado una hoja de cálculo de muestra. Las fechas fueron introducidas como m/d/yyyy, luego cambié el Formato de Datos de cada una para mostrar lo que sucede. Captura de pantalla de los datos

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