Desafio Excel Jogo no facebook – 3 minutos

Para jogar no Facebook, clique na imagem do jogo, acima, ou acesse minha página:

https://www.facebook.com/prof.victorsantanna

Se quiser baixar um app para Android na Google Play, tente o seguinte link:

https://play.google.com/store/apps/details?id=com.naotemnome.tresminutos

Se quiser um teste na Internet da própria Microsoft especificamente sobre Excel (embora voltado a versão 2010), tente este link:

http://office.microsoft.com/pt-br/excel-help/conheca-o-excel-2010-crie-formulas-RZ101862712.aspx?section=8

Testes são uma boa maneira de exercitar o aprendizado!

Lista de funções Excel e sua equivalência no VBA com WorksheetFunction

Aqui estou postando uma lista de funções Excel e sua equivalência no VBA com WorksheetFunction. Usamos a planilha em português, mas para usar dentro do Visual Basic, na programação de macros, precisamos das funções em inglês. Segundo a ajuda do Microsoft Visual Basic for Applications do Excel, na Referência do Desenvolvedor do Excel, o Objeto WorksheetFunction é Usado como contêiner para funções de planilha do Microsoft Excel que podem ser chamadas no Visual Basic.
O WorksheetFunction permite que o Visual Basic do Excel reconheça quase todas as funções disponíveis na planilha para uso dentro do seu código no VBA, mas, infelizmente, exige que o nome da função seja o original em inglês.

Utilização

