Actualización: una nueva función en Excel 365, la función DIVIDIR TEXTO le permite simplificar el trabajo de separar texto por fórmula.
- El método siguiente no es para ser usado sólo si no tienes la función DIVIDIR.TEXTO en su versión de Excel.

Varios métodos para separar texto en un delimitador
En Excel, existen varias técnicas para separar el contenido de una celda según un delimitador.
- Existe la técnica con la herramienta Convertir o más recientemente Power Query que ofrece opciones adicionales muy interesantes.
- Pero gracias a funciones propagadas de Office 365 o Excel Online, es posible separar texto en un delimitador con una fórmula.
Comenzaremos con el ejemplo de esta lista de direcciones para ilustrar la técnica.

Usando la función FILTRO.XML
La función FILTER.XML se utiliza para cortar un archivo XML respetando el XPath. ¿Vaya? ¿Qué es este galimatías? 😯
Le El formato XML es un formato de escritura., difícil de leer para los humanos, pero muy eficaz para una máquina. De hecho, hablamos de archivos estructurados cuando hablamos de archivos XML como se muestra en la imagen a continuación.

Cada elemento de un archivo XML se caracteriza por una etiqueta, como , , ... La jerarquía entre estas etiquetas cumple con un estándar llamado XPath. Entonces el truco, se trata de construir una cadena de caracteres que integrará nuestra dirección como en una estructura XML como esta.
<root>
<node>35 Rue de la République</node>
<node>21250 Seurre</node>
<node>France</node>
</root>
Fórmula para separar texto en un delimitador
Primero, construiremos la dirección en forma de archivo XML.
=" “&A2&” "
Pero este escrito no ha terminado porque el resultado es por el momento el siguiente:
<root>
<node>35 Rue de la République, 21250 Seurre, France</node>
</root>
Entonces, vamos a reemplazar el separador de nuestro texto, aquí la coma, por un nivel jerárquico usando la función SUSTITUIR.
=" "&SUSTITUIR(A2;",";" ")&" "
Y todo este escrito se incluirá en la fórmula FILTRE.XML con la etiqueta @// como XPathnodo.
=FILTRO.XML(" "&SUSTITUIR(A2;",";" ")&" ";"@//nodo")

Cambiar orientación
Solo que así, la fórmula no es práctica porque el resultado se devuelve verticalmente. Para cambiar la orientación, simplemente escriba esta fórmula en la función TRANSPONER.
=TRANSPONER(FILTRO.XML(" "&SUSTITUIR(A2;",";" ")&" ";"@//nodo"))

Función personalizada con LAMBDA
Como la fórmula anterior sólo se puede escribir con Excel 365, en esta versión también tienes la función LAMBDA. La función LAMBDA le permite escribir sus propias funciones personalizadas. En este caso, podemos crear la función. TEXTO.SEPARADO.

Y con la fórmula:
=LAMBDA(miTexto;Separador;TRANSPOSE(FILTER.XML(""&SUBSTITUTE(miTexto;Separador;"
")&"";"//nodo")))

Artículos relacionados
- La función DIVIDIR.TEXTO en Excel
- TEXTO.ANTES y TEXTO.DESPUÉS
- Extraer palabras a la derecha de un delimitador
- Separe el texto con alineación a la derecha
- Separar texto por coma en Excel
- Encontrará información adicional sobre Funciones SUSTITUIR, TRANSPOSE et FILTRO.XML en el sitio web de Microsoft.
08/05/2022 a las 13:47
Hola y gracias por tu sitio.
Cuando ingreso la fórmula:
=FILTRO.XML(""&SUBSTITUTE(A2;",";"")&"";"@//nodo")
, tengo que quitar el @ para que no me muestre error (#VALUE) y se detenga en la primera coma que encuentre en el texto.
08/05/2022 a las 14:08
Hola, una nueva función de Excel está en preparación y pronto estará disponible con Excel 365 y Excel Online para obtener el mismo resultado y de forma más sencilla. A seguir