現在、カードゲームのスコアを追跡するためのスプレッドシートを用意しています。 2人から5人のプレイヤーがいる可能性があります。私は次のものを持っています:
| Players |
|----------|
| Dave |
| Paul |
| John |
| |
| |
現時点では私は使用します:
= JOIN( " vs " ; C10:C14 )
しかし、問題はDave vs Paul vs John vs vs
になってしまうことです。
Dave vs Paul vs John
と言う方法はありますが、より多くのプレーヤーがいる場合は、1つの式でDave vs Paul vs John vs Rob
を使用しますか?
はい、配列をFILTER
ingすることにより:
= JOIN( " vs " ; FILTER(C10:C14; NOT(C10:C14 = "") ))
したがって、JOIN
メソッドは空でないセルでのみ動作します。
スプレッドシートの例 を設定しました。
また、 Google Spreadsheets関数リスト (FILTER
を検索)を確認してください。
TEXTJOIN を試してください:
=textjoin(" vs ",1,C10:C14)
テキストを含むセルが少なくとも1つある場合、上記の両方のソリューションが機能します。しかしながら:
= JOIN(" vs ",SPLIT(JOIN("%",C10:C14),"%",0))
C10:C14がすべて空の場合、%%%%
を返します。
= JOIN( " vs " ; FILTER(C10:C14; NOT(C10:C14 = "") ))
C10:C14がすべて空の場合、#N/A
を返します。
ただし、次のようにSUBSTITUTE
関数で式をラップすることにより、%
記号を空の文字列に置き換える最初のソリューションをわずかに修正できます。
=SUBSTITUTE(
JOIN(" vs ",SPLIT(JOIN("%",C10:C14),"%",0)), // text_to_search
"%", // search_for
"" // replace_with
)
(わかりやすくするために複数の行に表示)
私は別の解決策を見つけました:
=JOIN(" vs ",SPLIT(JOIN("%",C10:C14),"%",0))
%には、コンマ、アンパサンド、疑問符など、実際にはリストにない任意の記号を使用できます。