Ficaria bem mais fácil se eu, no artigo Função Definida pelo Usuário (UDF) no Excel 2010 (http://xek.me/?p=1100em que implementei a função CombinRep (entre outras) que precisava do cálculo do fatorial, ao invés de implementar a função factorial de forma recursiva, usasse a função fatorial que já está disponível na planilha Excel. Naquele artigo, o objetivo era mostrar várias funções criadas pelo usuário, mas, na vida real, raramente queremos reimplementar funções que já existem. Por exemplo, posso fazer o cálculo da média aritmética de 3 números somando todos eles e dividindo-os por 3, mas a planilha Excel já tem disponível a função média que faz isso. Por que não usá-la diretamente dentro do VBA quando estivermos criando nossas funções? Um dos problemas, é que, dentro do VBA, precisamos das funções com seu nome em inglês para podermos usá-las. A função MÉDIA, foi traduzida do Excel em inglês AVERAGE, mas nem todas as funções tem um nome assim fácil de encontrar. A função MÉDIA.GEOMÉTRICA, por exemplo, leva o nome de GEOMEAN, o que não seria tão fácil de encontrar.

Para usar uma função de planilha Excel dentro do VBA é só usar o objeto WorsheetFunction seguido de um ponto e do nome em inglês da função desejada, com os parênteses e argumentos que forem necessários.

Exemplo: FACTDOUBLE é a versão de FATORIALDUPLO, usa-se o objeto WorksheetFunction para podermos usá-la dentro do VBA

Function n_comb(n As Integer, k As Integer)

n_comb = WorksheetFunction.FactDouble(n) / _
(WorksheetFunction.FactDouble(k) * _
 WorksheetFunction.FactDouble(n - k)) 

End Function

Abaixo segue as principais funções disponíveis através do objeto WorksheetFunction, basta escolher a versão em inglês da função e adicioná-la ao seu código VBA da seguinte maneira, conforme visto no exemplo acima:  WorksheetFunction.nomedafunçãoeminglês(argumentos)

Usei as seguintes convenções para separar as funções por tipo:

Categoria Tipo
Banco de dados 1
Data e hora 2
Engenharia 3
Estatística 4
Financeira 5
Informações 6
Lógica 7
Matemática 8
Matemática e trigonometria 9
Pesquisa e referência 10
Texto 11

Aqui vai a tabela de equivalências:

Tipo Função   (Português) Função (Inglês) DESCRIÇÃO
(da Função no Excel)
1 BDCONTAR DCOUNT Conta   as células que contêm números em uma coluna de uma lista ou de um banco de   dados que coincidem com as condições especificadas.
1 BDCONTARA DCOUNTA Conta   as células não vazias em uma coluna de uma lista ou de um banco de dados que   coincidem com as condições especificadas.
1 BDDESVPA DSTDEVP Calcula   o desvio padrão de uma população com base na população total, usando os   números em uma coluna de uma lista ou de um banco de dados que coincidem com   as condições especificadas.
1 BDEST DSTDEV Estima   o desvio padrão de uma população com base em uma amostra, usando os números   em uma coluna de uma lista ou banco de dados que coincidirem com as condições   especificadas.
1 BDEXTRAIR DGET Extrai   um único valor em uma coluna de uma lista ou de um banco de dados que   coincide com as condições especificadas.
1 BDMÁX DMAX Retorna   o maior número em uma coluna de uma lista ou de um banco de dados que   coincide com as condições especificadas.
1 BDMÉDIA DAVERAGE Calcula   a média dos valores em uma coluna de uma lista ou um banco de dados que   corresponde às condições especificadas por você.
1 BDMÍN DMIN Retorna   o menor número em uma coluna de uma lista ou de um banco de dados que   coincide com as condições especificadas.
1 BDMULTIPL DPRODUCT Multiplica   os valores em uma coluna de uma lista ou de um banco de dados que coincidem   com as condições especificadas.
1 BDSOMA DSUM Soma   os números em uma coluna de uma lista ou de um banco de dados que coincidem   com as condições especificadas.
1 BDVAREST DVAR Estima   a variância de uma população com base em uma amostra, usando os números em   uma coluna de uma lista ou de um banco de dados que coincidem com as   condições especificadas.
1 BDVARP DVARP Calcula   a variância de uma população com base na população total usando os números em   uma coluna de uma lista ou de um banco de dados que coincidem com as   condições especificadas.
2 FRAÇÃOANO YEARFRAC Calcula   a fração de ano que representa o número de dias inteiros entre duas datas   (data_inicial e data_final). Use a função de planilha FRAÇÃOANO para   identificar a proporção dos benefícios ou obrigações de um ano inteiro a   serem designados para um determinado termo.
2 DATAM EDATE Retorna   um número de série de data que é o número de meses indicado antes ou depois   de data_inicial. Use DATAM para calcular datas de liquidação ou datas de   vencimento que caem no mesmo dia do mês da data de emissão.
2 DIA.DA.SEMANA WEEKDAY Retorna   o dia da semana correspondente a uma data. O dia é dado como um inteiro,   variando de 1 (domingo) a 7 (sábado), por padrão.
2 DIAS360 DAYS360 Retorna   o número de dias entre duas datas com base em um ano de 360 dias (doze meses   de 30 dias).
2 DIATRABALHO WORKDAY Retorna   um número que representa uma data que é o número indicado de dias úteis antes   ou após uma data (a data inicial). Os dias úteis excluem fins de semana e   quaisquer datas identificadas como feriados. Use DIATRABALHO para excluir os   fins de semana ou feriados ao calcular as datas de vencimento de fatura,   horas de entrega esperadas ou o número de dias de trabalho executado.
2 DIATRABALHOTOTAL NETWORKDAYS Retorna   o número de dias úteis inteiros entre data_inicial e data_final. Dias úteis   excluem finais de semana e qualquer data identificada como feriado. Use   DIATRABALHOTOTAL para calcular benefícios dos empregados que se acumulam com   base no número de dias trabalhados durante um prazo específico.
2 FIMMÊS EOMONTH Retorna   o número de série para o último dia do mês, que é o número indicado de meses   antes ou depois de data_inicial. Use FIMMÊS para calcular as datas de   vencimento que caem no último dia do mês.
2 NÚMSEMANA WEEKNUM Retorna   o número que indica onde se encontra a semana, numericamente, em um ano.
3 BESSELI BESSELI Retorna   a função de Bessel modificada, que equivale à função de Bessel avaliada por   argumentos puramente imaginários.
3 BESSELJ BESSELJ Retorna   a função de Bessel.
3 BESSELK BESSELK Retorna   a função de Bessel modificada, que equivale às funções de Bessel avaliadas   por argumentos puramente imaginários.
3 BESSELY BESSELY Retorna   a função de Bessel, também chamada de função de Weber ou de Neumann.
3 BINADEC BIN2DEC Converte   um número binário em decimal.
3 BINAHEX BIN2HEX Converte   um número binário em hexadecimal.
3 BINAOCT BIN2OCT Converte   um número binário em octal.
3 COMPLEXO COMPLEX Converte   coeficientes reais e imaginários em números complexos no formato x + yi ou x   + yj.
3 CONVERTER CONVERT Converte   um número de um sistema de medida para outro. Por exemplo, Convert pode   traduzir uma tabela de distâncias em milhas para uma tabela de distâncias em   quilômetros.
3 DECABIN DEC2BIN Converte   um número decimal em binário.
3 DECAHEX DEC2HEX Converte   um número decimal em hexadecimal.
3 DECAOCT DEC2OCT Converte   um número decimal em octal.
3 DEGRAU GESTEP Retorna   1 se núm = passo; caso contrário, retornará 0. Use esta função para filtrar   um conjunto de valores. Por exemplo, somando várias funções DEGRAU é possível   calcular a quantidade de valores que excedem um limite.
3 DELTA DELTA Testa   se dois valores são iguais. Retorna 1 se núm1= núm2; caso contrário,   retornará 0.
3 FUNERRO ERF Retorna   a função de erro integrada entre limite_inferior e limite_superior.
3 FUNERROCOMPL ERFC Retorna   a função integrada complementar FUNERRO entre o parâmetro especificado e o   infinito.
3 HEXABIN HEX2BIN Converte   um número hexadecimal em binário.
3 HEXADEC HEX2DEC Converte   um número hexadecimal em decimal.
3 HEXAOCT HEX2OCT Converte   um número hexadecimal em octal.
3 IMABS IMABS Retorna   o valor absoluto (módulo) de um número complexo no formato de texto x + yi ou   x + yj.
3 IMAGINÁRIO IMAGINARY Retorna   o coeficiente imaginário de um número complexo no formato de texto x + yi ou   x + yj.
3 IMARG IMARGUMENT Retorna   o argumento Teta(teta), um ângulo expresso em radianos, de modo que: Equação
3 IMCONJ IMCONJUGATE Retorna   o conjugado complexo de um número complexo no formato de texto x + yi ou x +   yj.
3 IMCOS IMCOS Retorna   o cosseno de um número complexo no formato de texto x + yi ou x + yj.
3 IMDIV IMDIV Retorna   o quociente de dois números complexos no formato de texto x + yi ou x + yj.
3 IMEXP IMEXP Retorna   o exponencial de um número complexo no formato de texto x + yi ou x + yj.
3 IMLN IMLN Retorna   o logaritmo natural de um número complexo no formato de texto x + yi ou x +   yj.
3 IMLOG10 IMLOG10 Retorna   o logaritmo comum (base 10) de um número complexo no formato de texto x + yi   ou x + yj.
3 IMLOG2 IMLOG2 Retorna   o logaritmo de base 2 de um número complexo no formato de texto x + yi ou x +   yj.
3 IMPOT IMPOWER Retorna   o número complexo no formato de texto x + yi ou x + yj, elevado a uma   potência.
3 IMPROD IMPRODUCT Retorna   o produto de 2 a 29 números complexos no formato de texto x + yi ou x + yj.
3 IMRAIZ IMSQRT Retorna   a raiz quadrada de um número complexo no formato de texto x + yi ou x + yj.
3 IMREAL IMREAL Retorna   o coeficiente real de um número complexo no formato de texto x + yi ou x +   yj.
3 IMSENO IMSIN Retorna   o seno de um número complexo no formato de texto x + yi ou x + yj.
3 IMSOMA IMSUM Retorna   a soma de dois ou mais números complexos no formato de texto x + yi ou x + yj   .
3 IMSUBTR IMSUB Retorna   a diferença entre dois números complexos no formato de texto x + yi ou x +   yj.
3 OCTABIN OCT2BIN Converte   um número octal em binário.
3 OCTADEC OCT2DEC Converte   um número octal em decimal.
3 OCTAHEX OCT2HEX Converte   um número octal em hexadecimal.
4 BETA.ACUM.INV BETAINV Retorna   o inverso da função de distribuição cumulativa para uma distribuição beta   especificada. Ou seja, se probabilidade = DistBeta(x,…),   Beta.Acum.Inv(probabilidade,…) = x.
4 CONT.SE COUNTIF Calcula   o número de células não vazias em um intervalo que corresponde a determinados   critérios.
4 CONT.SES COUNTIFS Calcula   o número de células não vazias em um intervalo que correspondem a múltiplos   critérios.
4 CONT.VALORES COUNTA Calcula   o número de células não vazias e os valores na lista de argumentos.
4 CONTAR.VAZIO COUNTBLANK Conta   o número de células vazias no intervalo especificado.
4 CONTNÚM COUNT Conta   quantas células contêm números e conta os números na lista de argumentos.
4 CORREL CORREL Retorna   o coeficiente de correlação dos intervalos de célula Arg1 e Arg2.
4 COVAR COVAR Retorna   a covariância, a média dos produtos dos desvios para cada par de pontos de   dados.
4 CRESCIMENTO GROWTH Calcula   o crescimento exponencial previsto usando dados existentes. CRESCIMENTO   retorna os valores y para uma série de novos valores x que você especifica   usando valores x e y existentes. Você também pode usar a função de planilha   CRESCIMENTO para ajustar uma curva exponencial em valores x e y.
4 CRIT.BINOM CRITBINOM Retorna   o menor valor para o qual a distribuição binomial cumulativa é maior ou igual   ao valor padrão.
4 CURT KURT Retorna   a curtose de um conjunto de dados. A curtose caracteriza a capacidade   relativa de pico ou de nivelamento de uma distribuição comparada com a   distribuição normal. Curtose positiva indica uma distribuição relativamente   de pico. Curtose negativa indica uma distribuição relativamente nivelada.
4 DESV.MÉDIO AVEDEV Retorna   a média dos desvios absolutos de pontos de dados com relação a sua média.   Desv.Médio é uma medida da variabilidade em um conjunto de dados.
4 DESVPAD STDEV Estima   o desvio padrão com base em uma amostra. O desvio padrão é uma medida de   quanto os valores estão dispersos em relação ao valor médio (a média).
4 DESVPADP STDEVP Calcula   o desvio padrão com base na população inteira fornecida como argumentos. O   desvio padrão é uma medida de quanto os valores estão dispersos em relação ao   valor médio (a média).
4 DESVQ DEVSQ Retorna   a soma dos quadrados dos desvios de pontos de dados da média da amostra.
4 DIST.BIN.NEG NEGBINOMDIST Retorna a distribuição binomial negativa. DIST.BIN.NEG retorna a probabilidade de haver núm_f falhas antes do núm_s êxito, quando a probabilidade constante de um êxito é probabilidade_s. Esta função é semelhante à distribuição binomial, a diferença é que o número de êxitos é fixo e o número de tentativas é variável. Como o binomial, as tentativas são consideradas independentes.
4 DIST.HIPERGEOM HYPGEOMDIST Retorna   a distribuição hipergeométrica. DIST.HIPERGEOM retorna a probabilidade de um   determinado número de sucessos de uma amostra, de acordo com o tamanho da   amostra, sucessos da população e tamanho da população. Use DIST.HIPERGEOM   para problemas com uma população finita, onde cada observação seja   equivalente a um sucesso ou a um fracasso, e onde cada subconjunto de um   determinado tamanho seja escolhido com igual probabilidade.
4 DIST.LOGNORMAL LOGNORMDIST Retorna   a distribuição lognormal de x, onde In(x) é normalmente distribuído com média   de parâmetros e desv_padrão. Use essa função para analisar dados que foram   transformados como logaritmos.
4 DIST.NORM NORMDIST Retorna   a distribuição normal para a média e o desvio padrão especificados. Esta   função é bastante aplicada em estatísticas, incluindo testes de hipóteses.
4 DIST.NORMP NORMSDIST Retorna   a função de distribuição cumulativa normal padrão. A distribuição tem uma   média igual a 0 (zero) e um desvio padrão de um. Use esta função no lugar de   uma tabela de áreas de curva normal padrão.
4 DIST.QUI CHIDIST Retorna   a probabilidade unicaudal da distribuição qui-quadrada.
4 DISTBETA BETADIST Retorna   a função de distribuição cumulativa beta.
4 DISTEXPON EXPONDIST Retorna   a distribuição exponencial. Use DISTEXPON para criar um modelo do tempo entre   os eventos, como quanto tempo determinado caixa eletrônico leva para liberar   o dinheiro. Por exemplo, você pode usar DISTEXPON para determinar a   probabilidade de que o processo leve no máximo um minuto.
4 DISTF FDIST Retorna   a distribuição de probabilidade F. Você pode usar esta função para determinar   se dois conjuntos de dados têm graus de diversidade diferentes. Por exemplo,   é possível examinar os resultados dos testes de homens e mulheres que   ingressam no 2º grau e determinar se a variabilidade entre as mulheres é   diferente daquela encontrada entre os homens.
4 DISTGAMA GAMMADIST Retorna   a distribuição gama. Use esta função para estudar variáveis que podem ter uma   distribuição inclinada. A distribuição gama costuma ser usada na análise de   enfileiramento de mensagens.
4 DISTORÇÃO SKEW Retorna   a distorção de uma distribuição. O valor enviesado caracteriza o grau de   assimetria de uma distribuição em torno de sua média. Um valor enviesado   positivo indica uma distribuição com uma ponta assimétrica que se estende em   direção a valores mais positivos. Um valor enviesado negativo indica uma   distribuição com uma ponta assimétrica que se estende em direção a valores   mais negativos.
4 DISTRBINOM BINOMDIST Retorna   a probabilidade de distribuição binomial do termo individual.
4 DISTT TDIST Retorna   os pontos percentuais (probabilidade) para a distribuição t de Student, onde   o valor numérico (x) é um valor calculado de t para o qual os pontos   percentuais devem ser computados. A distribuição t é usada no teste de   hipóteses de pequenos conjuntos de dados de amostras. Use esta função em vez   de uma tabela de valores críticos para a distribuição t.
4 EPADYX STEYX Retorna   o erro padrão do valor-y previsto para cada x da regressão. O erro padrão é   uma medida da quantidade de erro na previsão de y para um x individual.
4 FISHER FISHER Retorna   a transformação Fisher em x. Essa transformação produz uma função que é   normalmente distribuída em vez de distorcida. Use esta função para executar   testes de hipóteses no coeficiente de correlação.
4 FISHERINV FISHERINV Retorna   o inverso da transformação Fisher. Use esta transformação ao analisar   correlações entre intervalos ou matrizes de dados. Se y = FISHER(x), então   FISHERINV(y) = x.
4 FREQÜÊNCIA FREQUENCY Calcula   a frequência com que valores ocorrem em um intervalo de valores e, em   seguida, retorna uma matriz vertical de números. Por exemplo, use FREQUÊNCIA   para contar o número de notas de testes dentro de intervalos de notas. Pelo   fato de FREQUÊNCIA retornar uma matriz, deve ser inserida como uma fórmula   matricial.
4 INCLINAÇÃO SLOPE Retorna   a inclinação da linha de regressão linear através de pontos de dados em   val_conhecidos_y e val_conhecidos_x. A inclinação é a distância vertical   dividida pela distância horizontal entre dois pontos quaisquer na linha, que   é a taxa de mudança ao longo da linha de regressão.
4 INT.CONFIANÇA CONFIDENCE Retorna   um valor que você pode usar para construir um intervalo de confiança para uma   média da população.
4 INTERCEPÇÃO INTERCEPT Calcula   o ponto no qual uma linha irá interceptar o eixo y usando valores de x e y   existentes. O ponto de interseção é baseado em uma linha de regressão de   melhor ajuste plotada pelos valores de x e y conhecidos. Use a função   INTERCEPÇÃO quando quiser determinar o valor da variável dependente e a   variável independente for 0 (zero). Por exemplo, você pode usar a função   INTERCEPÇÃO para prever a resistência elétrica de um metal a 0°C quando os   pontos de dados forem medidos em temperatura ambiente ou mais elevada.
4 INV.NORM NORMINV Retorna   o inverso da distribuição cumulativa normal para a média especificada e o   desvio padrão.
4 INV.NORMP NORMSINV Retorna   o inverso da distribuição padrão cumulativa normal. A distribuição tem uma   média de zero e um desvio padrão de um.
4 INV.QUI CHIINV Retorna   o inverso da probabilidade unicaudal da distribuição qui-quadrada.
4 INVF FINV Retorna   o inverso da distribuição de probabilidades F. Se p = DISTF(x,…), então   INVF(p,…) = x.
4 INVGAMA GAMMAINV Retorna   o inverso da distribuição cumulativa gama. Se p = DISTGAMA(x;…), então   INVGAMA(p;…) = x.
4 INVLOG LOGINV Use   a distribuição lognormal para analisar dados transformados logaritmicamente.
4 INVT TINV Retorna   o valor t da distribuição t de Student como uma função da probabilidade e dos   graus de liberdade.
4 LNGAMA GAMMALN Retorna   o logaritmo natural da função gama, G(x).
4 MAIOR LARGE Retorna   o k-ésimo maior valor em um conjunto de dados. Você pode usar essa função   para selecionar um valor com base em sua posição relativa. Por exemplo, você   pode usar MAIOR para retornar a maior pontuação ou o terceiro lugar.
4 MÁXIMO MAX Retorna   o maior valor em um conjunto de valores.
4 MED MEDIAN Retorna   o mediano dos números fornecidos. O mediano é o número no meio de um conjunto   de números.
4 MÉDIA AVERAGE Retorna   a média aritmética dos argumentos.
4 MÉDIA.GEOMÉTRICA GEOMEAN Retorna   a média geométrica de uma matriz ou de um intervalo de dados positivos. Por   exemplo, você pode usar MÉDIA.GEOMÉTRICA para calcular o crescimento médio   considerando-se juros compostos com taxas variáveis.
4 MÉDIA.HARMÔNICA HARMEAN Retorna   a média harmônica de um conjunto de dados. A média harmônica é a recíproca da   média aritmética das recíprocas.
4 MÉDIA.INTERNA TRIMMEAN Retorna   a média do interior de um conjunto de dados. MÉDIA.INTERNA calcula a média   obtida excluindo-se uma porcentagem dos pontos de dados das pontas superior e   inferior de um conjunto de dados. Você pode usar esta função quando quiser   excluir dados externos à sua análise.
4 MÉDIASE AVERAGEIF Retorna   a média (aritmética) de todas as células em um intervalo que satisfazem um   determinado critério.
4 MÉDIASES AVERAGEIFS Retorna   a média (aritmética) de todas as células que satisfazem múltiplos critérios.
4 MENOR SMALL Retorna   o k-ésimo menor valor do conjunto de dados. Use esta função para retornar   valores com uma posição específica relativa em um conjunto de dados.
4 MÍNIMO MIN Retorna   o menor número em um conjunto de valores.
4 MODO MODE Retorna   o valor que ocorre com mais frequência, ou repetitivo, em uma matriz ou   intervalo de dados.
4 ORDEM RANK Retorna   a posição de um número em uma lista de números. A ordem de um número é seu   tamanho em relação a outros valores de uma lista. (Se você fosse classificar   a lista, a ordem do número seria a sua posição).
4 ORDEM.PORCENTUAL PERCENTRANK Retorna   a ordem de um valor em um conjunto de dados como uma porcentagem do conjunto   de dados. Essa função pode ser usada para avaliar a posição relativa de um   valor em um conjunto de dados. Por exemplo, você pode usar ORDEM.PORCENTUAL   para avaliar a posição de uma nota em um teste de aptidão entre todas as   notas do teste.
4 PADRONIZAR STANDARDIZE Retorna   um valor normalizado de uma distribuição caracterizada por média e   desv_padrão.
4 PEARSON PEARSON Retorna   o coeficiente de correlação do momento do produto Pearson, r, um índice sem   dimensão que varia de -1,0 a 1,0 inclusive e reflete a extensão de uma   relação linear entre dois conjuntos de dados.
4 PERCENTIL PERCENTILE Retorna   o percentil k-ésimo dos valores de um intervalo. Você pode usar esta função   para estabelecer um limite de aceitação. Por exemplo, pode decidir examinar   candidatos com notas superiores ao percentil 90º.
4 PERMUT PERMUT Retorna   o número de permutas de um determinado número de objetos que podem ser   selecionadas a partir do número de objetos. Uma permuta é qualquer conjunto   ou subconjunto de objetos ou eventos em que a ordem interna é significativa.   Permutas são diferentes de combinações, nas quais a ordem interna não é   significativa. Use esta função para cálculos de probabilidade no estilo de   loteria.
4 POISSON POISSON Retorna   a distribuição Poisson. Uma aplicação comum da distribuição Poisson é prever   o número de eventos em um período específico, como o número de carros que   passam por um pedágio por minuto.
4 PREVISÃO FORECAST Calcula,   ou prevê, um valor futuro usando valores existentes. O valor previsto é um   valor de y para um determinado valor de x. Os valores conhecidos são valores   de x e de y existentes, e o novo valor é previsto através da regressão   linear. Você pode usar esta função para fazer previsões de vendas futuras,   inventariar os recursos necessários ou analisar tendências de consumo.
4 PROB PROB Retorna   a probabilidade de os valores de um intervalo estarem entre dois limites. Se   limite_superior não for fornecido, retornará a probabilidade dos valores do   intervalo_x serem iguais ao limite_inferior.
4 PROJ.LIN LINEST Calcula   as estatísticas de uma linha usando o método “quadrados menores” para   calcular uma linha reta que melhor se adapte aos seus dados e retorna uma   matriz que descreve a linha. Como essa função retorna uma matriz de valores,   ela deve ser inserida como uma fórmula matricial.
4 PROJ.LOG LOGEST Na   análise de regressão, calcula uma curva exponencial adequada aos dados e   retorna uma matriz de valores que descrevem a curva. Como essa função retorna   uma matriz de valores, ela deve ser inserida como uma fórmula matricial.
4 QUARTIL QUARTILE Retorna   o quartil do conjunto de dados. Quartis são comumente usados em dados de   vendas e de pesquisas para dividir a população em grupos. Por exemplo, você   pode usar QUARTIL para descobrir a faixa de 25% maiores rendas em uma   população.
4 RQUAD RSQ Retorna   o quadrado do coeficiente de correlação do momento do produto de Pearson   através dos pontos de dados em val_conhecidos_y e val_conhecidos_x. Para   obter mais informações, consulte PEARSON. O valor r ao quadrado pode ser   interpretado como a proporção da variância em y que pode ser atribuída à   variância em x.
4 TENDÊNCIA TREND Retorna   valores em uma tendência linear. Ajusta uma linha (usando o método de   quadrados mínimos) às matrizes val_conhecidos_y e val_conhecidos_x. Retorna   os valores y nessa linha para a matriz de novos_valores_x que você   especificar.
4 TESTE.QUI CHITEST Retorna   o teste para independência.
4 TESTEF FTEST Retorna   o resultado de um teste F. Um teste F retorna a probabilidade bicaudal de que   as variâncias em matriz1 e matriz2 não sejam significativamente diferentes.   Use esta função para determinar se duas amostras têm variâncias diferentes.   Por exemplo, considerando resultados de testes de escolas particulares e   públicas, você pode testar se essas escolas têm níveis diferentes de   diversidade de pontuação de teste.
4 TESTET TTEST Retorna   a probabilidade associada ao teste t de Student. Use TESTET para determinar   se duas amostras poderão ser provenientes de duas populações subjacentes que   possuem a mesma média.
4 TESTEZ ZTEST Retorna   o valor de probabilidade unicaudal de um teste-z. Para uma média de população   hipotética, TESTEZ retorna a probabilidade de que a média da população seja   maior que a média de observações no conjunto de dados (matriz) — ou seja, a   média da amostra
4 VAR VAR Estima   a variância com base em uma amostra.
4 VARP VARP Calcula   a variância com base na população inteira.
4 WEIBULL WEIBULL Retorna   a distribuição Weibull. Use esta distribuição na análise de confiabilidade,   como no cálculo do tempo médio de falha para determinado dispositivo.
5 AMORDEGRC AMORDEGRC Retorna   a depreciação para cada período contábil. Esta função é fornecida para o   sistema contábil francês.
5 AMORLINC AMORLINC Retorna   a depreciação para cada período contábil. Esta função é fornecida para o   sistema contábil francês.
5 BD DB Retorna   a depreciação de um ativo para um período especificado, usando o método de   balanço de declínio fixo.
5 BDD DDB Retorna   a depreciação de um ativo com relação a um período especificado usando o   método de saldos decrescentes duplos ou qualquer outro método especificado   por você.
5 BDV VDB Retorna   a depreciação de um ativo para o período que você especificar, incluindo   períodos parciais, usando o método balanço declinante duplo ou algum outro   método especificado. BDV é o balanço de declínio variável.
5 CUPDATAANT COUPPCD Retorna   a data de cupom anterior à data de quitação
5 CUPDATAPRÓX COUPNCD Retorna   um número que representa a próxima data de cupom após a data de liquidação.
5 CUPDIAS COUPDAYS Retorna   o número de dias no período de cupom que contém a data de liquidação.
5 CUPDIASINLIQ COUPDAYBS Retorna   o número de dias do início do período de cupom até a data de liquidação.
5 CUPDIASPRÓX COUPDAYSNC Retorna   o número de dias da data de liquidação até a data do próximo cupom.
5 CUPNÚM COUPNUM Retorna   o número de cupons pagáveis entre a data de liquidação e a data de   vencimento, arredondado para o próximo cupom inteiro.
5 DESC DISC Retorna   a taxa de desconto de um título.
5 DPD SLN Retorna   a depreciação em linha reta de um ativo durante um período.
5 DURAÇÃO DURATION Retorna   a duração de Macauley para um valor nominal assumido de R$ 100. A duração é   definida como a média ponderada do valor presente do fluxo de caixa, e é   usada para calcular a resposta do preço de um título a alterações no   rendimento.
5 EFETIVA EFFECT Retorna   a taxa de juros anual efetiva, dados a taxa de juros anual nominal e o número   de períodos compostos por ano.
5 ÉPGTO ISPMT Calcula   os juros pagos durante um período específico de um investimento. Essa função   é fornecida para que haja compatibilidade com o Lotus 1-2-3.
5 IPGTO IPMT Retorna   o pagamento de juros para um determinado período de investimento de acordo   com pagamentos periódicos e constantes e com uma taxa de juros constante.
5 JUROSACUM ACCRINT Retorna   juros acumulados de um título que paga juros periódicos.
5 JUROSACUMV ACCRINTM Retorna   juros acumulados de um título que paga juros no vencimento.
5 LUCRODESC YIELDDISC Retorna   o rendimento anual de um título descontado.
5 LUCROPRIMINC ODDFYIELD Retorna   o rendimento de um título com um período inicial incompleto (curto ou longo).
5 LUCROÚLTINC ODDLYIELD Retorna   o rendimento de um título com um período final incompleto (curto ou longo).
5 LUCROVENC YIELDMAT Retorna   o rendimento anual de um título que paga juros no vencimento.
5 MDURAÇÃO MDURATION Retorna   a duração modificada Macauley de um título com um valor par presumido de   R$100.
5 MOEDADEC DOLLARDE Converte   um preço em formato de moeda, na forma fracionária, em um preço na forma   decimal. Use MOEDADEC para converter preços na forma fracionária, como preços   de seguros, em decimais.
5 MOEDAFRA DOLLARFR Converte   um preço, apresentado na forma decimal, em um preço apresentado na forma   fracionária. Use MOEDAFRA para converter preços na forma decimal em frações,   como preços de seguros.
5 MTIR MIRR Retorna   a taxa interna modificada de retorno de uma série de fluxos de caixa   periódicos. MTIR considera o custo do investimento e os juros recebidos com o   reinvestimento do caixa.
5 NOMINAL NOMINAL Retorna   a taxa de juros anual nominal, dados a taxa efetiva e o número de períodos   compostos por ano.
5 NPER NPER Retorna   o número de períodos de um investimento de acordo com os pagamentos   periódicos e constantes e com uma taxa de juros constante.
5 OTN TBILLEQ Retorna   o rendimento de um título equivalente a uma obrigação do Tesouro.
5 OTNLUCRO TBILLYIELD Retorna   o rendimento de uma obrigação do Tesouro.
5 OTNVALOR TBILLPRICE Retorna   o preço por R$ 100,00 de valor nominal de uma obrigação do Tesouro.
5 PGTO PMT Calcula   o pagamento de um empréstimo com base em pagamentos constantes e em uma taxa   de juros constante.
5 PGTOCAPACUM CUMPRINC Retorna   o capital acumulado pago sobre um empréstimo entre início_período e   final_período.
5 PGTOJURACUM CUMIPMT Retorna   os juros acumulados pagos por um empréstimo entre início_período e   final_período.
5 PPGTO PPMT Retorna   o pagamento sobre o principal para um determinado período de um investimento   baseado em pagamentos periódicos e constantes e em uma taxa de juros   constante.
5 PREÇO PRICE Retorna   o preço pelo valor nominal R$100 de um título que paga juros periódicos.
5 PREÇODESC PRICEDISC Retorna   o preço por valor nominal de R$ 100,00 de um título descontado.
5 PREÇOPRIMINC ODDFPRICE Retorna   o preço por valor nominal de R$ 100 de um título que tem um primeiro período   incompleto (curto ou longo).
5 PREÇOÚLTINC ODDLPRICE Retorna   o preço por valor nominal de R$ 100 de um título que tem um último período de   cupom incompleto (curto ou longo).
5 PREÇOVENC PRICEMAT Retorna   o preço pelo valor nominal R$100 de um título que paga juros no vencimento.
5 RECEBER RECEIVED Retorna   a quantia recebida no vencimento de um título totalmente investido.
5 SDA SYD Retorna   a depreciação dos dígitos da soma dos anos de um ativo para um período   especificado.
5 TAXA RATE Retorna   a taxa de juros por período de uma anuidade. TAXA é calculado por iteração e   pode ter zero ou mais soluções. Se os resultados sucessivos de TAXA não   convergirem para 0,0000001 depois de 20 iterações, TAXA retornará o valor de   erro #NÚM!.
5 TAXAJUROS INTRATE Retorna   a taxa de juros de um título totalmente investido.
5 TIR IRR Retorna   a taxa interna de retorno de uma sequência de fluxos de caixa representada   pelos números em valores. Estes fluxos de caixa não precisam ser iguais como   no caso de uma anuidade. Entretanto, os fluxos de caixa devem ser feitos em   intervalos regulares, como mensalmente ou anualmente. A taxa interna de   retorno é a taxa de juros recebida para um investimento que consiste em   pagamentos (valores negativos) e receitas (valores positivos) que ocorrem em   períodos regulares.
5 VF FV Retorna   o valor futuro de um investimento de acordo com os pagamentos periódicos e   constantes e com uma taxa de juros constante.
5 VFPLANO FVSCHEDULE Retorna   o valor futuro de um capital inicial após a aplicação de uma série de taxas   de juros compostos. Use VFPLANO para calcular o valor futuro de um   investimento com uma taxa variável ou ajustável.
5 VP PV Retorna   o valor presente de um investimento. O valor presente é o valor total de uma   série de pagamentos futuros. Por exemplo, quando você empresta dinheiro, o   valor do empréstimo é o valor presente para o credor.
5 VPL NPV Calcula   o valor líquido atual de um investimento usando uma taxa de desconto e uma   série de pagamentos futuros (valores negativos) e receita (valores positivos)
5 XTIR XIRR Fornece   a taxa interna de retorno para um programa de fluxos de caixa que não é   necessariamente periódico. Para calcular a taxa interna de retorno para uma   sequência de fluxos de caixa periódicos, use a função TIR.
5 XVPL XNPV Retorna   o valor líquido atual de um cronograma de fluxos de caixa que não é   necessariamente periódico. Double de leitura/gravação.
6 É.NÃO.DISP ISNA Verifica   o tipo de valor e retorna VERDADEIRO ou FALSO, dependendo se o valor se   refere ao valor de erro #N/D (valor não disponível).
6 É.NÃO.TEXTO ISNONTEXT Verifica   o tipo de valor e retorna VERDADEIRO ou FALSO, dependendo se o valor se   refere a qualquer item que não seja texto. (Observe que esta função retornará   VERDADEIRO se o valor se referir a uma célula em branco.)
6 ÉERRO ISERR Verifica   o tipo de valor e retorna VERDADEIRO ou FALSO, dependendo se o valor se   refere a qualquer valor de erro que não seja #N/D.
6 ÉERROS ISERROR Verifica   o tipo de valor e retorna VERDADEIRO ou FALSO, dependendo se o valor se   refere a qualquer valor de erro (#N/D, #VALOR!, #REF!, #DIV/0!, #NÚM!, #NOME?   ou #NULO!).
6 ÉIMPAR ISODD Verifica   o tipo de valor e retorna VERDADEIRO ou FALSO, dependendo se o valor é ímpar.
6 ÉLÓGICO ISLOGICAL Verifica   o tipo de valor e retorna VERDADEIRO ou FALSO, dependendo se o valor se   refere a um valor lógico.
6 ÉNÚM ISNUMBER Verifica   o tipo de valor e retorna VERDADEIRO ou FALSO, dependendo se o valor se   refere a um número.
6 ÉPAR ISEVEN Verifica   o tipo de valor e retorna VERDADEIRO ou FALSO, dependendo se o valor é par.
6 ÉTEXTO ISTEXT Verifica   o tipo de valor e retorna VERDADEIRO ou FALSO, dependendo se o valor se   refere a texto.
7 E AND Retorna   VERDADEIRO se todos os seus argumentos são VERDADEIROS; retorna FALSO se um   ou mais argumentos são FALSOS.
7 OU OR Retorna   VERDADEIRO se algum argumento é VERDADEIRO; retorna FALSO se todos os   argumentos são FALSO.
7 SEERRO IFERROR Retorna   um valor especificado se a fórmula resulta em um erro; caso contrário,   retorna o resultado da fórmula. Use a função SEERRO para interceptar e lidar   com erros em uma fórmula (fórmula: uma sequência de valores, referências   de células, nomes, funções ou operadores em uma célula que juntos produzem um   novo valor. Uma fórmula sempre começa com um sinal de igual (=).).
8 MATRIZ.DETERM MDETERM Retorna   o determinante de uma matriz.
8 MMC LCM Retorna   o menor múltiplo comum dos inteiros. O menor múltiplo comum é o menor inteiro   positivo que é múltiplo de todos os argumentos inteiros núm1, núm2 etc. Use o   MMC para adicionar frações com diferentes denominadores.
8 SOMASE SUMIF Adiciona   as células especificadas por um determinado critério.
8 SUBTOTAL SUBTOTAL Cria   subtotais.
9 ACOS ACOS Retorna   o arco cosseno, ou inverso do cosseno, de um número. O arco cosseno é o   ângulo cujo cosseno é Arg1. O ângulo retornado é dado em radianos no   intervalo de 0 (zero) a pi.
9 ACOSH ACOSH Retorna   o cosseno hiperbólico inverso de um número. O número deve ser maior ou igual   a 1. O cosseno hiperbólico inverso é o valor cujo cosseno hiperbólico é Arg1,   de tal forma que Acosh(Cosh(número)) seja igual a Arg1.
9 ALEATÓRIOENTRE RANDBETWEEN Retorna   um número aleatório inteiro entre os números especificados. Um novo número   aleatório inteiro será retornado sempre que a planilha for calculada.
9 ARRED ROUND Arredonda   um número até uma quantidade especificada de dígitos.
9 ARREDMULTB FLOOR Arredonda   um número para baixo, aproximando-o de zero, até o múltiplo mais próximo de   significância.
9 ARREDONDAR.PARA.BAIXO ROUNDDOWN Arredonda   um número para baixo até zero.
9 ARREDONDAR.PARA.CIMA ROUNDUP Arredonda   um número para cima afastando-o de zero.
9 ASEN ASIN Retorna   o arco seno, ou inverso do seno, de um número. O arco seno é o ângulo cujo   seno é Arg1. O ângulo retornado é dado em radianos no intervalo de -pi/2 a   pi/2.
9 ASENH ASINH Retorna   o seno hiperbólico inverso de um número. O seno hiperbólico inverso é o valor   cujo seno hiperbólico é Arg1, portanto Asenh(Senh(número)) é igual a Arg1.
9 ATAN2 ATAN2 Retorna   o arco tangente, ou a tangente inversa, das coordenadas x e y especificadas.   O arco tangente é o ângulo a partir do eixo x até uma linha contendo a origem   (0, 0) e um ponto com as coordenadas (núm_x, núm_y). O ângulo é dado em   radianos entre -pi e pi, excluindo -pi.
9 ATANH ATANH Retorna   a tangente hiperbólica inversa de um número. O número deve estar entre -1 e 1   (excluindo -1 e 1).
9 COMBIN COMBIN Retorna   o número de combinações de um determinado número de itens. Use Combin para   determinar o número total possível de grupos para determinado número de   objetos.
9 COSH COSH Retorna   o cosseno hiperbólico de um número.
9 FATDUPLO FACTDOUBLE Retorna   o fatorial duplo de um número.
9 FATORIAL FACT Retorna   o fatorial de um número. O fatorial de um número é igual a 1*2*3*…*núm.
9 GRAUS DEGREES Converte   radianos em graus.
9 ÍMPAR ODD Retorna   um número arredondado para o próximo número inteiro ímpar.
9 LN LN Retorna   o logaritmo natural de um número. Logaritmos naturais são baseados na   constante e (2.71828182845904).
9 LOG LOG Retorna   o logaritmo de um número para a base especificada.
9 LOG10 LOG10 Retorna   o logaritmo de base -10 de um número.
9 MARRED MROUND Retorna   um número arredondado para o múltiplo desejado.
9 MATRIZ.INVERSO MINVERSE Retorna   a matriz inversa da matriz armazenada em uma matriz.
9 MATRIZ.MULT MMULT Retorna   o produto matriz de duas matrizes. O resultado é uma matriz com o mesmo   número de linhas como matriz1 e o mesmo número de colunas como matriz2.
9 MDC GCD Retorna   o máximo divisor comum de dois ou mais inteiros. O máximo divisor comum é o   maior inteiro que divide núm1 e núm2 sem resto.
9 MULT PRODUCT Multiplica   todos os números fornecidos como argumentos e retorna o produto.
9 MULTINOMIAL MULTINOMIAL Retorna   a proporção do fatorial de uma soma de valores em relação ao produto dos   fatoriais.
9 PAR EVEN Retorna   o núm arredondado para o inteiro par mais próximo. Esta função pode ser usada   para processar itens que aparecem em pares. Por exemplo, um engradado aceita   fileiras de um ou dois itens. O engradado está cheio quando o número de   itens, arredondado para mais até o par mais próximo, preencher sua   capacidade.
9 PI PI Retorna   o número 3,14159265358979, a constante matemática pi, com precisão de 15   dígitos.
9 POTÊNCIA POWER Retorna   o resultado de um número elevado a uma potência.
9 QUOCIENTE QUOTIENT Retorna   a parte inteira de uma divisão. Use esta função para descartar o resto de uma   divisão.
9 RADIANOS RADIANS Converte   graus em radianos.
9 RAIZPI SQRTPI Retorna   a raiz quadrada de (núm* pi).
9 ROMANO ROMAN Converte   um algarismo arábico em romano, como texto.
9 SENH SINH Retorna   o seno hiperbólico de um número.
9 SOMA SUM Adiciona   todos os números em um intervalo de células.
9 SOMAQUAD SUMSQ Retorna   a soma dos quadrados dos argumentos.
9 SOMARPRODUTO SUMPRODUCT Multiplica   os componentes correspondentes nas matrizes fornecidas e retorna a soma   destes produtos.
9 SOMASEQÜÊNCIA SERIESSUM Retorna   a soma de uma série polinomial baseada na fórmula: Equação
9 SOMASES SUMIFS Adiciona   as células em um intervalo que correspondem a múltiplos critérios.
9 SOMAX2DY2 SUMX2MY2 Retorna   a soma da diferença dos quadrados dos valores correspondentes em duas   matrizes.
9 SOMAX2SY2 SUMX2PY2 Retorna   a soma da soma dos quadrados dos valores correspondentes em duas matrizes. A   soma da soma dos quadrados é um termo comum em muitos cálculos estatísticos.
9 SOMAXMY2 SUMXMY2 Retorna   a soma dos quadrados das diferenças dos valores correspondentes em duas   matrizes.
9 TANH TANH Retorna   a tangente hiperbólica de um número.
9 TETO CEILING Retorna   um número arredondado para cima, afastando-o de zero, até o múltiplo mais   próximo de significância.
10 CORRESP MATCH Retorna   a posição relativa de um item em uma matriz (matriz: usada para criar   fórmulas únicas que produzem vários resultados ou que operam em um grupo de   argumentos organizados em linhas e colunas. Um intervalo de matrizes   compartilha uma fórmula comum; uma constante de matriz é um grupo de   constantes usado como um argumento.) que corresponde a um valor especificado   em uma ordem especificada. Use CORRESP no lugar de uma das funções de PROC   quando precisar da posição de um item em um intervalo, em vez de o próprio   item.
10 ESCOLHER CHOOSE Use   Arg1 como o índice para retornar um valor da lista de argumentos de valor.
10 ÍNDICE INDEX Retorna   um valor ou a referência para um valor de dentro de uma tabela ou intervalo.   Há duas formas da função ÍNDICE: a forma de matriz (matriz: usada para   criar fórmulas únicas que produzem vários resultados ou que operam em um   grupo de argumentos organizados em linhas e colunas. Um intervalo de matrizes   compartilha uma fórmula comum; uma constante de matriz é um grupo de   constantes usado como um argumento.) e a de referência.
10 PROC LOOKUP Retorna   um valor de um intervalo de uma linha ou uma coluna ou de uma matriz. A   função PROC tem dois formatos de sintaxe: vetor e matriz.
10 PROCH HLOOKUP Localiza   um valor específico na linha superior de uma tabela ou matriz de valores e   retorna um valor na mesma coluna de uma linha especificada na tabela ou   matriz. Use PROCH quando seus valores de comparação estiverem localizados em   uma linha ao longo da parte superior de uma tabela de dados e você quiser   observar um número específico de linhas mais abaixo. Use PROCV quando os   valores de comparação estiverem em uma coluna à esquerda dos dados que deseja   localizar.
10 PROCV VLOOKUP Localiza   um valor na primeira coluna de uma matriz de tabela e retorna um valor na   mesma linha de outra coluna na matriz da tabela.
10 RTD RTD Este   método conecta a uma fonte para receber dados em tempo real.
10 TRANSPOR TRANSPOSE Retorna   um intervalo vertical de células como um intervalo horizontal ou vice-versa.   A função TRANSPOR precisa ser inserida como uma fórmula de   matriz (fórmula de matriz: uma fórmula que executa vários cálculos em um   ou mais conjuntos de valores e retorna um único resultado ou vários   resultados. As fórmulas de matriz ficam entre chaves { } e são inseridas   pressionando-se CTRL+SHIFT+ENTER.) em um intervalo com o mesmo número de   linhas e colunas, respectivamente, das existentes em uma matriz (matriz:   usada para criar fórmulas únicas que produzem vários resultados ou que operam   em um grupo de argumentos organizados em linhas e colunas. Um intervalo de   matrizes compartilha uma fórmula comum; uma constante de matriz é um grupo de   constantes usado como um argumento.). Use TRANSPOR para deslocar a orientação   vertical e horizontal de uma matriz em uma planilha.
11 PROCURAR SEARCH As   funções LOCALIZAR e LOCALIZARB localizam uma cadeia de texto dentro de outra   cadeia de texto e retornam o número da posição inicial da primeira cadeia de   texto a partir do primeiro caractere da segunda cadeia de texto.
11 ARRUMAR TRIM Remove   todos os espaços do texto exceto os espaços únicos entre palavras. Use   ARRUMAR no texto que recebeu de outro aplicativo que pode ter espaçamento   irregular.
11 ASC ASC Para   idiomas de conjuntos de caracteres de byte duplo, transforma caracteres de   largura total (byte duplo) em caracteres de meia largura (byte único).
11 BAHTTEXT BAHTTEXT Converte   um número em texto tailandês e adiciona um sufixo de “Baht.”
11 DEF.NÚM.DEC FIXED Arredonda   o número para o número especificado de decimais, formata o número no formato   decimal usando vírgula e pontos e retorna o resultado como texto.
11 FONÉTICA PHONETIC Extrai   os caracteres fonéticos (furigana) de uma cadeia de texto.
11 LOCALIZAR FIND Localiza   informações específicas em uma planilha.
11 MOEDA DOLLAR A   função descrita neste tópico da Ajuda converte um número em formato de texto   e aplica um símbolo de moeda. O nome da função (e o símbolo aplicado) depende   das suas configurações de idioma.
11 MUDAR REPLACE Substitui   parte de uma cadeia de texto, baseada no número de caracteres especificado,   por uma cadeia de texto diferente.
11 PRI.MAIÚSCULA PROPER Aplica   maiúscula à primeira letra de uma cadeia de texto e a qualquer outra letra do   texto que venha depois de qualquer caractere que não seja uma letra. Converte   todas as outras letras em minúsculas.
11 REPT REPT Repete   um texto um determinado número de vezes. Utilize REPT para preencher uma   célula com um número de ocorrências de uma cadeia de texto.
11 SUBSTITUIR REPLACE Substitui   parte de uma cadeia de texto, baseada no número de caracteres especificado,   por uma cadeia de texto diferente.
11 TEXTO TEXT Converte   um valor em texto com um formato de número específico.
11 TIRAR CLEAN Remove   todos os caracteres do texto que não podem ser impressos.

Função Definida pelo Usuário (UDF) no Excel 2010

Em nossa última postagem, onde falarmos sobre Análise Combinatória (Análise Combinatória no Excel 2010: Combinação, Arranjo ou Permutação) mencionamos sobre criação de Função Definida pelo Usuário. Conforme prometemos, mostraremos como criar uma função personalizada para calcular a combinação com repetição no final desta postagem.

Existem muitas funções prontas no EXCEL, mas nem todas as fórmulas do mundo estão implementadas na forma de função. Entretanto, é possível criar nossas próprias funções, uma função definida pelo usuário (UDF – User Defined Functions ou Custom Excel Functions). Este tópico é descrito pela Microsoft como

Escrevendo um procedimento Function

Se houver um cálculo complexo a ser reutilizado com freqüência no Microsoft Excel, você pode criar sua própria função de planilha para executar o cálculo.

Para criar suas próprias funções personalizadas, utilize o Microsoft Visual Basic® for Applications (VBA). O VBA é uma linguagem de programação interna do Excel que está acessível pelo atalho ALT+F11.

Vamos começar com uma fórmula simples de ser implementada como função…

Função Definida pelo Usuário

Problema: um termômetro americano marca 68 graus Fahrenheit. Será que está quente ou frio?

A fim de manter o exemplo simples, escolhemos implementar uma função calcula o número de graus Celsius a partir dos graus Fahrenheit. Quando a função for chamada a partir de uma célula do EXCEL, o resultado do cálculo é retornado e mostrado na célula.

Antes de começar, crie a seguinte planilha colocando os valores numéricos nas células A2, A3 e A4: tabela fahrenheit-celsius excel

O procedimento a seguir ensina, em apenas 5 passos, como criar e usar uma função definida pelo usuário:

I) O atalho ALT+F11 abre a janela do VBA (Microsoft Visual Basic For Applications)

II) Procure pela guia Inserir e selecione a opção Módulovba - inserir módulo no excel 2010

