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

## Using double quotation marks in formulas

To include a text string in a formula, place the text string between two double quotation marks (") and Calc takes the characters in the string without attempting to interpret them. For example, the formula ="Hello world!" displays the text string Hello world! in the cell, with no surrounding double quotation marks.

The more complex formula =CONCATENATE("Life is really simple, "; "but we insist on making it complicated "; "(Confucius).") concatenates three individual strings in double quotation marks, outputting Life is really simple, but we insist on making it complicated (Confucius).

To place a literal double quotation mark within a string inside a formula, two methods can be used:

1. You can "escape" the double quotation mark with an additional double quotation mark, and Calc treats the escaped double quotation mark as a literal value. For example, the formula ="My name is ""John Doe""." outputs the string My name is "John Doe". Another simple example is the formula =UNICODE("""") which returns 34, the decimal value of the Unicode quotation mark character (U+0022) — here the first and fourth double quotation marks indicate the beginning and end of the string, while the second double quotation mark escapes the third.

2. You can use the CHAR function or the UNICHAR function to insert a double quotation mark. For example, the formula =UNICHAR(34) & "The Catcher in the Rye" & UNICHAR(34) & " is a famous book by J. D. Salinger." displays the string "The Catcher in the Rye" is a famous book by J. D. Salinger.

Beware that Calc's AutoCorrect function may modify double quotation marks. AutoCorrect should not change the double quotation marks within formula cells but may change those used in non-formula cells containing text. For example, if you copy a string that is surrounded by some other form of typographical double quotation marks, such as the left double quotation mark (U+201C) and the right double quotation mark (U+201D), and then paste into a formula cell, an error may result. Open the Double Quotes area of the Tools - AutoCorrect Options - Localized Options dialog to set the characters used to automatically correct the start and end typographical double quotation marks. Uncheck the Replace toggle button to disable the feature.

## ARABIC

Returns the numeric value corresponding to a Roman number expressed as text.

## ASC

Converts double-byte (full-width) characters to single-byte (half-width) ASCII and katakana characters.

## JIS

Converts single-byte (half-width) ASCII or katakana characters to double-byte (full-width) characters.

## REGEX

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

## ROMAN

Converts a number into a Roman numeral. The value range must be between 0 and 3999. A simplification mode can be specified in the range from 0 to 4.

## VALUE

Converts the string representation of a number to numeric form. If the supplied string is a valid date, time, or date-time, the corresponding date-time serial number is returned.

### 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.

## BASE

Converts a positive integer to a specified base into a text from the numbering system. The digits 0-9 and the letters A-Z are used.

#### Sintaxe

BASE(Number; Radix [; MinimumLength])

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.

## 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.

## CONCATENAR

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

#### Sintaxe

CONCATENATE(String 1 [; String 2 [; … [; String 255]]])

String 1[; String 2][; … ;[String 255]] are strings or references to cells containing strings.

#### Exemplo

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

## 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.

## DECIMAL

Converts text with characters from a number system to a positive integer in the base radix given. The radix must be in the range 2 to 36. Spaces and tabs are ignored. The Text field is not case-sensitive.

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.

## DIREITA

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

#### Sintaxe

RIGHT("Text" [; Number])

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

Number (optional) is the number of characters from the right part of the text. If this parameter is not defined, one character is returned.

#### Exemplo

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

## ESQUERDA

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

#### Sintaxe

LEFT("Text" [; Number])

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”.

## 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.

## 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.

## FIXA

Returns a number as text with a specified number of decimal places and optional thousands separators.

#### Sintaxe

FIXED(Number; [Decimals = 2 [; NoThousandsSeparators = FALSE]])

Number is rounded to Decimals places (after the decimal separator) and the result formatted as text, using locale-specific settings.

Decimals (optional) refers to the number of decimal places to be displayed. If Decimals is negative, Number is rounded to ABS(Decimals) places to the left from the decimal point. If Decimals is a fraction, it is truncated actually ignoring what is the closest integer.

NoThousandsSeparators (optional) determines whether the thousands separator is used. If it is TRUE or non-zero, then group separators are omitted from the resulting string. If the parameter is equal to 0 or if it is missing altogether, the thousands separators of your current locale setting are displayed.

#### Exemplo

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

=FIXED(123456.789;;TRUE) returns 123456.79 as a text string.

=FIXED(12345.6789;-2) returns 12,300 as a text string.

=FIXED(12134567.89;-3;1) returns 12135000 as a text string.

=FIXED(12345.789;3/4) returns 12,346 as a text string.

=FIXED(12345.789;8/5) returns 12,345.8 as a text string.

## 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

=PROPER("the document foundation") returns The Document Foundation.

## 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

LEFTB("Text" [; Number_bytes])

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

=LEFTB("中国";1) returns " " (1 byte is only half a DBCS character and a space character is returned instead).

=LEFTB("中国";2) returns "中" (2 bytes constitute one complete DBCS character).

=LEFTB("中国";3) returns "中 " (3 bytes constitute one DBCS character and a half; the last character returned is therefore a space character).

=LEFTB("中国";4) returns "中国" (4 bytes constitute two complete DBCS characters).

=LEFTB("office";3) returns "off" (3 non-DBCS characters each consisting of 1 byte).

## 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.

## 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.

#### Exemplo

=LEN(CLEAN(CHAR(7) & "LibreOffice Calc" & CHAR(8))) returns 16, showing that the CLEAN function removes the non-printable Unicode U+0007 ("BEL") and U+0008 ("BS") characters at the beginning and end of the string argument. CLEAN does not remove spaces.

## 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

FIND("FindText"; "Text" [; Position])

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.

## 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.

## 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

=MIDB("中国";1;0) returns "" (0 bytes is always an empty string).

=MIDB("中国";1;1) returns " " (1 byte is only half a DBCS character and therefore the result is a space character).

=MIDB("中国";1;2) returns "中" (2 bytes constitute one complete DBCS character).

=MIDB("中国";1;3) returns "中 " (3 bytes constitute one and a half DBCS character; the last byte results in a space character).

=MIDB("中国";1;4) returns "中国" (4 bytes constitute two complete DBCS characters).

=MIDB("中国";2;1) returns " " (byte position 2 is not at the beginning of a character in a DBCS string; 1 space character is returned).

=MIDB("中国";2;2) returns " " (byte position 2 points to the last half of the first character in the DBCS string; the 2 bytes asked for therefore constitutes the last half of the first character and the first half of the second character in the string; 2 space characters are therefore returned).

=MIDB("中国";2;3) returns " 国" (byte position 2 is not at the beginning of a character in a DBCS string; a space character is returned for byte position 2).

=MIDB("中国";3;1) returns " " (byte position 3 is at the beginning of a character in a DBCS string, but 1 byte is only half a DBCS character and a space character is therefore returned instead).

=MIDB("中国";3;2) returns "国" (byte position 3 is at the beginning of a character in a DBCS string, and 2 bytes constitute one DBCS character).

=MIDB("office";2;3) returns "ffi" (byte position 2 is at the beginning of a character in a non-DBCS string, and 3 bytes of a non-DBCS string constitute 3 characters).

## 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

DOLLAR(Value [; Decimals])

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

=DOLLAR(255) returns $255.00 for the English (USA) locale and USD (dollar) currency; ￥255.00 for the Japanese locale and JPY (yen) currency; or 255,00 € for the German (Germany) locale and EUR (euro) currency.

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

## 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.

## 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ências Ferramentas - 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

SEARCH("FindText"; "Text" [; Position])

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.

## 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.

#### Exemplo

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

Refer to the REPT wiki page for more details about this function.

## 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

RIGHTB("Text" [; Number_bytes])

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

Number_bytes (optional) specifies the number of characters you want RIGHTB to extract, based on bytes. If this parameter is not defined, one byte is returned.

#### 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).

## SUBST

Substitui texto anterior com texto novo numa cadeia.

#### Sintaxe

SUBSTITUTE("Text"; "SearchText"; "NewText" [; Occurrence])

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.

## 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.

## 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.

## TEXTO

Converts a value into text according to a given format.

#### Sintaxe

TEXT(Value; Format)

Value is the value (numerical or textual) to be converted.

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

=TEXT("xyz";"=== @ ===") returns the text === xyz ===

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".

## 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().

## 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()

Tópicos relacionados

Funções por categoria