As funções com nome permitem-lhe criar funções personalizadas que podem usar fórmulas do Sheets incorporadas. Adicionámos a capacidade de importar funções com nome para que as possa usar em mais do que uma página.
Para obter uma folha de cálculo de exemplo e acompanhar o vídeo, clique em "Fazer cópia" abaixo.
Abra funções com nome
- Numa folha de cálculo nova ou existente, clique em Dados Funções com nome.
Para uma célula com uma fórmula:
- Clique com o botão direito do rato na célula com uma fórmula.
- Clique em Ver mais ações na célula Definir função com nome.
Crie uma função com nome
Quando criar uma função com nome, use texto como marcador de posição para as entradas.
Por exemplo, a função SE
aceita, no máximo, 3 argumentos:
SE(expressão_lógica; valor_se_verdadeiro; valor_se_falso)
Se inserir o texto "expressão_lógica
", "valor_se_verdadeiro
" ou "valor_se_falso
" como argumentos numa célula, recebe um erro. Estes argumentos são marcadores de posição e descrições do tipo de entradas que a função espera. Se quiser aceitar várias entradas na função, tem de definir marcadores de posição de argumentos quando escrever uma função com nome.
Anteriormente, só podia criar funções personalizadas com o Apps Script, o que exigia escrever em JavaScript. Com as funções com nome, pode criar funções personalizadas com uma interface intuitiva sem escrever qualquer código.
Os 4 componentes principais de uma função com nome são:
- Nome da função
- O nome da função que usa para inserir a função numa célula. Este nome está em letras maiúsculas.
- Requisitos:
- Não pode ter o mesmo nome de uma função integrada do Sheets, como
SOMA
. - Não pode ter o nome
VERDADEIRO
ouFALSO
. - Não podem estar na sintaxe "A1" ou "R1C1".
- Por exemplo, se atribuir à sua função um nome como "A1" ou "AA11", recebe um erro.
- Não pode começar com um número.
- Tem de ter menos de 255 carateres.
- Não pode ter espaços.
- Não pode ter carateres especiais, exceto sublinhados.
- Não pode ter o mesmo nome de uma função integrada do Sheets, como
- Descrição da função
- A descrição da função que é apresentada na secção "Acerca de" da caixa de ajuda da função.
- Marcadores de posição de argumentos [OPCIONAL]
- Os marcadores de posição são descrições do tipo de entradas que a função espera. Por exemplo, os nomes dos argumentos "
CÉL
" ou "INTERVALO
" são para quando a entrada esperada é, respetivamente, uma única célula ou um intervalo de células. - Requisitos:
- Não pode ser o mesmo nome de outro marcador de posição de argumentos na função com nome.
- Não podem estar na sintaxe "A1" ou "R1C1".
- Por exemplo, se atribuir ao seu marcador de posição um nome como "A1" ou "AA11", recebe um erro.
- Não pode ter espaços.
- Não pode ter carateres especiais, exceto sublinhados.
- Os marcadores de posição são descrições do tipo de entradas que a função espera. Por exemplo, os nomes dos argumentos "
- Definição da fórmula
- É a fórmula escrita que insere numa célula. Quando inclui argumentos definidos, a função espera entradas para cada argumento ao inserir a função numa célula.
- Requisitos:
- Tem de ser uma fórmula analisável.
- Não pode ter parênteses em falta.
- Não pode ter vírgulas incorretas.
Outros detalhes
Depois de configurar os componentes principais acima, pode adicionar mais detalhes na segunda página. Para cada marcador de posição de argumentos definido, estão disponíveis os seguintes campos:
- Descrição do argumento
- Esta é uma breve descrição do que a função espera para este argumento. Por exemplo, "Um valor único que está a pesquisar".
- Exemplo de argumento
- Este é um exemplo de entrada para este argumento. Por exemplo, um argumento que deve ser um intervalo de células: "B3:B14".
Estes detalhes adicionais e os componentes principais são usados para preencher a caixa de ajuda da função ao adicionar a função com nome a uma célula:
Importe funções com nome
À medida que cria mais funções com nome ou começa a encontrar funções úteis que outras pessoas criaram, é útil usá-las em páginas diferentes. Para reutilizar funções com nome que criou, pode importá-las de outra página para a atual:
- No computador, abra o Google Sheets.
- Abra a página para a qual quer importar as funções com nome.
- Na parte superior, clique em Dados Funções com nome Importe a função.
- Selecione a folha a partir da qual quer importar.
- Selecione as funções com nome que quer importar.
- Se quiser importar todas as funções com nome do ficheiro, clique em Importar tudo.
- Clique em Importar.
Sugestões:
- Se a função com nome que selecionou para importar tiver o mesmo nome que uma função com nome que já existe no seu ficheiro ativo: a função importada substitui a função com nome já existente.
- Se a função com nome que selecionou para importar depender de outra função com nome, como a definição da fórmula: o Sheets avisa sobre essa dependência e destaca as funções dependentes.
- Se a função com nome que selecionou para importar usar uma fórmula que interage com uma origem externa, como
IMAGE
: o Sheets avisa sobre essa interação.
Exemplos
Função com nome com 2 marcadores de posição de argumentos
- Nome da função:
CONTAINS
- Descrição: verifica se o valor aparece num intervalo. Devolve
VERDADEIRO
se o valor for apresentado eFALSO
se não for apresentado. - Marcadores de posição de argumentos:
consulta_pesquisa
,intervalo_pesquisa
- Definição:
=NÃO(É.ERRO(CORRESP(consulta_pesquisa,intervalo_pesquisa,0)))
- Mais detalhes:
- Descrição do argumento:
consulta_pesquisa
- O valor que procura
- Exemplo de argumento:
consulta_pesquisa
- B3
- Descrição do argumento:
intervalo_pesquisa
- O intervalo em que procura o valor
- Exemplo de argumento:
intervalo_pesquisa
- B3:B14
- Descrição do argumento:
Função com nome sem marcadores de posição de argumentos
- Nome da função:
NAMED_FUNCTIONS_SLOGAN
- Descrição: apresenta uma frase fácil de ler que descreve as funções com nome.
- Definição:
="As funções com nome ajudam a tornar as minhas fórmulas mais fáceis de usar e ler."
Função com nome que usa a recorrência
- Nome da função:
REVERSE_WORDS
- Descrição: inverte a ordem das palavras numa string
- Marcadores de posição:
str
- Definição:
=SE(É.ERRO(LOCALIZAR(" ", str)), str, REVERSE_WORDS(DIREITA(str, NÚM.CARACT(str)-LOCALIZAR(" ", str)))&" "&ESQUERDA(str, LOCALIZAR(" ",str)-1))
- Mais detalhes:
- Descrição do argumento:
str
- String que quer inverter
- Exemplo de argumento:
str
- "inverter quer que String"
- Descrição do argumento:
Função com nome que usa a função LAMBDA
- Nome da função:
COUNT_FORMULAS
- Descrição: calcula o número de fórmulas de um determinado intervalo.
- Marcadores de posição:
intervalo
- Definição:
=CONTAR.SE(MAP(intervalo,LAMBDA(célula, É.FORMULA(célula))),"VERDADEIRO")
- Mais detalhes:
- Descrição do argumento:
intervalo
- O intervalo no qual procura fórmulas
- Exemplo de argumento:
intervalo_pesquisa
- A2:D7
- Descrição do argumento:
Perguntas frequentes
Posso criar um intervalo relativo na minha função com nome?Não. Todos os intervalos incluídos nas definições de fórmulas são absolutos. Se não estiver incluído na definição nesse formato, é convertido num intervalo absoluto. Por exemplo, "A1:B3" é modificado se for guardado na página "1!$A$1:$B$3". Pode transmitir intervalos relativos como argumentos para a função com nome.
Sim. Os nomes dos marcadores de posição de argumentos podem ser os mesmos das funções integradas. Por exemplo, pode atribuir o nome "SOMA" a um marcador de posição de argumentos. No entanto, se forem usados em conjunto, o marcador de posição de argumentos tem precedência sobre a função integrada.
Sim. Os nomes definidos sem parâmetros podem ser importados para o Sheets, mas devem ser invocados sem parênteses.
Sim. O Sheets atualiza o nome definido de acordo com a sintaxe da função com nome do Sheets. Tem de adicionar parênteses a todas as referências de células.
Não. Não é possível criar uma função com nome com o mesmo nome de uma função personalizada do Apps Script existente na página. Pode adicionar uma função personalizada a uma página com o mesmo nome de uma função com nome já existente. No entanto, a função com nome já existente tem precedência.
Isto pode acontecer em 2 casos:
- A computação da fórmula demora demasiado tempo.
- Usa demasiada memória.
Para o resolver o erro, use uma fórmula mais simples para reduzir a complexidade.
O intervalo com nome tem precedência sobre a função com nome.