III) Na janela que abriu, digite o código de sua função. Por exemplo, uma função para calcular graus Celsius a partir dos graus Fahrenheit:

Function Celsius(grausF)   

        Celsius = (grausF - 32) * 5 / 9

End Function

Digite a função acima na janela Módulo 1 aberta:

digitando uma UDF no VBA Excel

IV) No menu Arquivo do VBA, clique em Fechar e voltar para Microsoft Excel (ou use o atalho Alt+Q) e Volte para a planilha Excel .

V) Teste sua função. Digite na planilha a função que você acabou de implementar (não esqueça de começar com o sinal de igualdade) colocando entre parênteses o argumento desejado (neste caso um número ou uma célula que contém um número). Neste exemplo você deve digitar =CELSIUS(A2) na célula B2 (ou outra célula qualquer) do Excel.

Observe que o Excel reconhece a existência da função CELSIUS à medida que está sendo digitada:

digitando a UDF no Excel

Na planilha, se os valores numéricos estiverem nas células A2, A3 e A4, use sua função para fórmulas do mesmo modo que usaria qualquer função de planilha. Por exemplo, a função Celsius pode ser usada na planilha assim:

UDF digitada no Excel 2010

 Importante: Uma função criada dessa maneira somente se encontra disponível para uso na pasta de trabalho onde tiver sido criada e, se quiser ser usada posteriormente, precisará ser salva como Pasta de Trabalho Habilitada Para Macro Do Excel.

