function

REEMPLAZARB

Todo sobre la función REEMPLAZARB en Excel

La función REEMPLAZARB en Excel sustituye parte de una cadena de texto por otra, basándose en el número de bytes. Es la versión de la función REEMPLAZAR para juegos de caracteres de doble byte (DBCS), como el japonés, el chino o el coreano.

Mientras que REEMPLAZAR cuenta cada carácter como 1, sin importar si es de un solo byte o de doble byte, REEMPLAZARB cuenta cada carácter de doble byte como 2. Esta distinción es crucial cuando se trabaja con textos que mezclan distintos tipos de caracteres.

Sintaxis

=REEMPLAZARB(texto_original, núm_inicial_bytes, núm_bytes, texto_nuevo)

La función REEMPLAZARB tiene los siguientes argumentos:

  • texto_original: La cadena de texto original en la que se desea reemplazar los bytes. Obligatorio.
  • núm_inicial_bytes: La posición, en bytes, dentro de texto_original a partir de la cual se iniciará el reemplazo. Obligatorio.
  • núm_bytes: El número de bytes que se van a reemplazar. Obligatorio.
  • texto_nuevo: El texto que reemplazará a los bytes especificados en texto_original. Obligatorio.

Ejemplos

Ejemplo 1: Reemplazo en texto con caracteres de un solo byte

En idiomas que usan caracteres de un solo byte, como el español o el inglés, REEMPLAZARB se comporta de manera idéntica a REEMPLAZAR. En este caso, reemplazamos 4 bytes (que equivalen a 4 caracteres) a partir del sexto byte.

=REEMPLAZARB("Informe Anual 2023", 9, 5, "Semestral") -> Resultado: "Informe Semestral 2023"

Ejemplo 2: Reemplazo en texto con caracteres de doble byte

Este ejemplo muestra la verdadera utilidad de REEMPLAZARB. La palabra «日本語» contiene 3 caracteres de doble byte, por lo que su longitud en bytes es 6. Reemplazaremos los dos primeros caracteres («日本»), que ocupan 4 bytes, comenzando desde el primer byte.

=REEMPLAZARB("日本語 text", 1, 4, "Excel") -> Resultado: "Excel語 text"

Nota: REEMPLAZAR(«日本語 text», 1, 2, «Excel») daría el mismo resultado, pero la lógica para determinar la posición y el número de caracteres es diferente.

Ejemplo 3: Uso con otras funciones de byte

Podemos usar ENCONTRARB para localizar la posición inicial en bytes de un texto específico y luego reemplazarlo. En este caso, localizamos «2022» y lo reemplazamos por «2023».

A
1 ID-PROD-2022-FINAL
=REEMPLAZARB(A1, ENCONTRARB("2022", A1), 4, "2023") -> Resultado: "ID-PROD-2023-FINAL"

Observaciones

La funcionalidad de REEMPLAZARB depende de la configuración de idioma de Excel. Si un idioma de doble byte (DBCS) está habilitado y establecido como predeterminado, la función contará cada carácter de doble byte como 2. En caso contrario, todos los caracteres se contarán como 1 byte, y la función se comportará exactamente igual que REEMPLAZAR.

Errores comunes

  • #¡VALOR!: Ocurre si el argumento núm_inicial_bytes o núm_bytes no es numérico.
  • #¡VALOR!: También ocurre si núm_inicial_bytes es menor que 1 o si núm_bytes es un número negativo.

Disponibilidad por versión de Excel

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

Compatibilidad

Software Compatibilidad Notas Alternativa
Microsoft Excel ✔️
Google Sheets ✔️ La función se llama REPLACEB.
LibreOffice Calc ✔️ Puede requerir habilitar el soporte para idiomas asiáticos en la configuración.
OpenOffice Calc ✔️ Puede requerir habilitar el soporte para idiomas asiáticos en la configuración.
WPS Office Spreadsheets ✔️
Apple Numbers Numbers no dispone de funciones específicas para bytes. REEMPLAZAR

Funciones Relacionadas

  • REEMPLAZAR: Reemplaza caracteres en una cadena de texto basándose en su posición, contando cada carácter como 1.
  • SUSTITUIR: Sustituye un texto existente por un texto nuevo en una cadena, sin basarse en la posición.
  • EXTRAEB: Devuelve un número específico de bytes de una cadena de texto, empezando desde una posición especificada.
  • LARGOB: Devuelve el número de bytes utilizados para representar los caracteres de una cadena de texto.
  • ENCONTRARB: Devuelve la posición inicial en bytes de una cadena de texto dentro de otra (distingue mayúsculas y minúsculas).

Ver también...