Łączenie tylko wypełnionych komórek


21

Obecnie mam arkusz kalkulacyjny do śledzenia wyników w grze karcianej. Może być od dwóch do pięciu graczy. Mam następujące:

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

W tej chwili używam:

= JOIN( " vs " ; C10:C14 )

Ale problem polega na tym, że w końcu mam Dave vs Paul vs John vs vs.

Czy istnieje sposób, aby to powiedzieć, Dave vs Paul vs Johnale gdybym miał więcej graczy, Dave vs Paul vs John vs Robz jedną formułą?

Odpowiedzi:



16

Wypróbuj TEXTJOIN :

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

2
To najlepsza odpowiedź. Jest krótszy, prostszy i pozwala zignorować puste wartości.
Ricardo Amaral

1
Zawsze czytam wszystko, by znaleźć najlepszą odpowiedź, a nie tylko „roboczą odpowiedź” :)
Ricardo Amaral

5

Oba powyższe rozwiązania działają, jeśli jest co najmniej jedna komórka zawierająca tekst. Jednak:

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

Wróciłby, %%%%gdyby C10: C14 były puste i.

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

Wróciłby, #N/Agdyby wszystkie C10: C14 były puste.

Można jednak nieznacznie zmienić pierwsze rozwiązanie, aby zastąpić %znaki pustymi łańcuchami, zawijając formułę SUBSTITUTEfunkcją w następujący sposób:

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

(Dla większej przejrzystości pokazano na wielu liniach)


Uwaga: „powyżej” naprawdę nie ma kontekstu w odpowiedziach, ponieważ odpowiedzi można sortować na różne sposoby.
ale

4

Znalazłem inne rozwiązanie:

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

% Może być dowolnym symbolem naprawdę nieobecnym na liście, takim jak przecinek, znak ampersand lub znak zapytania.


Ładna alternatywa !!
Jacob Jan Tuinstra
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.