Fórmula de Excel para cambiar el valor de una celda a otro valor basado en una tercera celda

Fórmula de Excel para cambiar el valor de una celda a otro valor basado en una tercera celda

Para simplificar esto, a1 tiene un valor que puede cambiar, b1 tiene la fórmula para probar el valor de a1. c1 se restablece a un valor elegido en función de a1.

Tengo una tabla en la que la gente puede ingresar valores. Tengo un cuadro de lista en a1 que pueden elegir "restablecer". Quiero que los valores de la tabla cambien a 0, para "borrar" la tabla para que la gente pueda ingresar nuevos valores.

Estaba intentando probar esto con una sola celda como se indicó anteriormente. La fórmula que puse en b1

=if(a1="RESET",(c1=0),c1)

esto no cambia el valor de c1 pero incluye c1=0 en la parte de prueba de if then.

El problema es que no podemos usar macros o código vb porque donde se almacena esto me veo obligado a usar fórmulas.

¿Fue esto lo suficientemente claro?

Respuesta1

Una fórmula no puede cambiar otro objetivo. Necesitarás dos fórmulas

B1 -=IF(A1="RESET",1,0)

C1 -=IF(B1>0,"woohoo",0)

Si el objetivo del ejercicio es tener solo una fórmula en B1 porque los usuarios pueden modificar C1 para eliminar la fórmula, esto no es posible.

Respuesta2

Según su descripción, no está claro qué celda se supone que depende de la otra, pero si entiendo los requisitos correctamente, lo que quiere hacer no se puede hacer sin VBA o un paso manual adicional.

Como describe Raystafarian, no se puede cambiar una celda con una fórmula en una celda diferente. Sin embargo, una celda tampoco puede tener una fórmula y un valor al mismo tiempo. Si tiene una fórmula en B1 o C1 y luego ingresa un valor allí, la fórmula se pierde, por lo que solo funcionaría una vez.

Su fórmula implica que desea que la entrada vaya a C1 porque eso es lo que se muestra en B1, y A1 cambia el valor que se muestra en B1 cuando 0A1="RESET". Sin VBA, creo que lo más cerca que puedes llegar a lo que describes sería algo como esto:

  • Ingrese nuevos valores en C1, reemplazando los que había antes.
  • B1 podría contener: =IF(A1="RESET",0,C1).

Eso logra lo que describe su fórmula. B1 serviría como ubicación de visualización en la tabla e indicador de que se requiere un nuevo valor, pero el valor iría en C1.

Sin embargo, a menos que A1 cambie, seguirá conteniendo RESET, por lo que cambiar el valor en C1 no hará que B1 muestre el nuevo valor. A1 también necesitaría cambiar, pero este requisito crearía una referencia circular sin VBA ni intervención manual. Necesita algo que detecte la entrada del nuevo valor y provoque un cambio en A1. Ese tipo de acción requiere que VBA o que el usuario realice un cambio manual a A1 después de que el nuevo valor esté listo para mostrarse en B1.

información relacionada