Fórmula Excel para alterar o valor de uma célula para outro valor com base em uma terceira célula

Fórmula Excel para alterar o valor de uma célula para outro valor com base em uma terceira célula

para fazer isso simples, a1 tem um valor que pode mudar, b1 tem a fórmula para testar o valor de a1. c1 é redefinido para um valor escolhido com base em a1.

Eu tenho uma tabela onde as pessoas podem inserir valores. Eu tenho uma caixa de listagem em a1 onde eles podem escolher 'reset'. Quero que os valores da tabela mudem para 0 , para 'limpar' a tabela para que as pessoas possam inserir novos valores.

Eu estava tentando testar isso com uma única célula, conforme indicado acima. A fórmula que coloquei em b1

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

isso não está alterando o valor de c1, mas inclui c1 = 0 na parte de teste do if then.

o problema é que não temos permissão para usar macros ou código VB porque onde eles estão armazenados, sou forçado a usar fórmulas.

isso foi claro o suficiente?

Responder1

Uma fórmula não pode alterar outro alvo. Você precisará de duas fórmulas

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

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

Se o objetivo do exercício é ter apenas uma fórmula em B1 porque os usuários podem alterar C1 para remover a fórmula, isso não é possível.

Responder2

Pela sua descrição, não está claro qual célula deve depender da outra, mas se entendi os requisitos corretamente, o que você deseja fazer não pode ser feito sem o VBA ou uma etapa manual extra.

Conforme descreve Raystafarian, você não pode alterar uma célula com uma fórmula em uma célula diferente. No entanto, uma célula também não pode ter uma fórmula e um valor. Se você tiver uma fórmula em B1 ou C1 e depois inserir um valor lá, a fórmula será perdida, então funcionaria apenas uma vez.

Sua fórmula implica que você deseja que a entrada vá para C1 porque é isso que é exibido em B1, e A1 altera o valor exibido em B1 para 0quando A1="RESET". Sem o VBA, acho que o mais próximo que você pode chegar do que descreve seria algo assim:

  • Insira novos valores em C1, substituindo o que estava lá antes.
  • B1 pode conter: =IF(A1="RESET",0,C1).

Isso realiza o que sua fórmula descreve. B1 serviria como local de exibição na tabela e indicador de que um novo valor é necessário, mas o valor iria para C1.

A menos que A1 seja alterado, entretanto, ele continuará a conter RESET, portanto, alterar o valor em C1 não fará com que B1 exiba o novo valor. A1 também precisaria ser alterado, mas esse requisito criaria uma referência circular sem VBA ou intervenção manual. Você precisa de algo que detecte a entrada do novo valor e acione uma alteração em A1. Esse tipo de ação requer VBA ou que o usuário faça uma alteração manual em A1 depois que o novo valor estiver pronto para ser exibido em B1.

informação relacionada