Séparer du texte et introduction à la fonction REDUCE

Bonjour à tous,

Comment faire pour séparer la colonne "C1 & C2" ci-dessous avec une seule fonction?

L'objectif est de comprendre la fonction REDUCE, fournir une application pratique et ouvrir la porte à des formules plus complexes pour vos propres fichiers.

Voici la réponse directement implantable, puis la vidéo en dessous pour une explication détaillée.

La fonction que j'utilise :

En gras, les informations à adapter à votre cas.

=EXCLURE(REDUCE("";T_Chaines[C 1 & C2] ; LAMBDA(_accu;_val; ASSEMB.V(_accu; FRACTIONNER.TEXTE(_val; "/"))));1)

Que vous pouvez facilement transformer en LAMBDA en collant ceci dans le gestionnaire de nom :

L_FRACTIONNER_TEXTE
=LAMBDA(_Tableau;_Separateur;EXCLURE(REDUCE("";_Tableau;LAMBDA(_accu;_val;
ASSEMB.V(_accu;FRACTIONNER.TEXTE(_val;_Separateur))));1))

Explication de la fonction en vidéos

Comparaison rapide des solutions alternatives

SolutionAvantagesInconvénients
Autre formule.Fonctionne dans des versions plus anciennes d'excelLa fonction est plus longue et plus difficile à comprendre
Utiliser uniquement FRACTIONNER.TEXTEFonction native, très rapide à implanterElle ne s'étend pas vers le bas
PowerQueryTrès intéressant, surtout pour de gros volumes de données.
Le résultat est sous forme de tableau.
Il faut actualiser les données.
Le résultat est sous forme d'un tableau, dans certains contextes, c'est pénalisant (e.g. calculs financier)
Données, convertirIntéressant pour de gros volumes de données. Utilisation unique.Il faut refaire l'opération à chaque fois.
Autres alternatives, telles que =TEXTE.AVANT(), TEXTE.APRES(), STXT() et TROUVE(), etc.Si la séparation ne requiert qu'un élément, ce sont d'excellentes solutionsMoins universel et parfois plus difficile à implanter.