Yalnızca doldurulmuş hücreleri birleştirmek


21

Şu anda bir kart oyunundaki puanları takip etmek için bir e-tablom var. İki ila beş oyuncu olabilir. Şunlara sahibim:

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

Şu anda kullanıyorum:

= JOIN( " vs " ; C10:C14 )

Ama sorun şu ki, ben sonunda Dave vs Paul vs John vs vs.

Söylemenin bir yolu var Dave vs Paul vs Johnama daha fazla oyuncum olsaydı, Dave vs Paul vs John vs Robbir formülle?

Yanıtlar:



16

TEXTJOIN'i deneyin :

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

2
Bu en iyi cevap. Daha kısa, daha basit ve boş değerleri göz ardı etmenizi sağlar.
Ricardo Amaral

1
Her zaman en iyi cevabı aramak için her şeyi okudum sadece "çalışan bir cevap" değil :)
Ricardo Amaral

5

Metin içeren en az bir hücre varsa yukarıdaki çözümlerin ikisi de işe yarar. Ancak:

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

%%%%C10: C14 hepsi boş ve dönecekti .

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

#N/AC10: C14 hepsi boş olsaydı dönecekti .

Bununla birlikte, %formülü aşağıdaki SUBSTITUTEgibi bir işlevle sararak işaretleri boş dizelerle değiştirmek için ilk çözümü biraz değiştirebilirsiniz :

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

(Netlik için birden fazla satırda gösterilir)


Lütfen dikkat: "yukarıda" nın cevaplarda bağlamı yoktur, çünkü cevaplar farklı şekillerde sıralanabilir.
ale

4

Başka bir çözüm buldum:

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

%, Listede yer almayan, virgül veya "ve" işareti veya soru işareti gibi herhangi bir simge olabilir.


Güzel bir alternatif !!
Jacob Jan Tuinstra
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.