Conteúdo
Índice 🔎︎

# Funções de texto

Esta secção contém descrições das funções de texto.

Para aceder a este comando...

Inserir - Função - Categoria Texto

## REGEX

Procura e extrai ou, opcionalmente, substitui texto usando de expressões regulares.

### SERVIÇOWEB

Devolve os dados de um serviço web, através do seu URL.

### FILTRARXML

Devolve os dados específicos do conteúdo XML utilizando um XPath.

### CODIFICAÇÃOURL

Devolve uma cadeia com codificação URL.

## ASC

A função ASC converte caracteres ASCII e Katakana de largura completa em caracteres com metade da largura. Devolve uma cadeia de texto.

Consulte https://wiki.documentfoundation.org/Calc/Features/JIS_and_ASC_functions para ver a tabela de conversões.

#### Sintaxe

ASC("texto")

texto é o texto que inclui os caracteres a serem convertidos.

Consulte igualmente a função JIS.

## JIS

A função JIS converte caracteres ASCII e Katakana com metade da largura em caracteres de largura completa. Devolve uma cadeia de texto.

Consulte https://wiki.documentfoundation.org/Calc/Features/JIS_and_ASC_functions para ver a tabela de conversões.

#### Sintaxe

JIS("texto")

texto é o texto que inclui os caracteres a serem convertidos.

Consulte igualmente a função ASC.

## ÁRABE

Calcula o valor de um numeral romano. O valor deve situar-se entre 0 e 3999.

#### Sintaxe

ÁRABE("texto")

texto é o texto que representa um número romano.

#### Exemplo

=ÁRABE("MXIV") devolve 1014

=ÁRABE("MMII") devolve 2002

## MAIÚSCULAS

Coloca a cadeia especificada no campo texto em maiúsculas.

#### Sintaxe

MAIÚSCULAS("texto")

texto são as letras minúsculas que pretende converter em maiúsculas.

#### Exemplo

=MAIÚSCULAS("Bom dia") resulta em BOM DIA.

## CONCATENAR

Combina várias cadeias de texto numa única cadeia.

#### Sintaxe

CONCATENAR("texto1"; ...; "texto30")

texto 1; texto 2; ...texto 30 representa um máximo de 30 passagens de texto que se pretende combinar numa só cadeia de texto.

#### Exemplo

=CONCATENAR("Bom ";"dia ";"Dona ";"Joana") devolve: Bom dia Dona Joana.

## EXATO

Compara duas cadeias de texto e devolve VERDADEIRO se forem idênticas. Esta função diferencia maiúsculas e minúsculas.

#### Sintaxe

EXATO("texto1"; "texto2")

texto1 refere-se ao primeiro texto a comparar.

texto2 é o segundo texto a comparar.

#### Exemplo

=EXATO(" microsistemas";" Microsistemas") devolve FALSO.

## UNICARÁT

Converte o número de um código num carácter ou letra Unicode.

#### Sintaxe

UNICARÁT(número)

#### Exemplo

=UNICARÁT(169) devolve o carácter de Copyright ©.

Consulte também a função UNICODE().

## DECIMAL

Converte texto com caracteres de um sistema numérico para um número inteiro positivo na base da raiz especificada. A raiz tem de se encontrar no intervalo entre 2 e 36. Os espaços e tabulações são ignorados. O campo Texto não diferencia maiúsculas de minúsculas.

Se a raiz for 16, um x, X, 0x ou 0X à esquerda da sequência ou um h ou H à direita serão ignorado. Se a raiz for 2, será ignorado qualquer b ou B à direita da sequência. Quaisquer outros caracteres que não pertençam ao sistema numérico geram erro.

#### Sintaxe

DECIMAL("texto"; base_numérica)

texto é o texto a ser convertido. Para diferenciar entre um número hexadecimal, tal como A1, e a referência à célula A1, tem de colocar o número entre aspas, por exemplo, "A1" ou "FACE".

base_numérica indica a base numérica do sistema. Pode ser qualquer número inteiro positivo entre 2 e 36.

#### Exemplo

=DECIMAL("17";10) devolve 17.

=DECIMAL("FACE";16) devolve 64206.

=DECIMAL("0101";2) devolve 5.

## MINÚSCULAS

Converte todas as letras maiúsculas em minúsculas num determinado texto.

#### Sintaxe

MINÚSCULAS("texto")

texto é o texto a ser convertido.

#### Exemplo

=MINÚSCULAS("Sol") resulta em sol.

## MOEDA

