スプレッドシートで文字列の結合を区切り文字/演算子&/関数などでする方法とは?


スプレッドシートでは文字列などの連結をしたい場合もあるかもしれません。Googleスプレッドシートで文字列を自動でつなぐことができると、手作業で打ち込む必要がないので便利ですよね。スプレッドシートでは関数や演算子など文字列を結合する方法がいくつか考えられるのが特徴です。今回は、スプレッドシートで文字列を結合する方法を、改行が絡む場合も含めてご紹介します。

◎スプレッドシートで文字列の連結:演算子の&でつなげるには?


最も取り組みやすいのは、スプレッドシートで&でつなげる方法でしょう。関数を使わないため、打ち間違いや見づらい状況も避けられます。使い方としては、スプレッドシートで文字列を連結した結果を表示したいセルに、式を入力するだけで完成です。主な式は、『=つなげたいセル1つ目&つなげたいセル2つ目』となります。たとえば、B列3行目にある文字列”Curlping”とC列3行目にある”の学びBlog”をつなげたものをE列に表示したい場合、『=B3&C3』とすれば結合された文字列が出てきました。


スプレッドシートで&でつなげるのは、セルが複数あっても問題なくできます。スプレッドシートで文字列の結合を演算子でする場合には範囲では指定できないため、つなげるセルを&で挟んで並べましょう。また、スプレッドシートへ文字列を直接入力して結合するのならば演算子の前後にダブルクォーテーションが必要です。その両方を組み合わせることもできますが、スプレッドシートの文字列の結合をセルから引用するのにダブルクォーテーションを付けてしまうと、想定していない文字が表示されてしまうため注意しましょう。

●スプレッドシートで文字列として扱う関数は?結合で日付や数値があるときに便利


スプレッドシートには文字列として扱うことのできる関数としてTO_TEXTがあります。参照セルや指定した値を文字列として返す機能で、日付や数値も文字列にすることが可能です。スプレッドシートで&でつなげる際に、もし文字列と結合するのが日付だった場合、以下の例のように日付の部分がシリアル値に変わってしまって何なのかがわかりません。そこで、スプレッドシートで文字列として扱う関数であるTO_TEXTを日付や数値に使うことで文字としてそのまま反映できます。

◎スプレッドシートで関数を使って文字列の結合をする方法


スプレッドシートでは&だけではなく関数を使っても文字列やセルの内容をつなぐことができます。スプレッドシートで関数で文字列を結合する方法は、結果を表示したいセルに『=CONCATENATE(文字列またはセル1,文字列またはセル2,文字列またはセル3…)』と数式を入力すれば完了です。たとえば、『=CONCATENATE(B3,C3)』とすれことで先ほどと同じ結果になりました。関数を使う場合は演算子の代わりにカンマ,で並べる点を押さえておきましょう。


これだけであれば演算子&とそれほど変わりはないように感じるかもしれません。しかし、スプレッドシートの文字列の結合をセル範囲で指定できる点が大きなメリットです。&の場合は1つずつつなぐ必要がありましたが、この関数では『=CONCATENATE(B3:E3)』などとできるため、特に連結したいセルが多い場合には見やすくできます。


また、スプレッドシートでの列の結合も同様の式で可能です。たとえば、『=CONCATENATE(●:●)』と複数行複数列にまたがる範囲も、問題なく文字列をつなぐことができました。演算子とは異なり、途中で日付や数値が入っていても自動的に文字列として扱われるのも関数の特長です。

◎スプレッドシートで文字列の結合を区切り文字でするには


スプレッドシートで文字列の結合を区切り文字でしたい場合には、JOIN関数またはTEXTJOIN関数を使うのもおすすめです。配列または範囲指定したセルにある文字列を連結します。JOIN関数の数式は、『=JOIN(区切り文字, 値または配列1, [値または配列2,…])』です。たとえば、『=JOIN(“ー”, B12,C12,D12)』とすると、それぞれに挿入されている値が区切り文字[ー]で結合し、「AーBーC」と出てきました。スプレッドシートでの文字列の結合はスペースなどもOKで、『=JOIN(“ ”, B12,C12,D12)』とすれば「A B C」となります。スプレッドシートで関数JOINを使うと文字を入れるものが共通していれば一度の指定だけで結合できるのが便利なところでしょう。


ただし、スプレッドシートではJOINは空白を無視することができません。先ほどの例で真ん中の参照セルの値がないとき、結果は「AーーC」となり違和感が出てしまいます。そこでおすすめなのは、TEXTJOIN関数を使うことです。TEXTJOIN関数の数式は、『=TEXTJOIN(区切り文字, 空のセルを無視, テキスト1, [テキスト2,…])』で、「空のセルを無視する」にはブール値(真理値)であるTRUEまたはFALSEを入力します。 TRUEであれば空白が無視され、区切り文字が表示されません。FALSEであればスプレッドシートの空白は無視されず他の関数と同じように文字を入れることでつなぎます。

◎スプレッドシートで文字列を結合するときに改行で文字を分ける方法


スプレッドシートで文字列を結合するときには改行で表示したい場合もあるかもしれません。途中で改行したい場合には「CHAR(10)」を用いることでできます。スプレッドシートには改行コードと関数を組み合わせた式を入力し、たとえば最初に紹介した演算子&の場合は『=参照セル1&CHAR(10)&参照セル2&CHAR(10)&参照セル3』です。JOIN関数を使うなら『=JOIN(CHAR(10),セル範囲)』と表すことができ、TEXTJOIN関数を使うと『=TEXTJOIN(CHAR(10),TRUE,セル範囲)』でスプレッドシートで改行したときに文字が抜けている(空白の)場合には自動的に詰められます。

◎まとめ


今回は、グーグルスプレッドシートで文字列を結合する方法をご紹介しました。スプレッドシートの文字列の結合は演算子がまず考えられ、関数であれば列の結合も短い式でできます。スペースなど文字を入れるならJOINが、空白を無視したいならTEXTJOINがおすすめです。状況によって使える・使いやすいものが異なりますので、違いを把握して使い分けるのが良いでしょう。最後までお読みいただきありがとうございました。

Curlping