ByRow e ByCol no Excel

Neste artigo você aprenderá como como utilizar as funções ByRow e ByCol do Excel.

https://youtu.be/DgdLOm-Baac

Qual a finalidade da função ByRow?

Esta função foi criada com a finalidade de realizar a aplicação de uma fórmula linha a linha com matrizes dinâmicas.

Para ficar claro, pense no seguinte exemplo:

Temos uma série de colunas com valores e queremos aplicar uma função de média para todas as linhas de uma só vez.

Usando a função ByRow podemos aplicar a função em apenas uma célula e os cálculos são aplicados para todas as células da matriz.

Os ganhos com o uso desta técnica em detrimento de usar uma função para cada linha são:

  1. Ganho de processamento e velocidade
  2. Manutenção da fórmula em uma só célula
  3. Menor tamanho do arquivo

Qual a finalidade da função ByCol?

Esta função foi criada com a finalidade de realizar a aplicação de uma fórmula coluna a coluna de matrizes dinâmicas.

Para ficar claro, pense no seguinte exemplo:

Temos uma série de colunas com valores e queremos aplicar uma função de MENOR para todas as colunas de uma só vez.

Usando a função ByCol podemos aplicar a função em apenas uma célula e os cálculos são aplicados para todas as células da matriz.

Os ganhos com o uso desta técnica em detrimento de usar uma função para cada linha são:

  1. Ganho de processamento e velocidade
  2. Manutenção da fórmula em uma só célula
  3. Menor tamanho do arquivo

Como aplicar a função ByRow?

A melhor forma de demonstramos a aplicação da função ByRow é por um exemplo.

Digamos que temos uma lista de indicadores de setores para cada mês.

Queremos aplicar as funções Máximo, Menor e Média tanto na vertical.

Para realizar a função MÁXIMO para uma cada célula nós aplicamos esta função: = MÁXIMO(C8:N8), realizando assim o cálculo do valor apenas para esta linha.

Para retornarmos o valor máximo de cada uma das linhas nós copiamos a célula ou podemos aplicar a função ByRow como veremos.

A sintaxe da funçao BYROW é a seguinte:

=BYROW(intervalo, lambda(linha))

E são passados os seguintes argumentos:

  • intervalo : um intervalo de dados separado por linhas.
  • lambda : uma função lambda que irá receber cada linha como um parâmetro único para o cálculo.
  • linha : este é o parâmetro de intervalo passado pela função BYROW para o lambda e que será interpretado linha-a-linha para cálculo.

A função ByRow somente pode ser aplicada na função LAMBDA.

Além disso com o uso da função BYROW somente um parâmetro pode ser passado na função LAMBDA.

Veja a aplicação abaixo:

=BYROW(C8:N19;LAMBDA(nLinha;MÁXIMO( nLinha)))

  • LAMBDA(nLinha;MÁXIMO(nLinha)) : Nesta parte temos a aplicação de lambda na função máximo, veja que está sendo passado apenas um parâmetro que é o intervalo, chamado nLinha.
  • =BYROW(C8:N19;LAMBDA(nLinha;MÁXIMO( nLinha))) : Então aplicamos a função BYROW antes da função LAMBDA, e passamos o intervalo de dados com todas as informações C8:N19.

Ao aplicarmos esta fórmula na primeira célula temos então então a fórmula sendo calculada para cada uma das linhas do intervalo de linhas 8 à 19.

Como aplicar a função ByCol?

A melhor forma de demonstramos a aplicação da função ByCol é por um exemplo.

Digamos que temos uma lista de indicadores de setores para cada mês.

Queremos aplicar as funções Máximo, Menor e Média na horizontal.

Para realizar a função MÁXIMO para uma cada célula nós aplicamos esta função: = MÁXIMO(C8:C19), realizando assim o cálculo do valor apenas para esta coluna.

A sintaxe da funçao BYROW é a seguinte:

=BYCOL(intervalo, lambda(coluna))

E são passados os seguintes argumentos:

  • intervalo : um intervalo de dados separado por colunas.
  • lambda : uma função lambda que irá receber cada coluna como um parâmetro único para o cálculo.
  • coluna : este é o parâmetro de intervalo passado pela função BYCOL para o lambda e que será interpretado coluna-a-coluna para cálculo.

Veja a aplicação abaixo:

=BYCOL(C8:N19;LAMBDA(nColuna;MÁXIMO( nColuna)))

  • LAMBDA(nColuna;MÁXIMO( nColuna)) : Aqui temos a aplicação da função MÁXIMO para o intervalo que é passado no parâmetro nColuna passado pela função BYCOL.
  • BYCOL(C8:N19;LAMBDA(nColuna;MÁXIMO( nColuna))) : A função BYCOL passa o parâmetro de intervalo de cálculo definido em C8:N19 e aplica o cálculo para cada uma das colunas entre C e N do intervalo.

Exemplos de uso de ByCol e ByRow

Recomendamos o uso destas funções sempre que possível, pois elas tem vários benefícios como citamos no início do artigo.

Por isso separamos uma série de exemplos de aplicações de ByRow e ByCol e que podem ser vistas na aula do vídeo ao topo deste artigo.

Exemplo de função para remover somente textos usando a função BYROW:

Último dia de cada mês usando a função BYROW:

Somar somente células visíveis com condições, usando a função BYCOL:

Download da Planilha de Exemplo ByRow e ByCol

Realize o download da planilha deste artigo no botão abaixo. Basta se inscrever na nossa newsletter gratuita para o download automático.

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