como CONCATENAR o texto da matriz?

0

Deixe a célula A1 ter "abccba" Agora eu escrevo uma fórmula na célula B1 =RIGHT(LEFT(A1,ROW(INDIRECT("1:"&LEN(A1))))) que dá valor "a" ou string de matriz como {"a"; "b"; "c"; "c"; "b"; "a"} Agora, quando concateno isso com =CONCATENATE(RIGHT(LEFT(A1,ROW(INDIRECT("1:"&LEN(A1)))))) , dá "a", mas espero "abccba" onde estou errado? como concatenar string de array? Obrigado! respeita,

    
por Hemant Rupani 27.03.2015 / 14:50

1 resposta

1

Concatenar não aceita valores de matriz como argumento; aceita apenas valores discretos de texto. Quando você insere arrays, apenas pega o primeiro valor como você já encontrou. Se você quiser passar um único argumento como uma matriz de texto e ter o resultado como uma única sequência de todos esses argumentos, será necessário usar o VBA. Aqui está uma UDF que faria isso:

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

E aqui está a fórmula para colocar em uma célula, que deve ser inserida como uma fórmula de matriz com Ctrl + Deslocamento + Enter :

{=JoinText(RIGHT(LEFT(A1,ROW(INDIRECT("1:"&LEN(A1))))))}
    
por 27.03.2015 / 16:26