7 novas funções do Microsoft Excel - Funções auxiliares para criar expressões LAMBDA
Recentemente lançadas, estas 7 novas funções apoiam a criação de funções LAMBDA reutilizáveis, enquanto que também servem como funções autónomas.
Estas funções estão disponíveis apenas no canal beta para Office365 Insiders enquanto que a função LAMBDA começará a estar disponível para subscritores do Office 365 com o canal atual.
Juntamente com as 7 novas funções, mais algumas novidades incluem a utilização da função LAMBDA como argumento de outras funções, neste caso específico, a sua utilização como argumento nestas 7 novas funções que irei exemplificar.
A função LAMBDA pode agora também incluir argumentos opcionais de forma semelhante às outras funções e por último as expressões LAMBDA podem ser consideradas como valores, significando que podemos escrever uma expressão LAMBDA e passá-la como valor para outra função!
Faça aqui o download dos seus ficheiros de apoio!
Vejamos agora as 7 novas funções, com mais detalhe:
1) Função MAP
Esta função usa um ou mais intervalos e passa cada valor do intervalo como parâmetro para a expressão LAMBDA que aplica a fórmula a cada valor do intervalo e retorna o resultado sobre a forma de um Array.
No exemplo a expressão:
=MAP(t_vendas[Vendas];LAMBDA(vendas;SE(E(vendas>v_min;vendas<v_max);vendas*0,1;0)))
A função necessita de uma ou mais matrizes [Array] e a expressão LAMBDA como último argumento e que deverá ter um parâmetro a ser mapeado pela expressão.
Argumentos da função:
- Matriz [Array]: O intervalo a ser mapeado.
- lambda_or_array: A expressão, que deverá ser o último argumento da função e que deve ter um parâmetro para cada intervalo [Array] que é passado na expressão, neste caso ("vendas"), ou outro Array a ser mapeado.
2) Função REDUCE
A função REDUCE, reduz um Array ao resultado de um valor acumulado, por exemplo uma SOMA ou CONTAGEM, ou qualquer outro tipo de expressão utilizada pela função LAMBDA que é aplicada a cada valor do intervalo [Array] e retorna o totalizador baseado num argumento que funciona como "acumulador".
Com a mesma lógica da função anterior consegue-se agregar os valores numa SOMA ou CONTAGEM, sem necessidade de ter uma coluna auxiliar com a condição.
Argumentos da função:
- initial_value: Valor opcional. Determina o valor inicial para o acumulador.
- array: O intervalo [Array] a ser reduzido a um valor.
- função [lambda]: A expressão chamada para reduzir o intervalo [Array]. A expressão necessita de dois argumentos: O acumulador, que corresponde ao valor devolvido pela expressão e o valor que corresponde ao item do intervalo.
3) Função SCAN
A função SCAN analisa um intervalo, aplicando a expressão LAMBDA a cada valor e devolve um intervalo [Array] que contém o valor intermédio.
No exemplo, para devolver os valores acumulados na tabela, não é necessário utilizar um endereço dinâmico, ficando mais simplificada a solução quando utilizamos referências estruturadas, neste caso com uma Tabela.
Argumentos da função:
- initial_value: Valor opcional. Determina o valor inicial para o acumulador.
- array: O intervalo [Array] a ser reduzido a um valor.
- função [lambda]: A expressão chamada para analisar o intervalo [Array]. A expressão necessita de dois argumentos: O acumulador, que corresponde ao valor devolvido pela expressão e valor que corresponde ao item do intervalo.
4) Função MAKEARRAY (MARARRAY)
A função devolve um intervalo [Array] calculado, com um número especificado de linhas e de colunas, aplicando a expressão LAMBDA.
No exemplo é possível simular a "tabuada" aplicando a multiplicação entre cada item da linha com cada item da coluna, para um [Array] com 9 linhas e 10 colunas.
Desta forma o utilizador não necessita de utilizar referências mistas para trancar os endereços durante o cálculo.
Argumentos da função:
- rows: O número de linhas do intervalo.
- cols: O número de colunas do intervalo.
- função [lambda]: A expressão chamada para criar o [Array]. A expressão leva dois parâmetros: row_index e column_index, que correspondem respetivamente ao índice da linha e da coluna.
5) & 6) Funções BYROW / BYCOL
Aplicam a expressão LAMBDA a cada linha [BYROW] ou cada coluna [BYCOL] e retorna um [Array] com os resultados.
BYROW
BYCOL
Argumentos da função:
- matriz [array]: O intervalo a ser separado por linha / coluna.
- função [lambda]: A expressão que utiliza a linha [BYROW] ou coluna [BYCOL] como um único parâmetro e calcula o resultado.
7) Função ISOMITTED
Verifica se um valor (argumento da expressão LAMBDA) está em falta retornando VERDADEIRO / FALSO.
No exemplo a função ISOMITTED é colocada como condição da função SE para devolver "omisso" caso não exista o item2 da expressão LAMBDA.
Artigos relacionados:
Ordenar dados de forma dinâmica no Excel
Aprenda aqui como pode usar a nova função ORDENAR [SORT] para ordenar dados de forma dinâmica no Microsoft Excel.
Função LAMBDA - Conhece a nova função do Microsoft Excel?
A Função LAMBDA permite converter fórmulas de Microsoft Excel em funções personalizadas, para reutilizar cálculos e conjugações, e que só poderia ser feito com VBA ou outras linguagens.