Dica: se quiser usar essa função em outro local, você pode copiar o código da função para módulos do VBA situados em outras pastas de trabalho.

Detalhes da função definida pelo usuário Celsius

Eis, novamente, a listagem de nossa função, vamos examiná-la em detalhes:

Function Celsius(grausF) 


     Celsius = (grausF - 32) * 5 / 9

End Function

O nome da função que será usada pelo usuário, Celsius no exemplo acima, deve receber dentro do corpo da função o resultado do cálculo realizado com o argumento grausF, que, neste caso foi subtraído de 32 e depois multiplicado por cinco nonos (5/9). As quatro operações básicas (soma, subtração, multiplicação e divisão)  mais a potência utilizam os mesmos operadores que usamos dentro de uma planilha Excel: +*/ e ^.

Outros operadores bem como algumas funções estão disponíveis, mas usam uma forma diferente dos operadores e funções que usamos dentro de uma planilha. Outros operadores disponíveis dentro do VBA: \ (divisão inteira), Mod (para obter o resto da divisão inteira), & (para concatenar texto). Existem ainda várias funções , mas isso é fácil de achar na Internet e foge do escopo da nossa postagem.

O exemplo de FUNÇÃO DEFINIDA PELO USUÁRIO (UDF) usado nesta postagem foi bastante simplificado, apenas para demonstrar o funcionamento básico de uma função definida pelo usuário. Para criar funções complexas no VBA, é preciso conhecer um pouco o modelo de objetos do VBA para Excel, a estrutura da linguagem do Visual Basic (VB) e o ambiente VBA.

