TEXTJOIN () em uma matriz incorretamente retorna um espaço em branco

3

TL; DR: TEXTJOIN() em uma matriz retorna um espaço em branco - não é possível usar o VBA para resolver o problema de uma maneira alternativa.

Criei várias planilhas com grande dependência das funções do Array devido a limitações que me impedem de criar uma pasta de trabalho habilitada para macro.

Até agora, isso está funcionando muito bem, mas estou com um problema com TEXTJOIN() .

Basicamente, é a seguinte fórmula:

{=TEXTJOIN(CHAR(10);TRUE;IF(A3:A100="test";B3:B100;""))}

retornando um espaço em branco (não um erro). Usando a ferramenta 'Avaliar Fórmula' mostra que a penúltima etapa gera o array correto (com dois valores de string não nulos). No entanto, o próximo passo está vazio. Veja a captura de tela:

Editar:imagemmaisclara:

Isso vem me intrigando há algum tempo, então qualquer ajuda ou soluções alternativas que não dependam do VBA seriam muito apreciadas!

    
por hooge 19.06.2018 / 15:47

1 resposta

0

Eu suspeito que sua fórmula esteja funcionando corretamente, mas não tenha o Excel 2016 para verificar minhas suspeitas. O que eu acho que está acontecendo é que você está concatenando 100 retornos de carro. Isso resultará em uma saída que estará em algum lugar com mais de 1.000 pixels de altura, mas o Excel permitirá apenas uma altura de linha de 407 pixels, de forma que a parte de texto visível da saída esteja sendo ocultada.

Você pode confirmar minhas suspeitas com o seguinte teste: copie a célula de saída (Resumo! C21) e cole-a em uma sessão em branco do bloco de notas. Se a célula contiver dados, você poderá vê-lo no Bloco de Notas. Alternativamente, você pode converter a fórmula para seu valor usando [F2] e depois [F9] e, em seguida, tentar rolar para cima e para baixo na saída.

Se minha suspeita estiver correta, receio que você precise pesquisar outro método para exibir os dados de que precisa, provavelmente usando fórmulas adicionais para filtrar os dados que deseja exibir.

    
por 10.10.2018 / 14:59