¿Hay alguna manera de evitar que una celda actualice su valor cuando se cumple una condición?

¿Hay alguna manera de evitar que una celda actualice su valor cuando se cumple una condición?

Importé información sobre el tipo de cambio diario desde un sitio externo a Excel.

Utilizo el tipo de cambio en algunas fórmulas todos los días. El problema es que cuando llega el día siguiente cambia el tipo de cambio, se modifican todas las fórmulas y me gustaría que se modificaran solo para las fórmulas seguidas correspondientes a la fecha actual. Para ayer, me gustaría mantener el tipo de cambio de ayer.

¿Hay alguna manera de evitar que una fórmula se actualice si se cumple una condición? La condición en este caso sería si la fecha a la que pertenece la fórmula es menor que HOY().

Respuesta1

Sí, puedes lograr este resultado sin VBA o incluso sin medidas extremas.

Sin embargo, no de la forma en la que estás pensando. Estoy seguro de que esa es la dirección a la que se ha dirigido tu pensamiento y que no estás apegado a ningún paso o condición en particular. Entonces...

Una forma sería agregar, o utilizar si ya tiene, una columna para sus datos que tenga la fecha en que se obtuvieron los datos. Una vez que tengas eso, podrás hacer cualquiera de dos cosas, y quizás más, aunque me centraré en las dos cosas.

Una es una IF()fórmula simple para usar la celda de valor del tipo de cambio. Por ejemplo, podría verse así si su columna de fecha fuera la columna A, su columna de cálculo fuera la columna B y el tipo de cambio diario en la celda $M$1:

=IF(A1<TODAY(),B1,IF(A1>TODAY(),"",2000*$M$1))

En la fecha de la columna A, se calcularía la fórmula de trabajo. En los días siguientes, no será así. A medida que la fecha que coincide con hoy avanza cada vez más en la columna, las nuevas celdas que no mostraban nada ( "") se calcularán correctamente y luego se unirán a las otras celdas encima de ellas que no se vuelven a calcular a medida que avanza la fecha.

Sin embargo, si ALGUNA VEZ ingresa a la celda a través de, digamos, F2-Edity presiona Enter para obligar a esa celda a volver a calcular, esa celda se volverá a calcular y fallará, lo que resultará en un "0", que es el resultado de Excel si una fórmula no se puede calcular debido a un referencia circular. Si lo hace por accidente, UNDO( Ctrl-Z) le permitirá volver al negocio. Si lo nota antes de presionar Enter, simplemente presionar ESC preservará las cosas. Los cambios de formato no causarán problemas.

Por lo tanto, probablemente funcionaría con algo de cuidado. ¿Quién quiere eso? Bueno, alguien sin una mejor manera.

El segundo enfoque es una mejor manera. Sería más fácil de hacer y administrar si se creara una tabla con fechas diarias en la columna 1 y el tipo de cambio para cada fecha en la columna 2. Por lo tanto, se ampliaría cada día a medida que se agregara el nuevo tipo de cambio. O podría hacerse con muchas fechas futuras que ya completan la columna 1 y el nuevo tipo de cambio solo necesita agregarse diariamente.

Luego, la fórmula haría una búsqueda de su elección para la fecha de hoy ( TODAY()) en la columna 1 y encontraría el tipo de cambio actual en la columna 2.

Fácil de injertar, colocado sobre alguna página auxiliar escondida en algún lugar. Entonces tus fórmulas no necesitarían trucos extraños. Podrían hacer referencia a la fecha de la columna de fechas para la búsqueda y siempre encontrar el tipo de cambio para esa fecha, incluso años después. No hay preocupaciones sobre interactuar con la circularidad.

Esta técnica también es útil para tablas. Una ventaja de las tablas es cómo las fórmulas se completan a medida que se agrega cada fila. Sin embargo, una debilidad de las tablas es cómo las fórmulas se completan a medida que se agrega cada fila....

Si necesita cambiar una fórmula, manteniendo su forma anterior en las filas actuales pero usando la nueva forma hacia abajo a medida que se agregan filas de datos, tiene un problema. Las tablas simplemente no hacen eso. Cambia todas las fórmulas que quieras, pero siguen apareciendo nuevas con la fórmula anterior.

Sí, técnicamente, SE PUEDE realizar un cambio de este tipo, pero todos los métodos descritos no funcionan como se describe. Por ejemplo, supuestamente, si uno cambia cuatro filas seguidas, supuestamente se convertirá en la nueva fórmula. En mi experiencia, NUNCA he visto que se trabaje con menos de seis filas cambiadas y, a menudo, es necesario cambiar entre 10 y 30 filas antes de que Excel se dé por vencido y use la nueva fórmula. Todo eso se puede hacer, pero... no, simplemente no funciona en la práctica. Otra forma es cambiar a un rango y luego volver a una Tabla. Eso crea problemas, aunque son menores, en su mayoría, pero toma la primera fila de fórmulas como fórmula maestra y NO es probable que sea una con la nueva fórmula, así que...

Pero se pueden escribir muchas fórmulas para permitir que se produzcan cambios en su funcionamiento fuera de la tabla. Por ejemplo, su tipo de cambio. EN la tabla, solo hay una referencia a algún valor, quizás un rango con nombre, quizás un fragmento de fórmula. Ese rango o fragmento con nombre puede referirse al rango de datos (o tabla) que contiene el tipo de cambio cambiante. Por lo tanto, se pueden utilizar nuevas tarifas sin cambiar la fórmula de la tabla. No hay dificultades por tener que cambiar una fórmula de tabla. Algo para recordar.

Pero también muestra con qué frecuencia configurar los datos, especialmente los cambios y los datos que se agregan, para anticipar estas cosas puede hacer que sea fácil realizar cambios y usar los diversos bits.

información relacionada