Converte um número de um formato monetário, arredondado às casas decimais especificadas. No campo valor introduza o número a ser convertido para o formato monetário. Opcionalmente, pode introduzir o número de casas decimais no campo casas_decimais. Se não especificar qualquer valor, todos os números mostrados terão duas casas decimais.

Pode estabelecer o formato monetário nas definições do sistema.

#### Sintaxe

MOEDA(valor; casas_decimais)

valoré um número, uma referência a uma célula com um número ou a uma fórmula que devolve um número.

casas_decimais é o número opcional de casas decimais.

#### Exemplo

=MOEDA(255) devolve 255,00 €.

=MOEDA(367,456;2) devolve 367,46 €. Utilize o separador decimal que corresponde à definição de configuração regional atual.

## TEXTO

Converte um número em texto de acordo com o formato especificado.

#### Sintaxe

TEXTO(número; formato)

número é o valor numérico a ser convertido.

formato é o texto que define o formato. Utilize separadores decimais e de milhares de acordo com a definição de idioma do formato da célula.

#### Exemplo

=TEXTO(12,34567;"###.##") devolve o texto 12,35

=TEXTO(12,34567;"000,00") devolve o texto 012,35

Consulte também Códigos de formato numérico: códigos de formato numérico personalizados definidos pelo utilizador.

## TEXTO.BAHT

Converte um número em texto tailandês, incluindo os nomes da moeda tailandesa.

#### Sintaxe

TEXTO.BAHT(número)

número corresponde a qualquer número. "Baht" será anexado à parte inteira do número, e "Satang" será anexado à parte decimal.

#### Exemplo

=TEXTO.BAHT(12,65) devolve uma cadeia em caracteres tailandeses com o significado "Doze Baht e sessenta e cinco Satang".

## BASE

Converte um número inteiro positivo para uma base especificada, com o resultado a se mostrado como texto a partir do sistema de numeração. Utilizam-se os dígitos 0-9 e as letras A-Z.

#### Sintaxe

BASE(Número; Radical; [TamanhoMínimo])

número é o número inteiro positivo a ser convertido.

base_numérica indica a base numérica do sistema. Pode ser qualquer número inteiro positivo entre 2 e 36.

comp_mínimo (opcional) determina o comprimento mínimo da sequência de caracteres criada. Se o texto for mais pequeno do que o comprimento mínimo indicado, são adicionados zeros à esquerda da cadeia.

#### Exemplo

=BASE(17;10;4) devolve 0017 no sistema decimal.

=BASE(17;2) devolve 10001 no sistema binário.

=BASE(255;16;4) devolve 00FF no sistema hexadecimal.

## CARÁCT

Converte um número num carácter de acordo com a tabela de código ativa. O número pode ser um inteiro com dois ou três dígitos.

Os códigos superiores a 127 poderão depender do mapa de caracteres do sistema (por exemplo iso-8859-1, iso-8859-2, Windows-1252, Windows-1250) e, por este motivo, poderão não ser portáteis.

#### Sintaxe

CARÁCT(número)

número corresponde a um número entre 1 e 255 que representa o valor do código do carácter.

#### Exemplo

=CARÁCT(100) devolve o carácter d.

="abc" & CARÁCT(10) & "def" insere um novo carácter de linha na cadeia.

## ROMANO

Converte um número num numeral romano. O valor deve situar-se entre 0 e 3999; o modo pode ser um número inteiro entre 0 e 4.

#### Sintaxe

ROMANO(número; nodo)

número é o número que se pretende converter em números romanos.

modo (opcional) indica o grau de simplificação. Quanto maior for o valor, maior será a simplificação do número romano.

#### Exemplo

=ROMANO(999) devolve CMXCIX

=ROMANO(999;0) devolve CMXCIX

=ROMANO (999;1) devolve LMVLIV

=ROMANO(999;2) devolve XMIX

=ROMANO(999;3) devolve VMIV

=ROMANO(999;4) devolve IM

## VALOR

Converte uma cadeia num número.

#### Sintaxe

VALOR("texto")

texto é o texto a ser convertido num número.

#### Exemplo

=VALOR("4321") devolve 4321.

## REPT

Copia uma cadeia de caracteres um determinado número de vezes.

#### Sintaxe

REPT("texto"; número)

texto é o texto a ser repetido.

número é o número de repetições.

O resultado pode ter um máximo de 255 caracteres.

#### Exemplo

=REPT("Bom dia";2) devolve Bom diaBom dia.

## PROCURAR