Exemplo de outra Função Definida pelo Usuário

1) Como calcular através de uma UDF o processo inverso, transformação de Celsius para Fahrenheit?

Neste caso, siga os mesmos passos anteriores, mas a função digitada em módulo 1 ficará assim (pode ser digitada abaixo da função anterior, se não quiser apagar a outra função já digitada):

Function Fahrenheit(grausC) ' de graus C para graus F

     Fahrenheit = grausC * 9 / 5 + 32

End Function

Para usar a função acima dentro de uma planilha, escreva =FAHRENHEIT(100) dentro de uma célula no Excel para saber, por exemplo, a temperatura em que a água ferve (100°C) em um termômetro com a escala Fahrenheit. Deverá surgir o número 212.

2) Eis aqui um outro exemplo de função definida pelo usuário para calcular centímetros a partir de valores em polegadas:

Function cm(pol)  ' transformar polegadas em centímetros

     
     cm = pol * 2.54


End Function

A função acima, quando digitada em Módulo 1 (conforme fizemos com a função anterior), permite calcular na planilha a conversão de polegadas para centímetros, bastando para isso digitar =CM(A2) na planilha Excel, caso o número em polegadas esteja na célula A2, por exemplo.

3) A função que faz o contrário, transforma centímetros em polegadas está aqui:

