Tenho uma Planilha Google que estou usando para avaliar metas financeiras. Nesta planilha, tenho 8 células. As duas primeiras células são usadas para inserir parâmetros usados pelas fórmulas nas outras células.
A primeira célula é um parâmetro que gera o resultado na célula 7. A segunda célula é um limite que desejo atingir. Basicamente, quero pegar o valor da célula 1 e aumentá-lo em 1 até que o resultado visto na célula 7 cruze o valor da célula 2. Um exemplo é assim:
A B
1 Current Total $10000
2 Target Amount $1000
3 Current Amount =DIVIDE(B1, 100)
4 Result A =PRODUCT(B3, 0.35)
5 Result B =PRODUCT(B3, 0.50)
6 Result C =PRODUCT(B3, 0.15)
7 TOTAL =SUM(B4:B6)
8 Total Needed ?
Usando o exemplo acima, quero criar uma fórmula que aumente o valor B1 em 1 até que o valor em B7 cruze o valor em B2. Quero colocar o valor usado para ultrapassar o limite na célula B8.
Eu preferiria repetir esta operação "nos bastidores" para que apenas o resultado apareça na célula B8. Não quero mostrar todo o “trabalho”. Existe uma maneira de fazer isso em uma planilha do Google? Se sim, como?
Responder1
Um pouco tarde, mas a quem possa interessar. Total Needed
manterá o valor
=(B1 * (B2/B3)) - B1
Eu preferiria fazer isso repetindooperação "nos bastidores", então apenas o resultado aparece na célula B8. Não quero mostrar todo o “trabalho”. Existe uma maneira de fazer isso em uma planilha do Google? Se sim, como?
Isso é possível com Menu -> Extensões -> Script do Google Apps ->Adicionar função personalizada. Mas de qualquer forma, você e qualquer pessoa não verão nada do cálculo porque é bastante rápido.
Variante 1 Minha sugestão é resolver isso através de uma fórmula de cálculo que calcula a quantidade de vezes necessária para somar 1
B3 é 1% do Total Atual. Divida Target Amount by Current Amount
para obter 1% do valor alvo. É matemática simples.
B8 = B2/B3
Multiplique o resultado pelo Total Atual. Isso dará quantas vezes 1% do valor alvo tem no total atual
B8 = (B2/B3) * B1
A seguir, subtraia o Total Atual do resultado. Isso é necessário porque precisamos saber quantas vezes temos que adicionar 1, após o valor adicionado do Total Atual,
até que o resultado na célula 7 cruze o valor na célula 2
B8 = ((B2/B3) * B1) - B1
A B
1 Current Total 10000
2 Target Amount 1000
3 Current Amount = B1 / 100
4 Result A = B3 * 0.35
5 Result B = B3 * 0.50
6 Result C = B3 * 0.15
7 TOTAL = SUM(B4:B6)
8 Total Needed = ((B2/B3) * B1) - B1
Se você tiver um caso semelhante que seja difícil de resolver - tente dar bons nomes às propriedades que ele possui. Deixe os nomes falarem sobre os valores que possuem. Isso ajudará enquanto você pensa sobre isso.
Exclua todos os valores que já foram calculados.
Current Amount
é 100% do total atual, B3 = B1/100. Então pense bem, essa célula sempre manterá esse valor sempre que você calcular nesse caso - sempre será =B1/100
.
Results A, B and C
são iguais ao Valor Atual. Eles também fazem parte do Current Total. Result A
é 35% do Total Atual... e assim por diante os demais. Cada um deles terá sempre o mesmo valor.
TOTAL
será sempre igual ao Valor Atual, pois resume suas partes. É um valor codificado também.
Agora, separe as propriedades conhecidas das demais. Todos eles representam o mesmo valor - as partes do Total Atual - e você não precisa pensar em seus cálculos, porque eles possuem valores codificados.
A B
1 Current Total
2 Target Amount __________________
3 Current Amount = B1 / 100
4 Result A = B3 * 0.35
5 Result B = B3 * 0.50
6 Result C = B3 * 0.15
7 TOTAL = SUM(B4:B6)
8 Total Needed __________________
Agora, os valores que faltam trabalhar são - Total Atual e Valor Alvo.
Usando o exemplo acima, quero criar uma fórmula queaumenta o valor B1 em 1 até que o valor em B7 cruze o valor em B2. Quero colocar o valor usado para ultrapassar o limite na célula B8.
Variante 2 Aumente o valor de B1 em 1, sozinho, manualmente.
Teste com D1 na coluna C, quando C7=C2 o resultado irá preencher C8, caso contrário você terá que aumentar ou diminuir D1:
A B C D
1 Current Total 10000 = B1+D1 --> 90000 <--
2 Target Amount ____________ 1000
3 Current Amount = B1 / 100 = C1/100
4 Result A = B3 * 0.35 = C3*0.35
5 Result B = B3 * 0.50 = C3*0.5
6 Result C = B3 * 0.15 = C3*0.15
7 TOTAL = SUM(B4:B6) = SUM(C4:C6)
8 Total Needed ____________ = IF(C7=C2; D1; "Change D1")