Nível de programação: iniciante
Duração: 10 minutos
Tipo de projeto: função personalizada
Objetivos
- Entenda o que a solução faz.
- Entenda o que os serviços do Apps Script fazem na solução.
- Configure o script.
- Execute o script.
Sobre esta solução
Se você oferece um sistema de preços por níveis para seus clientes, essa função personalizada facilita o cálculo dos valores de desconto para seus preços.
Embora seja possível usar a função integrada SUMPRODUCT para fazer um cálculo de preços por níveis, usar SUMPRODUCT é mais complexo e menos flexível do que a função personalizada desta solução.

Como funciona
Um modelo de preços por níveis significa que o custo dos produtos ou serviços diminui com base na quantidade comprada.
Por exemplo, imagine que você tenha dois níveis, um que varia de R $0 a R$ 500 e tem um desconto de 10%, e outro que varia de R $501 a R$ 1.000 e tem um desconto de 20%. Se o preço total para o qual você precisa calcular um desconto for de US $700, o script vai multiplicar os primeiros US $500 por 10% e os US $200 restantes por 20%, resultando em um desconto total de US$ 90.
Para um determinado preço total, o script faz um loop nas faixas especificadas na tabela de preços por faixa. Para cada parte do preço total que se enquadra em um nível, essa parte é multiplicada pelo valor percentual associado ao nível. O resultado é a soma do cálculo de cada nível.
Serviços do Apps Script
Esta solução usa o seguinte serviço:
- Serviço de planilha: usa o valor fornecido e calcula qual parte dele deve ser multiplicada pelo desconto percentual de cada nível.
Pré-requisitos
Para usar esta amostra, você precisa atender aos seguintes pré-requisitos:
- Uma Conta do Google (as contas do Google Workspace podem exigir a aprovação do administrador).
- Um navegador da Web com acesso à Internet.
Configurar o script
Clique no botão abaixo para fazer uma cópia da planilha Função personalizada de preços por níveis. O projeto do Apps Script para
essa solução está anexado à planilha.
Fazer uma cópia
Executar o script
- Na planilha copiada, a tabela na linha 16 mostra um exemplo de cálculo de preço para um produto de software como serviço (SaaS).
- Para calcular o valor do desconto, na célula
C20, insira=tierPrice(C19,$B$3:$D$6). Os preços finais são atualizados na célulaC21. Se você estiver em um local que usa vírgulas decimais, talvez seja necessário inserir=tierPrice(C19;$B$3:$D$6).
Revisar o código
Para revisar o código do Apps Script dessa solução, clique em Ver código-fonte abaixo:
Acessar o código-fonte
Code.gs
Modificações
Você pode editar a função personalizada o quanto quiser para atender às suas necessidades. Abaixo está uma adição opcional para atualizar manualmente os resultados da função personalizada.
Atualizar resultados armazenados em cache
Ao contrário das funções integradas, o Google armazena em cache as funções personalizadas para otimizar o desempenho. Portanto, se você mudar algo na função personalizada, como um valor que está sendo calculado, talvez não force uma atualização imediata. Para atualizar o resultado da função manualmente, siga estas etapas:
- Para adicionar uma caixa de seleção a uma célula vazia, clique em Inserir > Caixa de seleção.
- Adicione a célula com a caixa de seleção como um parâmetro extra da função
personalizada. Por exemplo, se você adicionar uma caixa de seleção à célula
D20, atualize a funçãotierPrice()na célulaC20para=tierPrice(C19,$B$3:$D$6,D20). - Marque ou desmarque a caixa de seleção para atualizar os resultados da função personalizada.
Colaboradores
Esta amostra é mantida pelo Google com a ajuda de especialistas em desenvolvimento do Google.