Somar valores dentro de um período de datas com Excel

Dado que você tenha uma série de dados com as respectivas datas e você precise soma-los baseado no período de tempo que eles ocorreram, como por exemplo somar todas as vendas por mês.

É possível fazer isso de forma fácil no Excel usando a fórmula SUMIFS (SOMASE em português):

=SUMIFS(valores; datas; ">=" & DATE(ano,mês,dia); datas; "<=" & DATE(ano,mês,dia))

Onde:

  • valores: É o range da valores que serão somados
  • datas: É o range de datas que serão comparados

Exemplo:

Exemplo de soma por período
Exemplo de soma por período

Nesse exemplo também utilizei as funções YEAR e MONTH (ANO e MES em português) para extrair o ano e mês das células e não precisar editar a fórmula para cada período que eu quiser utilizar.

Encontrar a n-ésima ocorrência de um valor no Excel

Já fiz um post mostrando como encontrar a última ocorrência de um determinado valor no Excel, mas agora vou mostrar como é possível encontrar o número da linha da n-éssima ocorrência de um determinado valor.

Dado que você tenha uma planilha, como a seguinte:

Se eu buscar pela terceira ocorrência de “Café”, quero que a função retorne o valor 8, que corresponde ao número da linha. Para isso, utilizaremos as funções SMALL e ROW (MENOR e LIN em português):

=SMALL(IF(E1=$A$2:$A$10; ROW($A$2:$A$10)-ROW($A$1)+1); E2)

Essa é uma função matricial, então para aplica-la utilize CONTROL+SHIFT+ENTER.

Resultado

Caso queira o valor associado ao invés do número da linha, utilize a função acima em conjunto com a função INDEX (ÍNDICE em português):

=INDEX($B$2:$B$10;SMALL(IF(E1=$A$2:$A$10;ROW($A$2:$A$10)-ROW($A$2)+1);E2))

Aplique com CONTROL+SHIFT+ENTER.

Resultado

Encontrar a última ocorrência de um determinado valor no Excel

Dado que você tenha uma planilha com diversos valores repetidos, como encontrar a última ocorrência de um dado valor? Existem diversas formas de resolver isso, a mais simples é usando a função LOOKUP (ou PROC em português) do Excel.

Suponha que você tenha uma planilha com alguns dados, como itens de uma compra e o valor e queira encontrar o valor que pagou na última vez que comprou um determinado item:

planilha exemplo

Nesse exemplo, se eu procurar por “Caneta” a função deve retornar o valor “R$ 2,50”. A chamada da função fica assim:

=LOOKUP(2;1/(A2:A5=D2);B2:B5)

Resultado

Resultado

Explicação
No segundo parametro usamos 1/(A2:A5=D2) como vetor de procura, onde (A2:A5=D2) irá retornar um vetor com valores TRUE/FALSE para cada índice indicando se corresponde ou não ao valor procurado. Dividindo isso por 1, teremos um vetor com 1s ou erro #DIV/0!.

Ai que entra a mágica, o primeiro parâmetro da função é o valor buscado no vetor, como passamos o valor 2 e nosso vetor de procura não tem nenhum, a função retornará o último número (o último 1) do vetor que corresponde ao índice da linha que procuramos no vetor de resultado (B2:B5).

Como fazer deploy automático com Bitbucket

Neste artigo, vou mostrar como fazer um deploy automático de um site em um servidor, no meu caso na DreamHost, usando a funcionalidade Webhocks do Bitbucket.

Como funciona

  • Você faz commit e push para seu repositório no Bitbucket
  • O Bitbucket fará um POST na URL que você configurou de acordo com algumas regras
  • Esse POST acionará o script de deploy que fará pull das alterações em seu servidor

Continue lendo “Como fazer deploy automático com Bitbucket”

SafeFrame

Iframe costuma ser uma boa solução quando se precisa incluir algum conteúdo de terceiros em uma página, isolando completamente o código inserido e garantindo a segurança das informações ali contidas. Por outro lado, ele não permite interações entre o código inserido e a página, ao contrário do SafeFrame.

SafeFrame é uma API Javascript que permite uma comunicação segura entre um conteúdo externo e uma página de maneira segura. Com ele é possível, por exemplo, inserir um anúncio que expanda em resposta a uma interação do usuário.

Para saber mais:

  1. http://www.iab.net/safeframe