Função Makearray Excel

Neste artigo você aprenderá como usar a função Makearray do Excel com exemplos.

Definições da Função MakeArray Excel

Definições

Versão: Excel Microsoft 365 para Windows, MAC e Web.

Objetivo: Retorna uma matriz calculada de uma linha e coluna de tamanho especificado, aplicando um LAMBDA.

Sintaxe: =MAKEARRAY(rows, cols, lambda(linha, col))

Parâmetros

  • linha: O número de linhas na matriz. Deve ser maior que zero.
  • cols: O número de colunas na matriz. Deve ser maior que zero.
  • lambda: Uma LAMBDA que é chamada para criar a matriz. A LAMBDA toma dois parâmetros:
    • linha: O índice de linha da matriz.
    • col: O índice da coluna da matriz.

Erros:

Fornecer uma função LAMBDA inválida ou um número incorreto de parâmetros devolvendo um #VALUE! erro chamado “Parâmetros Incorretos”.

Definir um argumento linha ou col para um valor < 1 ou para um não número retorna um #VALOR! Erro.

Exemplo Básico da Função de Criar Matriz

No exemplo abaixo estamos criando uma matriz dinâmica com uma quantidade variável de linhas e colunas aonde o cálculo será:

Número da linha * Número da coluna * Valor Fixo.

makearray excel 1

Para este primeiro exemplo usamos a seguinte fórmula:

=MAKEARRAY(D22;D23;LAMBDA(linha;coluna;linha*coluna*D24))

Veja que temos o parâmetro de quantidade de linhas, em seguida quantidade de colunas e por último a função, que será sempre um LAMBDA, aonde irá ser feito o cálculo.

No lambda nomeamos o primeiro parâmetro como linha, o segundo como coluna, poderiam ser outros nomes.

E o último parâmetro passamos o cálculo que é feito, no caso a multiplicação da linha, coluna e do valor fixo na célula D24.

makearray excel 2

O resultado que temos então é uma matriz criada com 10 linhas e 4 colunas.

makearray excel 3

Exemplo de MakeArray no Excel com Valore Aleatórios

Neste exemplo você verá como criar uma matriz de linhas e colunas com quantidades definidas nas células e com valores aleatórios.

Os valores aleatórios são azul, verde, branco, amarelo.

Para gerar estes valores aleatórios usamos a fórmula seguinte:

=MAKEARRAY(I22;I23;LAMBDA(linha;coluna;ESCOLHER(ALEATÓRIOENTRE(1;4);”azul”;”verde”;”branco”;”amarelo”)))

makearray excel 4

Na função LAMBDA passamos a função ALEATÓRIOENTRE e passamos os valores mínimo 1 e máximo 4 e são escolhidos entre eles usando a função ESCOLHER aonde temos os valores que podem ser escolhidos.

Como resultado temos:

makearray excel 5

Para a formatação das cores usamos a formatação condicional, aonde colocamos que se o valor for aquela determinada cor é alterado o fundo da célula conforme definido.

makearray excel 7

Exemplo Função Imagem Excel

Neste exemplo será criada uma função com Makearray do Excel com a lista de bandeiras da copa do mundo.

Acima temos a lista com todas as bandeiras da copa.

O nosso objetivo é criar uma lista com as imagens à partir destas imagens.

Para isso usamos a função:

=MAKEARRAY(4;8;LAMBDA(linha;coluna;IMAGEM(ÍNDICE(B11:B42;linha*8-8+coluna;1))))

Nela passamos que desejamos uma matriz de 4 linhas e 8 colunas, e passamos para a função IMAGEM a função ÍNDICE, que busca na lista de bandeiras a imagem correspondente.

Usamos o cálculo linha*8-8+coluna para retornar a bandeira 1, 2, 3… e assim por diante, até a 32.ª.

makearray excel 8

Como resultado temos:

makearray excel 9

Criar Jogos Ida e Volta no Excel com Makearray Excel

Neste exemplo usamos a função makearray para criar uma relação de jogos de ida e volta no Excel.

No nosso exemplo fizemos uma competição com os 5 times abaixo:

Na relação colocamos o nome e a imagem.

Para criar uma relação com os 20 jogos, ida e volta, usamos a seguinte fórmula:

=LAMBDA(d;PARACOL(MAKEARRAY(CONT.VALORES(d);CONT.VALORES(d);LAMBDA(a;b;SE(a=b;1/0;ÍNDICE(d;a)&” X “&ÍNDICE(d;b))));3))(B7:B11)

Para a fórmula usamos uma função ÍNDICE para retornar o time da casa e o mesmo para o time visitante e concatenamos as informações.

makearray excel 10

Como resultado temos uma lista com todos os jogos de ida e volta, que seria uma permutação com um total de 20 jogos.

makearray excel 11

E para concluir usamos a fórmula abaixo:

=BYROW(F9#;LAMBDA(a;IMAGEM(PROCV(TEXTOANTES(a;” X “);Tabela1;2;0))))

Esta função retorna por linha o valor de cada uma das imagens buscando com PROCV e como resultado temos:

makearray excel 12

Nela usamos a função TEXTOANTES para retornar o texto antes do ” X ” e no lado direito temos a mesma fórmula, apenas passando TEXTODEPOIS no lugar de TEXTOANTES.

=BYROW(F9#;LAMBDA(a;IMAGEM(PROCV(TEXTODEPOIS(a;” X “);Tabela1;2;0))))

makearray excel 14

Criar Lista Jogo Único de Partida de Futebol Excel

Neste exemplo temos uma fórmula para criar uma lista de jogos únicos para um campeonato de futebol.

Para isso usamos os mesmos 5 times e teremos então uma combinação de 10 jogos únicos.

Para isso usamos a fórmula seguinte usando como base a fórmula de jogos de ida e volta.

=ÚNICO(BYROW(F9#;LAMBDA(a;UNIRTEXTO(” X “;;CLASSIFICAR(DIVIDIRTEXTO(a;” X “);;;1)))))

A fórmula primeiro separa todos os dados de cada linha usando DIVIDIRTEXTO, depois classifica e remove os duplicados.

Por fim é criada uma lista com os jogos unindo novamente as informações com a função UNIRTEXTO.

makearray excel 15

Download Planilha Função Makearray Excel

Clique no botão abaixo para realizar o  download do arquivo de exemplo:

Baixe a planilha


Marcos Rieper

Pai, marido, professor e consultor em Excel.

Obrigado por ler este artigo, este blog foi criado para difundir o conhecimento em Excel à todos.

Divulgamos novos artigos nas redes sociais, basta clicar nos ícones abaixo.

Excel não precisa ser complicado

Assine nossa newsletter e receba dicas práticas para dominar o excel