quinta-feira, 11 de agosto de 2022

Google planilhas - ArrayFormula

 Google planilhas - ArrayFormula

Recentemente passei por uma situação nova (vivendo e aprendendo).

Foi-me solicitado a criação de um formulário para ser aplicado em determinado hospital. O formulário (criado no Google Formulários) bastante objetivo: perguntas simples e respostas nos formatos de textos curtos, data e múltiplas escolhas.

As respostas serão utilizadas para que se calcule determinado índice, a Escala de Braden (para prever o risco de úlcera por pressão - escara). Com tal intuito, as respostas são exportadas para uma planilha (no Google Planilhas)



Até tudo em paz. O primeiro paciente de teste foi cadastrado, as fórmulas criadas com sucesso, e foi utilizado a alça de preenchimento para completas as células abaixo. Em tese, deveria ter funcionado. Só que na prática não foi isso que ocorreu.

Deparei-me com a seguinte situação: durante os testes, sempre que ocorria o cadastro de um novo paciente (todos hipotéticos, apenas para fins de testes), era inserida uma nova linha na planilha, de sorte que as fórmulas não mais eram aproveitadas.

Após uma boa pesquisa, encontrei a solução: ArrayFormula.

Mas como tal função trabalha?

Estava acostumado a trabalhar com células ou intervalos de células (ex: A2:A35). Só que neste caso (com a inserção de uma nova linha automaticamente, impedindo o aproveitamento das fórmulas) a solução foi passar a trabalhar com uma MATRIZ.

A ArrayFormula justamente trabalha com uma matriz.

Primeiro passo: deve-se digitar a fórmula desejada sem preocupação alguma, levando-se em conta apenas a primeira linha da tabela. Como no exemplo abaixo:

=(B5+C5)

Segundo passo: deve-se acessar a fórmula (F2) e clicar simultaneamente: Ctrl + Shift + Enter. O ArrayFormula é inserido automaticamente. Basta o Enter final para que a célula fique pronta.

=ArrayFormula(B5+C5)

Basta o Enter final para que a célula fique pronta.

Nota-se que ainda não é possível trabalharmos com uma matriz, pois na fórmula original (=(B5+C5)) foi levada em consideração apenas células e seus intervalos (B5:C5).

Terceiro passo: precisa-se alterar o intervalo das células para trabalharem com uma matriz. Deve ficar do seguinte modo:

=ArrayFormula(B5:B9+C5:C9).

Isso basta para transformar o intervalo de células (B5+C5) em uma matriz. Aqui farei uma ressalva. Caso possível e viável na tabela em questão, pode-se alterar o intervalo de células para uma matriz de maior abrangência, do seguinte modo =ArrayFormula(B5:B+C5:C). Percebe-se que a matriz agora passa a englobar a célula em questão (B5) e a coluna completa (B). Neste caso, a fórmula será automaticamente aplicada à todas as células abaixo.


Obs: ressalto que nem sempre podemos utilizar a coluna completa, criando uma matriz de maior abrangência (=ArrayFormula(B5:B+C5:C)).
Em muitos casos, por conta da estrutura das fórmulas em questão, teremos de trabalhar com uma matriz mais ajustas à células específicas (=ArrayFormula(B5:B9+C5:C9)).


Percebe-se que foi acrescido um SE (ou IF, no Google Planilhas) e que fora adicionado uma ressalva (=ArrayFormula(IF(B5:B="";"";(B5:B+C5:C))). Isso garante que em caso de células vazias, o resultado da soma não será mostrado.

Espero que a dica seja útil.

Boa Sorte e Sucesso!

Nenhum comentário:

Postar um comentário