グーグルスプレッドシートで、セル内に入力された文字列を連結して、ひとつづきの文字列したい時の方法をまとめます。いろいろな連結方法がありますので、全部書きます。お好みの結合方法を見つけて下さい。
目次
演算子「&」で文字列を結合する
最も基本的な連結方法です。
「&」記号は、すなわち文字列の連結を表しますので、下記のようにセルに演算を入力します。
// 「&」演算子での結合例 ="文字列を"&"結合"&”するよ”
上記で、「”(=ダブルクォーテーション)」で囲まれた文字列部分は、「セルへの参照」と置き換えることができますので・・、下記のように、セルを選択して、セル内の文字列を結合する演算が利用できます。
CONCAT関数で文字列を結合する
この方法はほぼ「&」と同様です。
// CONCAT関数での文字列の結合例 =concat("文字列を", "結合")
しかしながら、関数に渡す引数が、「文字列のみ」しかも、「2つまで」しか入力できませんので、「&」演算子に比べてなんだか使い勝手が悪い関数となっています。
筆者としては、使う機会が無いです。この関数を利用する場面はほとんどない、といってもよいのではないでしょうか。
CONCATENATE関数で文字列を結合する
CONCATENATE関数は、前述のCONCAT関数の欠点・使いにくさをすべて解決したような動きをします。
// CONCATENATE関数での文字列の結合例 =concatenate("文字列を", "結合", "するって", "いったでしょ?")
なんと、引数がいくらでも引き渡せるのです。
さらに!それだけではありません。引数に文字列だけでなく、「セルの範囲」を指定できるようになっています。
ご覧あれー:
第一引数に、範囲を指定してやることで、まとめて連結することができます。
複数の文字列の結合は、このCONCATENATE関数で決まり、と言って良いのではないでしょうか?
JOIN関数で文字列を結合する
すこし、趣向が違いますが、使い勝手のよい関数の一つに、「JOIN関数」があります。
// JOIN関数での文字列の結合例 =JOIN("", "あたなは", "文字列を", "結合", "したいですか?")
JOIN関数は、第一引数に、glue(グルー) と呼ばれる「連結子」を指定し、第二引数に配列を受け取る関数です。簡単にいえば、連続するデータを配列を、連結子を間に挟んでひとつづきの文字列に変換します。
とりあえず、こちらをご覧頂くと、わかると思います。
ビックリマークで、文字列が結合されました。
さて、第一引数はどんな文字列でも良い、ですので、「空文字」を引数として渡すと・・・
と言った感じで、見事範囲を連結することに成功しました。
以下、結合に関連して、参考情報です。
参考:結合文字列に「”」(ダブルクォーテーション)を含むときの対応方法
こちらは参考情報ですが、上記の&演算など、演算中で「”」を文字列として扱いたいときは、注意が必要です。
下記は、演算のエラーとなります。
// 失敗例 ="文字列に"「"&"""&"」を含めたいの"。
スプレッドシートの演算中で(正確には、文字列オブジェクト内で)「”」を文字列として扱いたいときは「””」とする、という仕様(ルール)があります。これを利用します。
// 結合文字列に"を含める例 ="文字列に"「"&""""&"」を含めたいの"。 // 出力結果 文字列に「"」を含めたいの。
ちょっと演算が読みにくくなりますが、仕様どおり、『文字列に「”」を含めたいの。』が出力されます。
また下記も別の例です。
// 結合文字列に"を含める例 ="文字列に「"& char(34) &"」を含めたいの。" // 出力結果 文字列に「"」を含めたいの。
char(34)は、演算中で、文字としての「”」を出力する関数です。引数にUNICODEの番号を入れれば、いかなる文字も出力できます。UNICODEのリストは、Wikipediaなどで、調べられます。
おまけ:split関数で、文字列を分離する
文字列結合とは無関係ですが、おまけです。
便利な関数にsplit関数があります。これは上記のJOINと逆の動きをする関数として知られています。
引数の順番がJOINと逆ですが、以下のように書けます。
// SPLIT関数を使った、例 =split("、", "句読点を、使わないでって、言ったのに・・・。")
こんな感じです。
演算式を入力した右側のセルを、分離した数だけ専有しますので、右側のセルを用意しておく必要があります。
文字列の結合に関しては、以上になります。お役に立ったでしょうか?
スプレッドシート文字列の結合と連結の参考リンク
Googleスプレッドシートの公式リファレンスも、最近になって、だいぶ見やすくなったようですw。リンク貼っておきす。