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

1

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

Eu tenho uma tabela que as pessoas podem inserir valores. Eu tenho uma caixa de listagem em a1 que eles podem escolher 'reset'. Eu 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 mencionado acima. A fórmula que coloquei em b1

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

isto não está mudando o valor c1, mas está incluindo o c1 = 0 na parte de teste do if então.

o problema é que não estamos autorizados a usar macros ou código vb, porque onde isso é armazenado, então eu sou forçado a usar fórmulas.

isso ficou claro o suficiente?

    
por Comicwizard 17.09.2015 / 18:13

2 respostas

1

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

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

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

Se o ponto 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.

    
por 17.09.2015 / 18:20
0

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

Como Raystafarian descreve, 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ê tem uma fórmula em B1 ou C1 e, em seguida, insere um valor lá, a fórmula é perdida, de modo que funcionaria apenas uma vez.

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

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

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

A menos que A1 mude, no entanto, 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 mudar, 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 na A1. Esse tipo de ação requer o VBA ou o usuário fazendo uma alteração manual em A1 após o novo valor estar pronto para ser exibido em B1.

    
por 17.09.2015 / 18:57