Para pesquisar informações nos seus dados, use funções PROC como:
Apesar de, muitas vezes, a execução destas funções demorar algum tempo, este artigo demonstra como otimizar o desempenho da função PROC e reduzir o uso de potência de cálculo.
Use a opção Ordenar intervalo com uma função PROCPara ordenar de forma mais eficiente, use a opção Ordenar intervalo em vez da função SORT:
- Selecione células ou colunas.
- Na barra de tarefas superior, clique em Dados Ordenar intervalo.
- Selecione uma das seguintes opções:
- Ordenar intervalo por [coluna mais à esquerda] (A a Z).
- Ordenar intervalo por [coluna mais à esquerda] (Z a A).
- Opções avançadas de ordenação de intervalos: ordene por várias colunas em simultâneo por ordem hierárquica.
Sugestão: a opção "Ordenar intervalo" ordena primeiro os dados e, em seguida, envia os dados ordenados para a função PROCV.
Saiba o que não deve fazer:
Importante: o exemplo que se segue demonstra como não deve usar a função SORT:
=PROCV(chave_pesquisa, SORT(A1:B10, 1), 2)
Neste exemplo, SORT está aninhada numa função PROCV. Sempre que os dados do intervalo ordenado são alterados, a função SORT examina desnecessariamente todos os dados de novo e executa uma nova função SORT.
Sugestão: idealmente, a função SORT apenas deve ser aplicada uma vez a um conjunto de dados. Quando for necessário, pode fazer referência à mesma.
Para acelerar os cálculos, remova os dados duplicados de todo o conjunto:
- Selecione todas as colunas e linhas de interesse.
- Na barra de tarefas superior, clique em Dados Limpeza de dados Remover duplicados.
- Selecione colunas para analisar.
- Clique em Remover duplicados.
Sugestão: os dados que contêm muitos valores duplicados em colunas ou linhas podem tornar o cálculo mais lento.
Funções PROC:
- Não é possível detetar duplicados de forma inteligente
- Pesquise todo o conjunto de dados, que inclui todos os valores duplicados que não correspondem
Para executar o cálculo PROC localmente no seu computador, comece por importar os dados para a sua folha de cálculo:
- Use a função IMPORTRANGE para extrair os dados para um intervalo vazio na mesma folha de cálculo onde a função PROC se encontra. Saiba mais acerca de IMPORTRANGE.
- Faça referência aos dados importados como intervalo na função PROC.
Saiba o que não deve fazer:
Importante: o exemplo que se segue demonstra como não deve usar a função IMPORTRANGE:
=PROCV(chave_pesquisa, IMPORTRANGE(url_folha_de_cálculo, string_intervalo), índice, [é_ordenado])
Neste exemplo, a função IMPORTRANGE está aninhada numa função PROC. Sempre que a função PROC é executada, executa primeiro a função IMPORTRANGE para extrair os dados e, em seguida, executa a função PROC nos dados obtidos.
Sugestão: tente não aninhar quaisquer funções numa função PROC. Caso contrário, a função interna faz cálculos adicionais dentro de PROC sempre que a função PROC for executada.
Para que o cálculo do Sheets seja executado mais rapidamente, use uma declaração SE para ignorar valores repetidos, como N/A, #ERROR e REF# ou células vazias.
Saiba o que não deve fazer:
Importante: o exemplo que se segue demonstra como não deve usar a função PROCV:
No exemplo acima, pode usar a função PROCV para encontrar o preço de uma lista de fruta na coluna A. No entanto, também existem muitas células vazias na lista de fruta.
O Google Sheets faz cálculos em B2 a B10 em todas as chaves de pesquisa referenciadas na coluna A, embora PROCV em B3, B7 e B9 pesquise em branco. Estas pesquisas não devolvem quaisquer resultados significativos.
Saiba o que deve fazer:
Use a função SE para ignorar essas chaves de pesquisa com base nos critérios pretendidos e execute apenas PROCV quando os dados da lista de fruta não estiverem em branco.
A função SE indica ao Google Sheets "Se a chave de pesquisa não for igual a em branco, executar a_sua_fórmula. Se for igual a em branco, não executar a_sua_fórmula e, em vez disso, gerar N/A."
De um modo geral, pode usar qualquer fórmula e o valor a ignorar não tem de ficar em branco. Esta técnica poupa tempo porque, se existirem valores sem significado, pode evitar cálculos adicionais para calcular o resultado.
O Google Sheets não consegue determinar se um valor tem significado, a menos que invoque especificamente o valor com a função SE.
=SE(A2 <> valor_a_ignorar, a_sua_fórmula, "N/A")
Sugestão: a função SE acima indica ao Google Sheets "Se A2 não for igual a valor_a_ignorar, executar a_sua_fórmula. Se A2 for igual a valor_a_ignorar, não executar a_sua_fórmula e, em vez disso, gerar N/A".
Embora a função PROCV seja ligeiramente mais rápida, as funções ÍNDICE e CORRESP podem garantir maior flexibilidade para dividir o seu fluxo de trabalho PROC em partes mais pequenas. Desta forma, pode voltar a usar o seu resultado anterior e poupar tempo.
Saiba o que não deve fazer:
Por exemplo, para que a função PROCV encontre o preço e a quantidade de "Apple" (Maçã) nesta tabela, tem de usar duas fórmulas PROCV separadas:
=PROCV("Apple", $A$1:$C$4, 2, FALSO)
Esta função PROCV realiza dois passos internamente:
- Encontra a localização de "Apple".
- Pesquisa o preço de "Apple" ao aceder à segunda coluna.
=PROCV("Apple", $A$1:$C$4, 3, FALSO)
Esta função PROCV realiza dois passos internamente:
- Encontra a localização de "Apple".
- Pesquisa a quantidade de "Apple" ao aceder à terceira coluna.
Nas duas fórmulas acima, o primeiro passo é o mesmo: encontrar a localização de "Apple" na lista. No entanto, não é possível executar o segundo passo em ambas as fórmulas acima em conjunto, porque a função PROCV é uma função única com um resultado único.
Assim, se executar PROCV para encontrar várias informações diferentes no mesmo item, tem de executar o primeiro passo duas vezes. Este procedimento adiciona tempo de cálculo.
Saiba o que deve fazer:
Poupe tempo ao usar uma combinação de CORRESP e ÍNDICE. Esta opção separa o Passo 1 do Passo 2, para que possa voltar a usar o Passo 1 sempre que necessário:
1. Encontre a localização de "Apple" com a função CORRESP:
=CORRESP("Apple", $A$2:$A$4; FALSO)
O resultado desta fórmula é "1", uma vez que "Apple" está na posição 1 do intervalo.
2. Pesquise o preço de "Apple" na segunda coluna com ÍNDICE:
=ÍNDICE($A$2:$C$4, célula_com_fórmula_CORRESP, 2)
O resultado desta fórmula é "$1".
Para pesquisar a quantidade de "Apple", pode voltar a usar o Passo 1 e fazer referência à célula com a fórmula CORRESP, para não ter de voltar a calcular essa parte.
3. Pesquise a quantidade de "Apple" na terceira coluna com ÍNDICE:
=ÍNDICE($A$2:$C$4, célula_com_fórmula_CORRESP, 3)
Neste exemplo com ÍNDICE e CORRESP, tem de executar o Passo 1 uma vez e o Passo 2 duas vezes para obter 3 passos de cálculo. Se usar antes a função PROCV, são usadas duas funções PROCV e quatro passos, o que demora mais tempo e usa mais recursos de cálculo.
Estes ganhos de eficiência aumentam à medida que aumenta o uso de funções PROCV. Existem também muitas outras situações em que pode voltar a usar o resultado de CORRESP para poupar tempo.