function

EXTRAEB

Todo sobre la función EXTRAEB en Excel

La función EXTRAEB en Excel devuelve un número específico de caracteres de una cadena de texto, comenzando en la posición que se especifique, basándose en el número de bytes. Es la versión de la función EXTRAE para juegos de caracteres de doble byte (DBCS), como el japonés, el chino (simplificado y tradicional) y el coreano.

Mientras que EXTRAE cuenta cada carácter (sea de un byte o de dos) como 1, EXTRAEB cuenta cada carácter de doble byte como 2. Por ejemplo, en una cadena con caracteres latinos (1 byte) y japoneses (2 bytes), EXTRAEB los diferenciará para realizar la extracción.

Sintaxis

=EXTRAEB(texto, posición_inicial, núm_de_bytes)

La función EXTRAEB tiene los siguientes argumentos:

  • texto: La cadena de texto de la que se desea extraer los caracteres. Obligatorio.
  • posición_inicial: La posición, en bytes, del primer carácter que se desea extraer. El primer byte de la cadena texto tiene el valor 1. Obligatorio.
  • núm_de_bytes: Especifica el número de bytes que se desea que EXTRAEB devuelva a partir de posición_inicial. Obligatorio.

Ejemplos

Ejemplo 1: Extracción en texto de un solo byte

Cuando se usa con texto que solo contiene caracteres de un solo byte (como el alfabeto latino), EXTRAEB se comporta exactamente igual que EXTRAE.

=EXTRAEB("Presupuesto Anual", 13, 5)

Resultado: «Anual». La extracción comienza en el byte 13 («A») y extrae 5 bytes.

Ejemplo 2: Diferencia entre EXTRAE y EXTRAEB con caracteres de doble byte

Este ejemplo muestra la diferencia clave al trabajar con texto que mezcla caracteres de un byte y de doble byte. Usaremos la cadena «Excel_日本語», donde los caracteres japoneses son de doble byte.

A
1 Excel_日本語

Cada carácter latino y el guion bajo cuentan como 1 byte, mientras que cada carácter japonés («日», «本», «語») cuenta como 2 bytes. La longitud total en bytes de «Excel_日本語» es 6 (Excel_) + 2 (日) + 2 (本) + 2 (語) = 12 bytes.

=EXTRAEB(A1, 7, 6)

Resultado: «日本語». La fórmula empieza a extraer en el séptimo byte (la posición del carácter «日») y extrae los siguientes 6 bytes, que corresponden a los tres caracteres japoneses.

Si usáramos la función EXTRAE, el resultado sería diferente:

=EXTRAE(A1, 7, 3)

Resultado: «日本語». Con EXTRAE, contamos por caracteres, no por bytes. «日» es el séptimo carácter, y le pedimos que extraiga 3 caracteres en total.

Ejemplo 3: Extracción que podría dividir un carácter

Si el número de bytes especificado termina en medio de un carácter de doble byte, EXTRAEB no devuelve un carácter incompleto, sino que ajusta la extracción para incluir solo los caracteres completos que quepan en el número de bytes especificado.

=EXTRAEB("日本語", 1, 3)

Resultado: «日». Aunque se pidieron 3 bytes y el primer carácter «日» ocupa 2, el siguiente carácter «本» también ocupa 2 bytes, por lo que no cabe. La función devuelve únicamente el primer carácter que se ajusta completamente al recuento de bytes.

Observaciones

El comportamiento de esta función depende de la configuración de idioma de Excel. Para que EXTRAEB cuente los caracteres de doble byte como 2, debe estar habilitado un idioma compatible con DBCS como idioma de edición predeterminado.

Errores comunes

  • #¡VALOR!: Ocurre si el argumento posición_inicial es menor que 1, o si núm_de_bytes es un número negativo.
  • Si posición_inicial es mayor que la longitud en bytes del texto, la función devuelve una cadena vacía («»).
  • Si la suma de posición_inicial y núm_de_bytes excede la longitud total en bytes del texto, EXTRAEB devolverá todos los caracteres desde posición_inicial hasta el final de la cadena.

Disponibilidad por versión de Excel

La función EXTRAEB está disponible en todas las versiones modernas de Excel, incluyendo Excel para Microsoft 365, Excel 2021, 2019, 2016, 2013, 2010 y 2007. Su comportamiento preciso depende de la configuración de idioma del sistema.

Compatibilidad

Software Compatibilidad Notas
Microsoft Excel ✔️ El comportamiento depende de la configuración de idioma para DBCS.
Google Sheets ✔️ Disponible como MIDB.
LibreOffice Calc ✔️ Disponible como MIDB.
OpenOffice Calc ✔️ Disponible como MIDB.
WPS Office Spreadsheets ✔️
Apple Numbers No dispone de funciones de texto basadas en bytes.

Funciones Relacionadas

  • EXTRAE: Extrae caracteres de una cadena de texto basándose en el número de caracteres.
  • LARGOB: Devuelve el número de bytes utilizados para representar los caracteres de una cadena de texto.
  • IZQUIERDAB: Devuelve los caracteres del principio de una cadena de texto, según el número de bytes especificado.
  • DERECHAB: Devuelve los caracteres del final de una cadena de texto, según el número de bytes especificado.
  • ENCONTRARB: Busca una cadena de texto (en bytes) dentro de otra y devuelve la posición inicial. Distingue mayúsculas y minúsculas.
  • HALLARB: Similar a ENCONTRARB pero no distingue entre mayúsculas y minúsculas.

Ver también...