Function pol(cm)  ' transformar centímetros em polegadas 

     pol = cm / 2.54

End Function

Para usar, basta digitar, por exemplo, =POL(12) na planilha Excel e saberemos quanto mede, em polegadas, a medida 12 centímetros. Deve dar 4,724409 polegadas.

Como criar uma função para calcular a combinação com repetição

Seguindo os passos acima, mostrados aqui de forma resumida:

I) Tecle o atalho ALT+F11 para abrir a janela do VBA

II) Vá na guia Inserir e selecione a opção Módulo

III) Digite o seguinte código:

Function CombinRep(ByVal n As Long, ByVal p As Long) As Double

    If (n > 0 And p > 0) Then

       CombinRep = factorial(n + p - 1) / (factorial(p) * factorial(n - 1))

    Else

        CombinRep = Error()

    End If

End Function

Function factorial(ByVal n As Long) As Double

    factorial = 1

    Dim a As Double

    For a = 1 To n

        factorial = factorial * a

    Next a

End Function

IV) Tecle o atalho ALT+Q para sair do VBA e voltar à planilha

V) Teste a função entrando com algum valor, como por exemplo, digitando na planilha Excel, =CombiRep(4,2)  em alguma célula qualquer. Se tudo estiver funcionando como deveria, deve aparecer programagicamente o número 10, conforme previsto em nossa última postagem (http://xek.me/?p=1099).

Acabamos de criar, conforme prometido, uma função para cálculo de Combinação com Repetição.

Em nossa próxima postagem veremos como fazer funções que permitam usar intervalos como argumentos ou entrar com número variável de argumentos, exatamente como faz a função SOMA do Excel e assim poderemos implementar a PERMUTAÇÃO com ELEMENTOS REPETIDOS.

 

Análise Combinatória no Excel 2010: Combinação, Arranjo ou Permutação

Análise Combinatória no Excel: Como diferencio quando é combinação, arranjo ou permutação, se é simples ou com repetição para calcular no Excel?

abcdDificilmente sem alguma prática conseguimos diferenciar os casos de repetição dos casos simples, dos casos de arranjo dos casos de combinação e assim por diante. É preciso um pouquinho de estudo e paciência para conseguir identificar cada caso! Vou tentar mostrar exemplos aqui e pra começar vamos tentar investigar essas diferenças. Análise Combinatória no Excel é o tema desta postagem e das últimas 4 postagens, por sinal. São elas (clique nos títulos para ver as postagens):

Combinação e Arranjo Com Repetição no Excel 2010

Permutação no Excel 2010 – Análise Combinatória

Excel – Arranjo Simples: Análise Combinatória

Análise Combinatória no Excel – Combinação Simples

Tabela completa de fórmulas

Em primeiro lugar, é hora de revisar todas as fórmulas usadas nas últimas postagens. Aqui vai o resumo de tudo:

tabela fórmulas análise combinatória Excelpermutação de bolas de 4 coresCom a tabela acima resolvemos QUASE todos os casos de Análise Combinatória no Excel, faltando alguns casos em que o problema requer raciocínio mais do que fórmulas (por isso não abordaremos aqui)

Bom, vamos começar pelo caso mais simples: permutação. Permutação é quando troco tudo de lugar e como estou usando todos os elementos de um conjunto. Também posso imaginar a permutação como um arranjo em que n=p, assim fica menos uma fórmula para decorar… De qualquer forma, imagine as 4 primeiras letras do alfabeto: se eu trocar todas de lugar, quantas possibilidades eu tenho? Ora, apenas trocando todas de lugar, é um caso de permutação simples (ou arranjo simples onde n=p=4), como visto em outra postagem, obterei as seguintes 24 combinações mostradas ao lado.

Um caso mais complicado, seria uma permutação com repetição, (não mostrada na postagem anterior sobre repetições e nem na postagem sobre permutações), que é, na verdade, um arranjo com repetição em que n=p. Por exemplo, quando quero formar uma senha com as 4 primeiras letras do alfabeto; uma senha permite a repetição de letras e trocando elas de ordem tenho outra senha diferente. Usando a fórmula mostrada na tabela acima para arranjos com repetição, coloque no Excel em qualquer célula a fórmula =POTÊNCIA(4;4) e obteremos a resposta 256,  que é 4 elevado na quarta potência. Quer saber quais são todas as 256 senhas possíveis? Estão aqui: AAAA, AAAB, AAAC, AAAD, AABA, AABB, AABC, AABD, AACA, AACB, AACC, AACD, AADA, AADB, AADC, AADD, ABAA, ABAB, ABAC, ABAD, ABBA, ABBB, ABBC, ABBD, ABCA, ABCB, ABCC, ABCD, ABDA, ABDB, ABDC, ABDD, ACAA, ACAB, ACAC, ACAD, ACBA, ACBB, ACBC, ACBD, ACCA, ACCB, ACCC, ACCD, ACDA, ACDB, ACDC, ACDD, ADAA, ADAB, ADAC, ADAD, ADBA, ADBB, ADBC, ADBD, ADCA, ADCB, ADCC, ADCD, ADDA, ADDB, ADDC, ADDD, BAAA, BAAB, BAAC, BAAD, BABA, BABB, BABC, BABD, BACA, BACB, BACC, BACD, BADA, BADB, BADC, BADD, BBAA, BBAB, BBAC, BBAD, BBBA, BBBB, BBBC, BBBD, BBCA, BBCB, BBCC, BBCD, BBDA, BBDB, BBDC, BBDD, BCAA, BCAB, BCAC, BCAD, BCBA, BCBB, BCBC, BCBD, BCCA, BCCB, BCCC, BCCD, BCDA, BCDB, BCDC, BCDD, BDAA, BDAB, BDAC, BDAD, BDBA, BDBB, BDBC, BDBD, BDCA, BDCB, BDCC, BDCD, BDDA, BDDB, BDDC, BDDD, CAAA, CAAB, CAAC, CAAD, CABA, CABB, CABC, CABD, CACA, CACB, CACC, CACD, CADA, CADB, CADC, CADD, CBAA, CBAB, CBAC, CBAD, CBBA, CBBB, CBBC, CBBD, CBCA, CBCB, CBCC, CBCD, CBDA, CBDB, CBDC, CBDD, CCAA, CCAB, CCAC, CCAD, CCBA, CCBB, CCBC, CCBD, CCCA, CCCB, CCCC, CCCD, CCDA, CCDB, CCDC, CCDD, CDAA, CDAB, CDAC, CDAD, CDBA, CDBB, CDBC, CDBD, CDCA, CDCB, CDCC, CDCD, CDDA, CDDB, CDDC, CDDD, DAAA, DAAB, DAAC, DAAD, DABA, DABB, DABC, DABD, DACA, DACB, DACC, DACD, DADA, DADB, DADC, DADD, DBAA, DBAB, DBAC, DBAD, DBBA, DBBB, DBBC, DBBD, DBCA, DBCB, DBCC, DBCD, DBDA, DBDB, DBDC, DBDD, DCAA, DCAB, DCAC, DCAD, DCBA, DCBB, DCBC, DCBD, DCCA, DCCB, DCCC, DCCD, DCDA, DCDB, DCDC, DCDD, DDAA, DDAB, DDAC, DDAD, DDBA, DDBB, DDBC, DDBD, DDCA, DDCB, DDCC, DDCD, DDDA, DDDB, DDDC e DDDD

Observe que no caso anterior, se levássemos em consideração que numa senha as letras podem ser maiúsculas ou minúsculas, teríamos arranjo com repetição usando as letras a, b, c, d, A, B, C ou D em que n=8 e p=4 e  a fórmula ficaria =POTÊNCIA(8;4), dando um total de 4096 senhas diferentes. É por isso que é muito importante usarmos combinações de maiúsculas e minúsculas ao criar uma senha, fica muito mais difícil de alguém descobrir! Não vou listar aqui as 4096 senhas, porque iria ocupar muito espaço… :-)

