web-dev-qa-db-ja.com

単一の文字列で順序付けられた値を連結する

定義済みの列(B)の行ごとに1つの名前を追加するGoogleスプレッドシートがあります。アルファベット順に名前が付けられたone singleセル​​に「<p>Adam - Becky - John - Robert</p>」のような文字列を生成する必要があります。

式(2番目のシート)で名前を並べ替えることができます:

=sort(Sheet1!B:B, 1, TRUE)

しかし、これらの名前を別のセル(最初のシート)に連結するにはどうすればよいですか?

3
Francesca

Googleサポートフォーラムのこの投稿 のおかげで、別のソリューションが見つかりました。

=arrayformula(concatenate(Proper(unique(upper(query(B2:B31,"select B where B!='' order by B asc",0))))&" - "))

また、各(一意の)名前を大文字にします。

この後、これで<p>を生成します:

="<p>- "&D10&"</p>"

(最後に1つのハイフンがあるので、最初にハイフンを追加しました)

1
Francesca

JOIN()関数を使用します。

=join(" - ",sort(Sheet1!B:B, 1, TRUE))

SORT()は、値の配列を返します。 JOIN()は、結合文字列(この場合は引用符なしの「-」)で配列を連結します。

4
Karl_S