Boa noite, leitor.
Hoje, vamos mostrar como usar uma das funções-padrão do Excel, que com certeza é muito útil.
Ao final, apresento uma função que criei a fim de tornar uma de suas aplicações mais práticas e eficientes.
1) A função Somase
Para aqueles que não conhecem, a função Somase permite ao usuário realizar a soma de um conjunto de valores tomando por base o uso de uma chave de referência. Numa tabela, podemos usar uma coluna com nomes para buscar valores e então realizar a soma dos valores que corresponderem positivamente à chave.
O formato da função é o que segue:
=Somase(Intervalo_de_Referência, Chave, Intervalo_de_Soma)
Onde:
Intervalo_de_Referência = Intervalo onde devem ser buscadas as chaves;
Chave = É a chave a ser comparada com os itens indicados na primeira área;
Intervalo_de_Soma = Intervalo contendo os valores a serem somados caso o item seja igual à chave.
Vamos à um exemplo. Segue abaixo uma tabela com valores e várias chaves de identificação para custos unitários:
Suponha que desejamos saber o total do custo unitário em cada mês. Podemos usar a função Somase(Intervalo_Mês, Mês_Desejado, Valores_Somados), da seguinte forma:
Perceba que o total está consistido, não houve perda de informação. Podemos fazer o mesmo para encontrar o total por Produto ou por Comprador, conforme imagens abaixo:
Mas e se quiséssemos encontrar uma combinação específica, como o total gasto pelo Marcelo na compra de Arroz, em todos os meses? Ou quanto o Luiz gastou em Feijão no período? Podemos fazer uma chave de busca para encontrar os valores desejados, conforme abaixo:
Usando a chave de busca, podemos encontrar o que desejamos, remontando a chave dentro da função Somase:
2) Casos específicos com o Somase
Em alguns casos, o uso de chaves de busca pode gerar alguns inconvenientes. Segue novo exemplo de tabela com dois códigos de referência genéricos:
Da mesma forma que no exemplo anterior, podemos calcular o total de um único código fazendo uso direto da função Somase:
Mas e no caso de montarmos chaves? Uma vez que estamos usando estes novos códigos, algo curioso pode acontecer:
Perceba que a combinação dos códigos gerou algumas chaves iguais mesmo com componentes diferentes. Isto irá afetar o resultado quando queremos a soma das combinações, retornando resultados iguais para as chaves que deveriam ser distintas:
Podemos resolver este problema utilizando um separador entre os códigos, por exemplo um "-". Assim, não teremos problemas com a ambiguidade das palavras (chaves) formadas:
Basta, agora, adicionar os separadores às chaves dentro da função Somase:
3) A função "Chave"
Muito embora seja razoável incluir um separador entre os itens de uma chave, o trabalho de adicionar manualmente um "-" entre as strings pode ser bastante maçante caso repetido várias vezes. Além disso, perde-se muito tempo. Criei então a função abaixo para ganhar eficiência e uniformizar o trabalho de criar chaves de busca:
Function Chave(ByVal Space As Range)
'
'
' Função para gerar uma chave com conteúdos das células separados por "-"
' Para seleções múltiplas (mais de uma área - segurando Ctrl durante a seleção),
' usar um parêntesis adicional, indicando que todas as áreas devem ser associadas
' à uma única varíavel range, acessada através de rng.Areas(n), onde n é o
' índice da área. Ex.:
' =Chave(Área) ou =Chave((Múltiplas_Áreas))
'
'
'
Dim rng As Range, str As String
str = ""
For Each rng In Space.Areas
For Each cell In rng
str = str & cell.Value & "-"
Next
Next
Chave = Left(str, Len(str) - 1)
End Function
O trabalho de criar as chaves com o separador incluído fica então muito mais rápido, fazendo:
Pode-se usá-la até mesmo dentro da função Somase, para gerar a chave de referência:
Esta função possui apenas uma particularidade: No caso de usarmos como parâmetro uma área com mais de uma área de seleção não contíguas (por exemplo, segurando Ctrl e clicando em várias células), deve-se usar um par de parênteses extra para indicar à função que todas as células selecionadas devem ser consideradas como um único intervalo, conforme abaixo:
Caso isto não seja feito, a célula apresentará um erro!
Bom, é isso. Espero que tenham gostado!
Para um próximo tópico, vou abordar como tornar esta e outras funções "parte" do Excel, inserindo-as num Suplemento. Desta forma, elas estarão associadas por padrão ao Excel instalado na máquina e poderão ser utilizadas sem a necessidade de trabalhar com o código em cada arquivo criado, ou ficarmos "Habilitando Macros" à cada novo uso do arquivo (supondo que as restrições de uso de macros estejam habilitadas na máquina).
Até a próxima!
Gostei muito desta postagem! Ficou bem claro e objetivo! Parabéns! TE AMO! beijo
ResponderExcluir