Para diferenciar entre ARRANJO COM REPETIÇÃO de ARRANJO SIMPLES de COMBINAÇÃO COM REPETIÇÃO de COMBINAÇÃO SIMPLES montei o seguinte esquema: quero obter, ainda com as 4 primeiras letras do alfabeto, todas as senhas possíveis de 2 letras. Como já vimos na postagem sobre Arranjos com Repetição (http://xek.me/?p=1097), a fórmula é =POTÊNCIA(4;2) no Excel…

Eis todas as 16 possíveis senhas:

arranjo com repetição

tabela 1

O que fizemos foi, praticamente, um “produto cartesiano” de dois conjuntos com as mesmas 4 letras em cada um. Agora imagine que a partir do arranjo com repetições acima gostaríamos de ter um arranjo sem repetições, o que mudaria? Teríamos de retirar  da tabela acima as letras que aparecem repetidas, AA, BB, CC e DD, que são as linhas (I), (VI), (XI) e (XVI) e ficaríamos com:

arranjo simples 2 a 2

tabela 2

Note que o cálculo de =PERMUT(4;2) no Excel vai dar 12, que é o que esperávamos para a tabela acima de arranjos sem repetição, conforme vimos na postagem sobre arranjos simples (http://xek.me/?p=1057).

Agora pegue novamente a tabela 1 com seus 16 arranjos com repetição e suponha que queremos as COMBINAÇÕES COM REPETIÇÃO. O que teria de sair da tabela 1? Sabemos que, neste caso, uma combinação “AB” será igual a “BA”, por exemplo. Teremos de tirar todos os caso da tabela em que uma dupla aparece novamente, só que invertida. Ou seja teríamos de tirar (V), (IX), (X), (XIII), (XIV) e  o (XV) que correspondem aos arranjos BA, CA, CB, DA, DB e DC e ficaríamos com:

arranjo simples

tabela 3

A COMBINAÇÃO COM REPETIÇÃO não tem uma função própria no Excel, precisamos montar uma fórmula. Para isto, devemos usar =FATORIAL(4+2-1) / (FATORIAL(2) * FATORIAL(4-1)) no Excel ou, dependendo da versão, =FATO(4+2-1) / (FATO(2) * FATO(4-1))). Vimos este cálculo na postagem anterior quando mostramos vários problemas de Arranjos e Combinações com Repetição (http://xek.me/?p=1097).

Em uma próxima postagem, onde falaremos sobre criação de funções definidas pelo usuário, mostraremos como criar uma função par calcular a combinação com repetição.

Esta tabela 3, acima, da COMBINAÇÃO COM REPETIÇÃO ainda pode ser alvo de uma nova modificação. Pegue esta tabela 3 e retire todas as repetições, ou seja, retire AA, BB, CC e DD, que são as linhas (I), (VI), (XI) e (XVI) e ficaremos com a COMBINAÇÃO SIMPLES:

combinação simples

tabela 4

Como vimos na postagem sobre COMBINAÇÃO SIMPLES, o cálculo no Excel é feito com =COMBIN(4;2) em alguma célula da planilha e resultará no número 6. Para detalhes adicionais, dê uma revisada na nossa primeira postagem sobre Análise Combinatória no Excel – Combinação Simples em http://xek.me/?p=1049.

Espero que a explanação acima sobre Análise Combinatória no Excel tenha ajudado!

Um último problema

Imagine o seguinte cenário: você precisa saber quantos jogos são possíveis de serem realizados entre 4 times, é Combinação, Arranjo, Simples ou com Repetição? Há duas respostas possíveis. Em primeiro lugar sabemos que não há repetição, já que um time não joga contra ele mesmo. Em segundo lugar, precisamos considerar se um jogo AxB é o mesmo jogo BxA. Se considerarmos que A versus B é diferente de B versus A porque o time citado em primeiro tem o mando de campo, teremos um arranjo pois, se a ordem não importasse seria combinação, mas como a ordem fará diferença, é um arranjo simples. No Excel isso seria o resultado da tabela 2, que já calculamos.

Na próxima postagem, onde falaremos sobre criação de funções definidas pelo usuário criaremos uma função par calcular a combinação com repetição.

Combinação e Arranjo Com Repetição no Excel 2010

Como Calcular Combinação e Arranjo Com Repetição no Excel 2010?

1 2 3 4 5 6 7 8 9Combinação Simples (http://xek.me/?p=1049) e Arranjo Simples (http://xek.me/?p=1057) já foram vistos nas postagens anteriores, além das permutações simples, permutações circulares e permutações com repetição de elementos (http://xek.me/?p=1077). O que faltam inventar para complicar nossa cabeça? A combinação e arranjo com repetição, claro…

Em primeiro lugar vamos revisar as fórmulas necessárias para resolver a parada no nosso querido Excel, lembrando que o Excel apresenta notações diversas para fatorial, às vezes usando FATO( ) e às vezes usando FATORIAL( ) dependendo da versão utilizada:

fórmulas de combinação e arranjo no Excel

A próxima postagem fará um resumo sobre o que vimos até agora, mostrando todas as fórmulas utilizadas em todas as postagens sobre análise combinatória usando Excel – Análise Combinatória no Excel 2010: Combinação, Arranjo ou Permutação – Para vê-la, clique aqui: http://xek.me/?p=1099.

Combinação Simples

Um exemplo típico do cálculo de combinação sem repetição (simples) é tendo 9 bolas numeradas de 1 a 9 dentro de uma urna, quero saber quantos subconjuntos diferentes de 3 bolas posso formar. Este, aliás é o princípio do sorteio com bolinhas (tipo Mega Sena, bingo, etc), pois uma vez que só temos uma bolinha com cada número, a mesma não poderá ser retirada duas vezes. Já vimos como calcular isso no Excel usando a fórmula da combinação simples onde n=9 e p=3, basta colocar em qualquer célula do Excel a função =COMBIN(9,3) para obter a resposta 84.

Combinação com Repetição

Mas quando um problema assim passa ser um problema com repetições? No caso de termos várias bolas numeradas com os números 1 a 9 ou no caso em que a bolinha sorteado pudesse ser colocada de volta numa urna (por exemplo) o mesmo número poderia participar mais de uma vez do subgrupo, isto é, eu poderia ter subconjuntos como (1, 1, 1) ou (1, 1, 2), etc. Em relação ao problema mostrado na seção anterior, combinação simples, ainda temos n= 9 e p=3, mas temos de usar a fórmula da combinação com repetição.  Neste caso, o Excel não tem uma função pronta para o cálculo e teríamos de usar a fórmula =FATO(9+3-1) / (FATO(3) * FATO(9-1)) em alguma célula qualquer do Excel para obter 165. Lembre-se que em algumas versões do Excel, não usamos FATO, mas FATORIAL.

São outros problemas que envolvem combinação com repetição:

1) Uma cantina serve, numa promoção, pratos com 3 porções de alimentos que podem ser: arroz, feijão, purê, couve ou omelete. De quantas formas distintas posso montar um prato, sabendo que o cliente pode escolher qualquer alimento disponível inclusive mais de uma porção do alimento, desde que tenha exatamente 3 porções em cada prato? Resposta: n=5, p=3, Combinação com repetição (um prato com arroz, feijão e purê é o mesmo que purê, feijão e arroz, logo é combinação, mas podemos ter 2 ou 3 porções do mesmo alimento como quem gosta de feijão, feijão e feijão, logo é com repetição), portanto ficaria no Excel =FATO(5+3-1) / (FATO(3)*FATO(5-1)) ou =FATORIAL(5+3-1) / (FATORIAL(3)*FATORIAL(5-1)) que deve dar 35;

2) Uma empresa, na páscoa, pinta ovos de uma única cor, quantas alternativas há para pintar 10 ovos iguais sendo que só estão disponíveis apenas 4 cores? Resposta: mudando os ovos de lugar não muda nada e as cores podem ser repetidas, logo é um caso de Combinação com repetição com n=10 e p=4;

3) Um conjunto C={1, 2, 3, 4, 5, 6} pode formar quantos subconjuntos diferentes contendo 2 elementos? Como um subconjunto {1, 2} é o mesmo que um subconjunto {2, 1} não é um caso de arranjo, mas os conjuntos {1, 1} ou {2, 2}, por exemplo, podem ser criados, logo há repetição. É um caso de combinação com repetição com n=6 e p=2.

