Este artigo descreve a sintaxe da fórmula e a utilização da função SEG.TEXTO e SEG.TEXTOB no Microsoft Excel.
Descrição
SEG.TEXTO devolve um número específico de carateres da cadeia de texto, começando na posição que especificar, com base no número de carateres especificado.
SEG.TEXTOB 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.
Importante:
-
Estas funções poderão não estar disponíveis em todos os idiomas.
-
A função SEG.TEXTO destina-se a ser utilizada com idiomas que utilizem um conjunto de carateres de byte único (SBCS, single-byte character set), ao passo que a função SEG.TEXTOB destina-se a ser utilizada com idiomas que utilizem o conjunto de carateres de byte duplo (DBCS, double-byte character set). A predefinição de idioma no computador afeta o valor de retorno do seguinte modo:
-
A função SEG.TEXTO conta sempre cada caráter, quer seja de byte único quer seja de byte duplo, como 1, independentemente da predefinição de idioma.
-
A função SEG.TEXTOB conta cada caráter de byte duplo como 2, quando tiver ativado a edição de um idioma que suporte DBCS e, em seguida, tiver definido o mesmo como idioma predefinido. Caso contrário, SEG.TEXTOB conta cada caráter como 1.
Os idiomas que suportam DBCS incluem o japonês, chinês (simplificado), chinês (tradicional) e coreano.
Sintaxe
SEG.TEXTO(texto, núm_inicial, núm_carat)
SEG.TEXTOB(texto, núm_inicial, núm_bytes)
A sintaxe da função SEG.TEXTO e SEG.TEXTOB tem os seguintes argumentos:
-
Texto Obrigatório. É a cadeia de texto que contém os carateres que pretende extrair.
-
Núm_inicial Obrigatório. A posição do primeiro caráter que pretende extrair no texto. O primeiro caráter no texto possui núm_inicial 1 e assim sucessivamente.
-
Se start_num for maior do que o comprimento do texto, SEG.TEXTO/SEG.TEXTO DEVOLVE "" (texto vazio).
-
Se start_num for inferior ao comprimento do texto, mas start_num mais num_chars exceder o comprimento do texto, SEG.TEXTO/SEG.TEXTO devolve os carateres até ao fim do texto.
-
Se start_num for inferior a 1, MID/MIDB devolve o #VALUE! #VALOR!
-
-
núm_carat Necessário para MID. Especifica o número de carateres que pretende que SEG.TEXTO devolva a partir do texto.
-
Se num_chars for negativo, SEG.TEXTO devolve o #VALUE! #VALOR!
-
-
Num_bytes Necessário para MIDB. Especifica o número de carateres que pretende que SEG.TEXTOB devolva a partir do texto, em bytes.
-
Se num_bytes for negativo, MIDB devolve o #VALUE! #VALOR!
-
Exemplo
Copie os dados de exemplo na tabela seguinte e cole-os na célula A1 de uma nova folha de cálculo do Excel. Para que as fórmulas mostrem resultados, selecione-as, prima F2 e, em seguida, prima Enter. Se pretender, pode ajustar as larguras das colunas para ver todos os dados.
Dados |
||
Fluxo Fluído |
||
Fórmula |
Descrição |
Resultado |
=SEG.TEXTO(A2;1;5) |
Devolve 5 carateres da cadeia em A2, começando pelo 1º caráter. |
Fluído |
=SEG.TEXTO(A2;7;20) |
Devolve 20 carateres da cadeia em A2, começando pelo 7º caráter. Como o número de carateres a devolver (20) é superior ao comprimento da cadeia (10), são devolvidos todos os carateres, começando pelo 7º. Não são adicionados carateres vazios (espaços) ao final. |
Fluxo |
=SEG.TEXTO(A2;20;5) |
Visto que o ponto de partida é maior que o comprimento da cadeia (10), é devolvido texto vazio. |