Devolve a posição de um segmento de texto dentro de uma cadeia de caracteres. É possível definir o início da procura, como opção. O texto de procura pode ser um número ou qualquer cadeia de caracteres. A procura não diferencia maiúsculas e minúsculas. Se o texto não for encontrado, devolve o erro 519 (#VALOR).

Nas pesquisas pode utilizar caracteres universais e expressões regulares. Com as expressões regulares ativadas, pode inserir "all.*", por exemplo, para encontrar a primeira ocorrência de "all" seguida de qualquer outro carácter. Se quiser pesquisar por um texto que também é uma expressão regular, deve preceder cada carácter com "\"ou incluir o texto entre \Q...\E. Pode ativar a avaliação de caracteres universais ou expressões regulares em LibreOffice - PreferênciasFerramentas - Opções - LibreOffice Calc - Calcular.

Ao usar funções onde um ou mais argumentos são textos que representem uma expressão regular, a primeira tentativa é de converter o texto do critério em número. Por exemplo, ".0" se converterá em 0.0 e assim por diante. Se tiver sucesso, a verificação não será por expressão regular, mas por conversão numérica. Contudo, se mudar de configuração regional e o separador decimal não for o ponto, a expressão regular será utilizada. Para forçar a avaliação da expressão regular em vez de uma expressão numérica, utilize uma expressão que não possa ser confundida com um número como, por exemplo, .[0]" ou ".\0" or mesmo "(?i).0".

#### Sintaxe

PROCURAR("texto_a_localizar"; "texto"; posição)

texto_a_localizar é o texto que deve ser procurado.

texto é o texto onde a procura será realizada.

posição (opcional) é a posição no texto onde a procura deve começar.

#### Exemplo

=PROCURAR(54;998877665544) devolve 10.

## LEFTB

Devolve número especificado de caracteres no início de uma cadeia de texto, baseado no número de bytes especificados.

Esta função está disponível desde o LibreOffice 4.2

#### Sintaxe

ESQUERDAB("texto"; número)

texto é a cadeia de texto cujas letras iniciais pretende determinar.

número (opcional) especifica o número de caracteres a devolver. Se omisso, devolve 1 carácter.

#### Exemplo

ESQUERDAB("中国";1) devolve " " (1 byte é apenas meio carácter DBCS e a função devolve um espaço vazio).

ESQUERDAB("中国";2) devolve "中" (2 bytes são um carácter completo DBCS).

ESQUERDAB("中国";3) devolve "中 " (3 bytes são um carácter e meio DBCS; o último carácter devolvido é um espaço vazio).

ESQUERDAB("中国";4) devolve "中国" (4 bytes são dois caracteres DBCS completos).

ESQUERDAB("office";3) devolve "off" (3 caracteres não DBCS, sendo cada um constituído por 1 byte).

## NÚM.CARACT

Devolve o comprimento de uma cadeia, incluindo os espaços.

#### Sintaxe

NÚM.CARACT("texto")

texto é o texto cujo comprimento se pretende determinar.

#### Exemplo

=NÚM.CARACT("Boa tarde") devolve 9.

=NÚM.CARACT(12345,67) devolve 8.

## UNICODE

Devolve o código numérico correspondente ao primeiro carácter Unicode numa cadeia de texto.

#### Sintaxe

UNICODE("texto")

#### Exemplo

=UNICODE("©") devolve o número Unicode 169 para o carácter de Copyright.

Consulte também a função UNICARÁT()

## LENB

Devolve o número de bytes utilizado para representar os carateres numa cadeia de texto.

Esta função está disponível desde o LibreOffice 4.2

#### Sintaxe

NÚM.CARACTB("texto")

texto é o texto cujo comprimento se pretende determinar.

#### Exemplo

NÚM.CARACTB("中") devolve 2 (1 carácter DBCS constituído por 2 bytes).

NÚM.CARACTB("中国") devolve 4 (2 caracteres DBCS, sendo cada um constituído por 2 bytes).

NÚM.CARACTB("office") devolve 6 (6 caracteres não DBCS, sendo cada um constituído por 1 byte).

=NÚM.CARACTB("Boa tarde") devolve 9.

=NÚM.CARACTB(12345,67) devolve 8.

## ESQUERDA

Devolve o primeiro carácter ou caracteres de um texto.

#### Sintaxe

ESQUERDA("texto"; número)

texto é o texto em relação ao qual se pretende determinar as palavras parciais iniciais.

número (opcional) especifica o número de caracteres do texto inicial. Se este parâmetro não estiver definido, é devolvido apenas um carácter.

#### Exemplo

=ESQUERDA("libre";3) devolve “lib”.

## DIREITA

Devolve o último carácter ou caracteres de um texto.

#### Sintaxe

DIREITA("texto"; número)

texto é o texto em relação ao qual se pretende determinar a parte à direita.

número (opcional) é o número de caracteres na parte direita do texto.

#### Exemplo

=DIREITA("Sol";2) devolve ol.

## RIGHTB

Devolve o último caráter ou carateres numa cadeia de texto, baseado no número de bytes especificados.

Esta função está disponível desde o LibreOffice 4.2

#### Sintaxe

DIREITAB("texto"; número)

texto é a cadeia de texto cujos caracteres finais pretende determinar.

número (opcional) especifica o número de caracteres a devolver. Se omisso, devolve 1 carácter.

#### Exemplo

DIREITAB("中国";1) devolve " " (1 byte é apenas meio carácter DBCS e a função devolve um espaço vazio).

DIREITAB("中国";2) devolve "国" (2 bytes são um carácter completo DBCS).

DIREITAB("中国";3) devolve " 国" (3 bytes são um carácter e meio DBCS; o primeiro carácter devolvido é um espaço vazio).

DIREITAB("中国";4) devolve "中国" (4 bytes são dois caracteres DBCS completos).

DIREITAB("office";3) devolve "ice" (3 caracteres não DBCS, sendo cada um constituído por 1 byte).

## CÓDIGO

Devolve um código numérico correspondente ao primeiro carácter de uma cadeia.

#### Sintaxe

CÓDIGO("texto")

texto é o texto em relação ao qual se pretende encontrar o código do primeiro carácter.

Os códigos superiores a 127 poderão depender do mapa de caracteres do sistema (por exemplo iso-8859-1, iso-8859-2, Windows-1252, Windows-1250) e, por este motivo, poderão não ser portáteis.

#### Exemplo

=CÓDIGO("Helsínquia") devolve 72, =CÓDIGO("hieroglífico") devolve 104.

O código utilizado não corresponde ao ASCII, mas à tabela de código que está carregada.

## FIXA

Devolve um número como texto para um número especificado de casas decimais e separador de milhares opcionais.

#### Sintaxe

FIXA(número; casas_decimais; sem_separador_milhares)

número é o número a ser formatado.

casas_decimais refere-se ao número de casas decimais a mostrar.

sem_separador_milhares (opcional) determina se a separador de milhares é utilizado. Se o parâmetro corresponder a um número diferente de 0, o separador de milhares é suprimido. Se o parâmetro for igual a 0 ou se omisso, será mostrado o separador de milhares da configuração regional atual.

#### Exemplo

=FIXA(1234567,89;3) devolve 1 234 567,890 como cadeia de texto.

=FIXA(1234567,89;3;1) 1234567,890 como uma cadeia de texto.

## MIDB

Devolve um número específico de carateres de uma cadeia de texto, começando na posição que especificar, com base no número de bytes especificado.

Esta função está disponível desde o LibreOffice 4.2

#### Sintaxe

EXT.TEXTOB("texto"; posição_inicial; número)

texto é o texto que contém os caracteres a extrair.

posição_inicial especifica a posição do primeiro carácter a determinar.

número especifica o número de caracteres a devolver. Se omisso, devolve 1 carácter.

#### Exemplo

EXT.TEXTOB("中国";1;0) devolve "" (0 bytes são sempre uma cadeia vazia).

EXT.TEXTOB("中国";1;1) devolve " " (1 byte é apenas meio carácter DBCS e a função devolve um espaço vazio).

EXT.TEXTOB("中国";1;2) devolve "中" (2 bytes são um carácter completo DBCS).

EXT.TEXTOB("中国";1;3) devolve "中 " (3 bytes são um carácter e meio DBCS; o último carácter devolvido é um espaço vazio).

EXT.TEXTOB("中国";1;4) devolve "中国" (4 bytes são dois caracteres DBCS completos).

EXT.TEXTOB("中国";2;1) devolve " " (o byte na posição 2 não está no início de um carácter de uma cadeia DBCS e a função devolve um espaço vazio).

EXT.TEXTOB("中国";2;2) devolve " " (o byte na posição 2 aponta para a última metade do primeiro carácter na cadeia DBCS; os dois bytes solicitados constituem o último byte do primeiro carácter e a primeira metade do segundo carácter na cadeia e a função devolve dois espaços vazios).

EXT.TEXTOB("中国";2;3) devolve " 国" (o byte na posição 2 não está no início de um carácter na cadeia DBCS e a função devolve um espaço vazio na posição 2).

EXT.TEXTOB("中国";3;1) devolve " " (o byte na posição 3 está no início de um carácter na cadeia DBCS, mas 1 byte é apenas metade de um carácter DBCS e a função devolve um espaço vazio).

EXT.TEXTOB("中国";3;2) devolve "国" (o byte na posição 3 está no início de um carácter na cadeia DBCS, e 2 bytes constituem um carácter DBCS).

EXT.TEXTOB("office";2;3) devolve "ffi" (o byte na posição 2 está no início de um carácter numa cadeia que não é DBCS, e 3 bytes de uma cadeia não DBCS constituem 3 caracteres).

## EXT.TEXTO

Devolve uma cadeia de texto de um texto. Os parâmetros especificam a posição inicial e o número de caracteres.

#### Sintaxe

EXT.TEXTO("texto"; posição_inicial; número)

texto é o texto que contém os caracteres a extrair.

posição_inicial é a posição do primeiro carácter do texto a extrair.

número especifica o número de caracteres na parte do texto.

#### Exemplo

=EXT.TEXTO("escritório";2;2) devolve sc.

## LOCALIZAR

Devolve uma cadeia de texto dentro de uma outra cadeia. Pode também definir onde pretende iniciar a procura. O termo de procura pode ser um número ou qualquer cadeia de caracteres. A procura diferencia maiúsculas e minúsculas.

#### Sintaxe

LOCALIZAR("texto_a_localizar"; "texto"; posição)

texto_a_localizar refere-se ao texto a procurar.

texto é o texto onde a procura é realizada.

posição (opcional) é a posição no texto em que a procura é iniciada.

#### Exemplo

=LOCALIZAR(76;998877665544) devolve 6.

## T

Esta função devolve um valor se for texto ou uma cadeia de texto vazia, se o não for.

#### Sintaxe

T(valor)

Se valor for uma cadeia de texto ou uma referência a uma cadeia de texto, devolve essa cadeia de texto. Caso contrário, devolve uma cadeia de texto vazia.

#### Exemplo

=T(12345) devolve uma cadeia vazia.

=T("12345") devolve a cadeia 12345.

## COMPACTAR

Remove os espaços de uma cadeia, deixando apenas um carácter de espaço entre as palavras.

#### Sintaxe

COMPACTAR("texto")

texto é o texto em que os espaços serão removidos.

#### Exemplo

COMPACTAR(" Olá mundo ") devolve Olá mundo, sem os espaços antes e depois do texto e com apenas um espaço entre as palavras.

## SUBSTITUIR

Substitui parte de uma cadeia por outra cadeia. Esta função pode ser utilizada para substituir caracteres e/ou números (automaticamente convertidos em texto). O resultado da função é sempre mostrado como texto. Se quiser executar mais cálculos com um número que foi substituído por texto, tem que converter o texto em número utilizando a função VALOR.

Qualquer texto que contenha números deve ser colocado entre aspas se não pretender que seja interpretado como um número e automaticamente convertido em texto.

#### Sintaxe

SUBSTITUIR("texto"; posição; tamanho; "novo_texto")

texto é o texto no qual uma parte será substituída.

posição é a posição no texto onde a substituição irá começar.

tamanho é o número de caracteres em texto a serem substituídos.

novo_texto é o texto que substitui o texto.

#### Exemplo

=SUBSTITUIR("1234567";1;1;"444") devolve "444234567". Um carácter na posição 1 é substituído pelo novo_texto completo.

## SUBST

Substitui texto anterior com texto novo numa cadeia.

#### Sintaxe

SUBST("texto"; "texto_antigo"; "novo_texto"; ocorrência)

texto é o texto no qual se pretende trocar os segmentos de texto.

texto_antigo é o segmento de texto que se pretende substituir (um número de vezes).

novo_texto é o texto que deve substituir o segmento de texto.

ocorrência (opcional) indica a ocorrência do texto de procura que deve ser substituída. Se este parâmetro não estiver presente, todas as ocorrências do texto de procura são substituídas.

#### Exemplo

=SUBST("123123123";"3";"abc") devolve 12abc12abc12abc.

=SUBST("123123123";"3";"abc";2) devolve 12312abc123.

## LIMPARB

Todos os caracteres não imprimíveis são eliminados da cadeia.

#### Sintaxe

LIMPARB("texto")

texto é o texto do qual se pretende remover todos os caracteres não imprimíveis.

## INICIAL.MAIÚSCULA

Transforma as primeiras letras de todas as palavras numa cadeia em maiúsculas.

#### Sintaxe

INICIAL.MAIÚSCULA("texto")

texto é o texto a ser convertido.

#### Exemplo

=INICIAL.MAIÚSCULA("libre office") devolve Libre Office.

Tópicos relacionados

Funções por categoria