Comment concaténer le texte d'un tableau?

0

Laissez la cellule A1 a "abccba" Maintenant j'écris une formule dans la cellule B1 =RIGHT(LEFT(A1,ROW(INDIRECT("1:"&LEN(A1))))) il donne la valeur "a" ou une chaîne de tableau sous la forme {"a"; "b"; "c"; "c"; "b"; "a"} Maintenant, quand je concatène cela avec =CONCATENATE(RIGHT(LEFT(A1,ROW(INDIRECT("1:"&LEN(A1)))))) ça donne "a" mais j'attends "abccba" Où est-ce que je me trompe? comment concaténer une chaîne de tableau? Merci! Cordialement,

Hemant Rupani
la source

Réponses:

1

La concaténation n'accepte pas les valeurs de tableau comme argument; il n'accepte que les valeurs de texte discrètes. Lorsque vous entrez des tableaux, il prend simplement la première valeur que vous avez déjà trouvée. Si vous souhaitez passer un seul argument sous forme de tableau de texte et que le résultat soit une chaîne unique de tous ces arguments, vous devez utiliser VBA. Voici un fichier UDF qui ferait cela:

Public Function JoinText(arr()) As String
    For i = LBound(arr) To UBound(arr)
        JoinText = JoinText & arr(i, 1)
    Next
End Function

Et voici la formule à mettre dans une cellule, qui doit être entrée comme une formule matricielle avec Ctrl + Décalage + Entrer :

{=JoinText(RIGHT(LEFT(A1,ROW(INDIRECT("1:"&LEN(A1))))))}
Engineer Toast
la source
Salut! Y a-t-il une formule directe?
Hemant Rupani
1
Non. Il n'y a pas de fonction Excel intégrée pouvant prendre un seul argument avec un nombre variable d'éléments dans un tableau et renvoyer une chaîne qui combine tous ces éléments. Si le tableau a toujours une longueur fixe, vous pouvez créer une formule très longue pour les combiner. Pouvez-vous essayer de poster une question plus proche de votre tâche actuelle? L’exemple que vous avez donné est un moyen très complexe d’obtenir votre résultat initial. Si vous avez posté quelque chose avec les détails exacts, nous pourrons peut-être vous donner une meilleure solution à laquelle vous n'aviez pas pensé.
Engineer Toast
2
Oui. Franchement choquant que Microsoft n’ait pas encore fait de cette fonctionnalité une fonctionnalité des fonctions de feuille de calcul intégrées.
XOR LX