El tutorial muestra cómo usar la función TEXTJOIN para fusionar texto en Excel con ejemplos prácticos.
Hasta hace poco, había dos métodos predominantes para fusionar el contenido de las celdas en Excel: el operador de concatenación y la función CONCATENAR. Con la introducción de TEXTJOIN, parece que ha aparecido una alternativa más poderosa, que le permite unir texto de una manera más flexible, incluido cualquier delimitador intermedio. Pero en verdad, ¡hay mucho más!
Función de UNIÓN DE TEXTO de Excel
TEXTJOIN en Excel combina cadenas de texto de varias celdas o rangos y separa los valores combinados con cualquier delimitador que especifique. Puede ignorar o incluir celdas vacías en el resultado.
La función está disponible en Excel para Office 365, Excel 2021 y Excel 2019.
La sintaxis de la función TEXTJOIN es la siguiente:
TEXTJOIN(delimitador, ignorar_vacío, texto1, [text2]…)
Dónde:
- delimitador (requerido) – es un separador entre cada valor de texto que combina. Por lo general, se proporciona como una cadena de texto entre comillas dobles o como una referencia a una celda que contiene una cadena de texto. Un número proporcionado como delimitador se trata como texto.
- Ignorar_vacío (requerido) – Determina si ignorar o no las celdas vacías:
- VERDADERO: ignora las celdas en blanco.
- FALSO: incluye celdas vacías en la cadena resultante.
- Texto 1 (requerido) – primer valor para unirse. Se puede proporcionar como una cadena de texto, una referencia a una celda que contiene una cadena o una matriz de cadenas, como un rango de celdas.
- Texto2, … (opcional) – valores de texto adicionales para unir. Se permite un máximo de 252 argumentos de texto, incluido text1.
Como ejemplo, combinemos partes de direcciones de las celdas B2, C2 y D2 en una sola celda, separando los valores con una coma y un espacio:
Con la función CONCATENAR, debe especificar cada celda individualmente y colocar un delimitador («») después de cada referencia, lo que puede resultar molesto al combinar el contenido de muchas celdas:
=CONCATENATE(A2, ", ", B2, ", ", C2)
Con Excel TEXTJOIN, especifica el delimitador solo una vez en el primer argumento y proporciona un rango de celdas para el tercer argumento:
=TEXTJOIN(", ", TRUE, A2:C2)
TEXTJOIN en Excel – 6 cosas para recordar
Para usar TEXTJOIN de manera efectiva en sus hojas de trabajo, hay algunos puntos importantes que debe tener en cuenta:
- TEXTJOIN es una función nueva, que solo está disponible en Excel 2019 – Excel 365. En versiones anteriores de Excel, utilice la función CONCATENAR o el operador «&» en su lugar.
- En las nuevas versiones de Excel, también puede usar la función CONCAT para concatenar valores de celdas y rangos separados, pero sin opciones para delimitadores o celdas vacías.
- Cualquier número proporcionado a TEXTJOIN para el delimitador o los argumentos de texto se convierte en texto.
- Si no se especifica el delimitador o es una cadena vacía («»), los valores de texto se concatenan sin ningún delimitador.
- La función puede manejar hasta 252 argumentos de texto.
- La cadena resultante puede contener un máximo de 32 767 caracteres, que es el límite de celda en Excel. Si se excede este límite, una fórmula TEXTJOIN devuelve el #¡VALOR! error.
Cómo unir texto en Excel – ejemplos de fórmulas
Para comprender mejor todas las ventajas de TEXTJOIN, echemos un vistazo a cómo usar la función en escenarios de la vida real.
Convertir columna a lista separada por comas
Cuando busca concatenar una lista vertical separando los valores por una coma, punto y coma o cualquier otro delimitador, TEXTJOIN es la función correcta para usar.
Para este ejemplo, concatenaremos las victorias y derrotas de cada equipo de la siguiente tabla. Esto se puede hacer con las siguientes fórmulas, que difieren solo en el rango de celdas que se unen.
Para el equipo 1:
=TEXTJOIN(",", FALSE, B2:B6)
Para el equipo 2:
=TEXTJOIN(",", FALSE, C2:C6)
Y así.
En todas las fórmulas se utilizan los siguientes argumentos:
- Delimitador – una coma («,»).
- Ignore_empty se establece en FALSO para incluir celdas vacías porque necesitamos mostrar qué juegos no se jugaron.
Como resultado, obtendrá cuatro listas separadas por comas que representan las victorias y derrotas de cada equipo de forma compacta:
Unir celdas con diferentes delimitadores
En una situación en la que necesite separar los valores combinados con diferentes delimitadores, puede proporcionar varios delimitadores como una constante de matriz o ingresar cada delimitador en una celda separada y usar una referencia de rango para el argumento del delimitador.
Supongamos que desea unir celdas que contienen diferentes partes del nombre y obtener el resultado en este formato: Apellido, Nombre Segundo nombre.
Como puede ver, el Apellido y el Nombre están separados por una coma y un espacio (» «), mientras que el Nombre y el Segundo nombre están separados por un espacio (» «) solamente. Entonces, incluimos estos dos delimitadores en una matriz constante {«, «,» «} y obtenemos la siguiente fórmula:
=TEXTJOIN({", "," "}, TRUE, A2:C2)
Donde A2:C2 son las partes del nombre que se combinarán.
Alternativamente, puede escribir los delimitadores sin comillas en algunas celdas vacías (por ejemplo, una coma y un espacio en F3 y un espacio en G3) y usar el rango $F$3:$G$3 (tenga en cuenta las referencias de celda absolutas) para el argumento delimitador:
=TEXTJOIN($F$3:$G$3, TRUE, A2:C2)
Al usar este enfoque general, puede combinar el contenido de las celdas en varias formas.
Por ejemplo, si desea obtener el resultado en el formato Nombre, Inicial del segundo nombre, Apellido, utilice la función IZQUIERDA para extraer el primer carácter (la inicial) de la celda C2. En cuanto a los delimitadores, ponemos un espacio (» «) entre el nombre y la inicial del medio; un punto y un espacio («. «) entre la Inicial y el Apellido:
=TEXTJOIN({" ",". "}, TRUE, B2, LEFT(C2,1), A2)
Unir texto y fechas en Excel
En un caso específico, cuando está fusionando texto y fechas, no funcionará proporcionar fechas directamente a una fórmula TEXTJOIN. Como recordará, Excel almacena las fechas como números de serie, por lo que su fórmula devolverá un número que representa la fecha, como se muestra en la siguiente captura de pantalla:
=TEXTJOIN(" ", TRUE, A2:B2)
Para solucionar esto, debe convertir la fecha en una cadena de texto antes de unirla. Y aquí la función TEXTO con el código de formato deseado («mm/dd/yyyy» en nuestro caso) es útil:
=TEXTJOIN(" ", TRUE, A2, TEXT(B2, "mm/dd/yyyy"))
Combinar texto con saltos de línea
Si desea fusionar texto en Excel para que cada valor comience en una línea nueva, use CHAR(10) como delimitador (donde 10 es un carácter de avance de línea).
Por ejemplo, para combinar texto de las celdas A2 y B2 separando los valores por un salto de línea, esta es la fórmula a utilizar:
=TEXTJOIN(CHAR(10), TRUE, A2:B2)
Consejo. Para que el resultado se muestre en varias líneas, como se muestra en la captura de pantalla anterior, asegúrese de que la función Ajustar texto esté activada.
TEXTJOIN IF para fusionar texto con condiciones
Debido a la capacidad de Excel TEXTJOIN para manejar matrices de cadenas, también se puede usar para fusionar condicionalmente el contenido de dos o más celdas. Para hacerlo, use la función IF para evaluar un rango de celdas y devolver una matriz de valores que cumplan la condición del argumento text1 de TEXTJOIN.
De la tabla que se muestra en la siguiente captura de pantalla, suponga que desea recuperar una lista de los miembros del Equipo 1. Para lograr esto, anide la siguiente instrucción IF en el argumento text1:
IF($B$2:$B$9=1, $A$2:$A$9, "")
En lenguaje sencillo, la fórmula anterior dice: Si la columna B es igual a 1, devuelva un valor de la columna A en la misma fila; de lo contrario, devuelve una cadena vacía.
La fórmula completa para el Equipo 1 toma esta forma:
=TEXTJOIN(", ", TRUE, IF($B$2:$B$9=1, $A$2:$A$9, ""))
De manera similar, puede obtener una lista separada por comas de los miembros del Equipo 2:
=TEXTJOIN(", ", TRUE, IF($B$2:$B$9=2, $A$2:$A$9, ""))
Nota. Debido a la función Dynamic Arrays disponible en Excel 365 y 2021, esto funciona como una fórmula normal, como se muestra en la captura de pantalla anterior. En Excel 2019, debe ingresarlo como una fórmula de matriz tradicional presionando el atajo Ctrl + Shift + Enter.
Busque y devuelva varias coincidencias en una lista separada por comas
Como probablemente sepa, la función BUSCARV de Excel solo puede devolver la primera coincidencia encontrada. Pero, ¿qué sucede si necesita obtener todas las coincidencias para una ID, SKU u otra cosa específica?
Para generar los resultados en celdas separadas, use una de las fórmulas descritas en Cómo BUSCARV valores múltiples en Excel.
Para buscar y devolver todos los valores coincidentes en una sola celda como una lista separada por comas, use la fórmula TEXTJOIN IF.
Para ver cómo funciona en la práctica, recuperemos una lista de productos comprados por un vendedor determinado de la tabla de muestra a continuación. Esto se puede hacer fácilmente con la siguiente fórmula:
=TEXTJOIN(", ", TRUE, IF($A$2:$A$12=D2, $B$2:$B$12, ""))
Donde A2:A12 son nombres de vendedores, B2:B12 son productos y D2 es el vendedor de interés.
La fórmula anterior va a E2 y trae todas las coincidencias para el vendedor objetivo en D2 (Adam). Debido al uso inteligente de referencias de celdas relativas (para el vendedor objetivo) y absolutas (para los nombres y productos del vendedor), la fórmula se copia correctamente en las celdas a continuación y también funciona bien para los otros dos vendedores:
Nota. Al igual que con el ejemplo anterior, esto funciona como una fórmula regular en Excel 365 y 2021, y como una fórmula CSE (Ctrl + Shift + Enter) en Excel 2019.
La lógica de la fórmula es exactamente la misma que en el ejemplo anterior:
La instrucción IF compara cada nombre en A2:A12 con el nombre de destino en D2 (Adam en nuestro caso):
IF($A$2:$A$12=D2, $B$2:$B$12, "")
Si la prueba lógica se evalúa como VERDADERO (es decir, el nombre en D2 coincide con el nombre en la columna A), la fórmula devuelve un producto de la columna B; de lo contrario, se devuelve una cadena vacía («»). El resultado de IF es la siguiente matriz:
{"";"";"Bananas";"Apples";"";"";"";"Oranges";"";"Lemons";""}
La matriz va a la función TEXTJOIN como argumento text1. Y debido a que TEXTJOIN está configurado para separar los valores con una coma y un espacio («), obtenemos esta cadena como resultado final:
Plátanos, manzanas, naranjas, limones
Excel TEXTJOIN no funciona
Cuando su fórmula TEXTJOIN da como resultado un error, lo más probable es que sea uno de los siguientes:
- #¿NOMBRE? El error ocurre cuando TEXTJOIN se usa en una versión anterior de Excel donde esta función no es compatible (anterior a 2019) o cuando el nombre de la función está mal escrito.
- #¡VALOR! se produce un error si la cadena resultante supera los 32.767 caracteres.
- #¡VALOR! También puede ocurrir un error si Excel no reconoce el delimitador como texto, por ejemplo, si proporciona algún carácter no imprimible como CHAR (0).
Así es como se usa la función TEXTJOIN en Excel. ¡Gracias por leer y espero verte en nuestro blog la próxima semana!