スプレッドシート(GoogleスプレッドシートやExcel)を使用してデータを管理する際、異なるセルに分かれた文字列を結合することが必要になる場面は多くあります。例えば、「姓」と「名」が別々のセルにある場合、それらを結合してフルネームを作成したり、複数の情報を1つのセルに統合したりすることが求められることがあります。
本記事ではスプレッドシートで文字列を結合する方法を詳しく解説し、さまざまなケースに対応するための具体的な関数やテクニックを紹介します。
目次
- CONCATENATE関数を使う(Excelのみ)
- CONCAT関数を使う(Googleスプレッドシート & Excel)
- TEXTJOIN関数を使う(Googleスプレッドシート & Excel)
- &(アンパサンド)演算子を使う
- ARRAYFORMULAとTEXTJOINを組み合わせる(Googleスプレッドシート)
- スクリプトを使って高度な文字列結合(Google Apps Script)
- まとめ
CONCATENATE関数を使う(Excelのみ)
ExcelではCONCATENATE関数を使用して文字列を結合できます。一番シンプルな方法なので紹介しますが、続いてスプレッドシートでも活用できる方法を併せて紹介していきます。
基本構文
=CONCATENATE(文字列1, 文字列2, ...)例:
| A列 | B列 |
|---|---|
| 山田 | 太郎 |
=CONCATENATE(A1, B1)
→ 山田太郎
注意点
CONCATENATEはExcel 2016以前のバージョンで使用されます。- Excel 2019以降では、後述の
CONCAT関数が推奨されます。
CONCAT関数を使う(Googleスプレッドシート & Excel)
GoogleスプレッドシートやExcel 2019以降では、CONCAT関数を使用できます。
基本構文
=CONCAT(文字列1, 文字列2, ...)例:
=CONCAT(A1, B1)
→ 山田太郎
注意点
CONCATは2つ以上のセルの内容を結合します。CONCATENATEよりも短く、簡潔な記述が可能です。- ただし、セル範囲(A1:A3など)を指定できないため、1つずつ入力する必要があります。
TEXTJOIN関数を使う(Googleスプレッドシート & Excel)
複数のセルの値を区切り文字を挟んで結合する場合、TEXTJOIN関数が便利です。
基本構文
=TEXTJOIN(区切り文字, 空白セルを無視するか, 文字列1, 文字列2, ...)例1:
=TEXTJOIN(" ", TRUE, A1, B1)
→ 山田太郎
例2:
=TEXTJOIN(", ", TRUE, A1:A3)
→ 山田, 太郎, 一郎
注意点
TEXTJOINはリストの結合に最適。TRUEを指定すると空白セルは無視される。- GoogleスプレッドシートやExcelの新しいバージョンで使用可能。
&(アンパサンド)演算子を使う
関数を使わずに手軽に文字列を結合する方法として、アンパサンド(&)演算子があります。
基本構文
=セル1 & セル2例1:
=A1 & " " & B1
→ 山田太郎
注意点
- シンプルで直感的。
TEXTJOINのように空白セルを無視する機能はない。
ARRAYFORMULAとTEXTJOINを組み合わせる(Googleスプレッドシート)
GoogleスプレッドシートではARRAYFORMULAと組み合わせることで、複数の行をまとめて処理できます。
基本構文
=ARRAYFORMULA(TEXTJOIN(", ", TRUE, A1:A10))→山田, 太郎, 一郎, ...
注意点
ARRAYFORMULAにより複数行を一括処理可能。TEXTJOINと組み合わせることで、データの整理に便利。
スクリプトを使って高度な文字列結合(Google Apps Script)
Googleスプレッドシートでは、Google Apps Scriptを使ってカスタム関数を作成し、柔軟な文字列結合が可能です。
基本構文
function customJoin(delimiter, range) {
return range.flat().filter(String).join(delimiter);
}→=CUSTOMJOIN(", ", A1:A10)
注意点
- スクリプトでより高度な処理が可能。
- 空白セルの処理なども自由にカスタマイズ可能。
まとめ
スプレッドシートで文字列を結合する方法は多数ありますが、目的に応じて適切な方法を選ぶことが重要です。
| 方法 | 使いやすさ | 特徴 |
CONCATENATE | ★★★ | Excelの旧関数。シンプルだが推奨されない |
CONCAT | ★★★★ | Excel & Googleスプレッドシートで利用可能 |
TEXTJOIN | ★★★★★ | 区切り文字を追加できる。リスト結合に便利 |
& 演算子 | ★★★★ | シンプルで関数不要 |
ARRAYFORMULA | ★★★★★ | Googleスプレッドシートで一括処理可能 |
ARRAYFORMULAとTEXTJOIN | ★★★★ | 改行を追加できる |
| Google Apps Script | ★★★★★ | 高度なカスタマイズが可能 |
以上の方法を活用して、スプレッドシートでの文字列処理を効率化しましょう!
他にもスプレッドシートに関する記事を上げています。是非色々見てみてください。