Concatenando apenas células preenchidas


21

Atualmente, tenho uma planilha para acompanhar as pontuações em um jogo de cartas. Pode haver entre dois e cinco jogadores. Eu tenho o seguinte:

| Players  |
|----------|
| Dave     |
| Paul     |
| John     |
|          |
|          |

No momento eu uso:

= JOIN( " vs " ; C10:C14 )

Mas o problema é que eu acabo com isso Dave vs Paul vs John vs vs.

Existe uma maneira de fazer isso dizer, Dave vs Paul vs Johnmas se eu tivesse mais jogadores, Dave vs Paul vs John vs Robcom uma fórmula?

Respostas:



16

Experimente o TEXTJOIN :

=textjoin(" vs ",1,C10:C14)

2
Esta é a melhor resposta. É mais curto, mais simples e permite ignorar valores em branco.
Ricardo Amaral

1
Sempre leio tudo para procurar a melhor resposta não apenas uma "resposta de trabalho" :)
Ricardo Amaral

5

Ambas as soluções acima funcionam se houver pelo menos uma célula contendo texto. Contudo:

= JOIN(" vs ",SPLIT(JOIN("%",C10:C14),"%",0))

Retornaria %%%%se C10: C14 estivesse vazio e.

= JOIN( " vs " ; FILTER(C10:C14; NOT(C10:C14 = "") ))

Retornaria #N/Ase C10: C14 estivesse vazio.

No entanto, você pode alterar ligeiramente a primeira solução para substituir os %sinais por seqüências de caracteres vazias, envolvendo a fórmula com a SUBSTITUTEfunção da seguinte maneira:

=SUBSTITUTE(
   JOIN(" vs ",SPLIT(JOIN("%",C10:C14),"%",0)),    // text_to_search
   "%",                                            // search_for
   ""                                              // replace_with
 )

(Mostrado em várias linhas para maior clareza)


Observe: "acima" realmente não tem contexto nas respostas, pois as respostas podem ser classificadas de maneiras diferentes.
ale

4

Encontrei outra solução:

=JOIN(" vs ",SPLIT(JOIN("%",C10:C14),"%",0))

O% pode realmente ser qualquer símbolo que não esteja presente na lista, como vírgula, e comercial ou ponto de interrogação.


Boa alternativa !!
: 27611 Jan Jacob Tuinstra
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.