Arranjos Simples

Arranjo simples ou sem repetição, como já vimos em outra postagem, é um caso facilmente resolvido no Excel com a função PERMUT. Um exemplo de arranjo simples é quando quero montar tabela de jogos em que a ordem dos times tenha importância (o primeiro é o mandante do jogo). Outro caso é quando quero números a partir de um conjunto de algarismos em que não posso repetir os algarismos. O número 123 é diferente do número 321, por exemplo. Para rever como se faz, dê uma olhada na postagem sobre Arranjo Simples (http://xek.me/?p=1057).

Arranjos Com Repetição

Quando os números que quero montar a partir de algarismos podem conter algarismos repetidos tenho um caso de Arranjo com repetição.

Exemplo: com os 9 algarismos significativos (isto é, sem o zero), quero saber quantos números diferentes posso ter usando apenas 4 algarismos.

Sabemos que teremos os números de 1111 até 9999 retirando todos os números que tem algum algarismo zero… Mas como chegamos lá? Usamos a fórmula do arranjo com repetição, com n=9 e p =4 e colocaremos =POTÊNCIA(9;4) em alguma célula do Excel o que resultará em 6561.

Outros exemplos de problemas de arranjos com repetição:

1) Uma moeda é jogada 4 vezes, uma depois da outra. Quantas sequências de resultado são possíveis? n=4 p=2, use  =POTÊNCIA(4;2) no Excel;

2) Quantas palavras com 3 letras podemos formar com as 26 letras de nosso alfabeto? n=26 p=3, use  =POTÊNCIA(26;3) no Excel;

3) Quantas senhas de 4 dígitos diferentes posso formar usando apenas os algarismos? n=10 e p=4, use  =POTÊNCIA(10;4) no Excel.

Nossa próxima postagem será a última sobre análise combinatória através do Excel – Análise Combinatória no Excel 2010: Combinação, Arranjo ou Permutação – o link é: http://xek.me/?p=1099.

Permutação no Excel 2010 – Análise Combinatória

Permutação no Excel 2010 – permutação simples, permutação circular e permutação com repetição de elementos 

Nas postagens anteriores mostrei como lidar com ARRANJOS simples (http://xek.me/?p=1057) e COMBINAÇÕES simples (http://xek.me/?p=1049) sem repetição no EXCEL 2010. Chegou a vez das permutações, mas vamos aproveitar e mostrar aqui não só as PERMUTAÇÕES simples, mas também como calcular as permutações circulares e as permutações com repetição de elementos. Eis as fórmulas da permutação:

fórmulas da permutação no Excel

Acima, as fórmulas que usaremos para os diversos cálculos realizados nesta postagem tanto na matemática como sua equivalente no Excel 2010. Lembre que a função fatorial pode ser FATO( ) ou FATORIAL( ), dependendo da versão de Excel que você está usando.

permutação de bolas de 4 coresPERMUTAÇÕES SIMPLES no EXCEL

Exemplo: “tenho 4 bolas com cores diferentes, de quantas maneiras posso dispor estas 4 bolas uma do lado da outra?”

Este é um caso claro de permutação, pois uso todos os elementos n do meu conjunto, onde n=4. Veja na imagem ao lado todas as 24 permutações possíveis.

Bom, se eu tiver de desenhar bolas para calcular isso o tempo todo, vai ficar bem chato!

Ao saber que a permutação é um caso particular de arranjo em que todos os elementos estão sendo usados, podemos usar a função PERMUT(núm ; núm_escolhido) do Excel que, apesar do nome, serve mesmo é para o cálculo de arranjos. Um arranjo de núm elementos em que eu pego um subconjunto de núm_escolhido de elementos igual a núm (todos) pode ser calculado com a função PERMUT repetindo-se o número n nas duas posições como argumentos da função. A vantagem é que fica sendo independente da versão do Office que você tem na sua máquina.

Se eu colocar na célula A2 o número n e em B2 o número p, ambas as células serão preenchidas com o número 4, portanto. Na célula C2 posso usar a função =PERMUT(A2;B2). Veja abaixo a fórmula utilizada no Excel:

permutação no Excel 2010

Outra possibilidade é que, “trocando as bolas” ([trocadilho infame detectado!]), as permutações simples podem ser calculadas usando a função fatorial do Excel, mas dependendo da versão do Excel (2003, 2007 ou 2010), a função fatorial pode ser escrita como FATO(núm) ou FATORIAL(núm). Você vai ter de testar uma delas e descobrir qual. Veja abaixo como eu fiz para a minha versão, usando ainda A2 como meu número n e em C2 a função =FATO(A2):

fatorial no Excel

Não faz diferença, o resultado dará os mesmos 24 da função PERMUT, como era esperado.

Permutação Circular

Problema: “André, Bianca, Carlos e Diana, de mãos dadas formando uma roda, podem ser dispostos de quantas maneiras diferentes?”

roda de amigos

Como dá para adivinhar, é um caso de permutação circular. Na permutação simples, a resposta seria 24, mas André, Bianca, Carlos e Diana, se estiverem ocupando as posições 1, 2, 3 e 4 de um círculo, não estarão formando uma roda diferente se ocuparem as posições 2, 3, 4 e 1 ou 3, 4, 1 e 2 ou 4, 1, 2 e 3. Eles apenas giraram a roda e permaneceram na mesma posição relativa, como pode ser observado na imagem:

rodaamigos2Todos permanecendo na mesma disposição relativa não irá caracterizar um círculo diferente, vão ficar girando e girando até ficarem tontos, mas a disposição será a mesma. Portanto, o número de permutações em que se considera disposição em círculo é menor do que o número de permutações simples.

Abaixo, a resposta no Excel, usei a célula A2 com o número 4 e em B2 coloquei a fórmula =FATO(A2-1), lembrando que em outras versões do Excel, a fórmula pode ser =FATORIAL(A2-1).

permutação circular no Excel

Permutação com Elementos Repetidos

Se eu quiser saber quantos anagramas de 4 letras diferentes formo com a palavra ANEL, vou obter a resposta 24, exatamente como no problema das bolas, só que ao invés de bolas de 4 cores, terei as letras A, N, E e L no lugar de cada bola. Os 24 anagramas serão:

ANEL, NELA, ELAN, LANE, ANLE, NLEA, LEAN, EANL, NAEL, AELN, ELNA, LNAE, AENL, ENLA, NLAE, LAEN, LNEA, NEAL, EALN, ALNE, NALE, ALEN, LENA e ENAL

Mas se a palavra fosse, ao invés de ANEL, a palavra MALA? A letra A está repetida, portanto quando troco o primeiro A da palavra MALA pelo segundo A não formo um anagrama diferente. Portanto é um caso em que devo usar a formula da PERMUTAÇÃO com ELEMENTOS REPETIDOS. Para o caso de MALA, a fórmula do Excel ficaria sendo =FATO(4)/(FATO(2)) o que daria 12. Veja a fórmula para n em B3, n1 em B4 e o cálculo sendo feito em B5:

permutação com elementos repetidos no excel

Os 12 anagramas obtidos serão: MALA, ALAM, LAMA, AMAL, MAAL, AALM, ALMA, LMAA, AMLA, MLAA, LAAM e AAML.

Esse foi um caso simples, mas se eu tivesse várias letras repetidas como em ARARA em que a letra R repete duas vezes e a letra A repete 3? Quantos anagramas de 5 letras são possíveis?

Olhe os anagramas formados: RRAAA, RARAA, RAARA, RAAAR, ARRAA, ARARA, ARAAR, AARRA, AARAR e AAARR.

Nesse caso, minha fórmula teria o n=5 (5 letras) o n1 seria 2 (temos 2 letras R) e n2 seria 3 (são 3 letras A) e para os valores 5, 2 e 3 respectivamente nas células B3, B4 e B5 a fórmula no Excel ficaria:

cálculo de permutação circular no Excel

Como este problema precisa de uma fórmula montada caso a caso, o ideal seria criar uma função definida pelo usuário (usando VBA) com entradas através de um intervalo, por exemplo, como é na função SOMA do Excel. Para ver como fazer isso, o que foge um pouco do nível básico da nossa postagem, deixarei para as próximas postagens…

Na próxima postagem mostrarei os casos de Arranjos e Combinações com repetição: http://xek.me/?p=1097