スプレッドシートのJOIN関数の使い方|配列を区切り結合

スポンサーリンク

JOIN関数の基本的な使い方(スプレッドシート)

Googleスプレッドシートで「配列やセル範囲をカンマ区切りのテキストにまとめたい」と思ったことはありませんか?

CONCATENATE関数や&演算子でも結合はできます。でもセルが増えるほど数式が長くなって読みにくくなりますよね。

そんなときに便利なのがJOIN関数です。区切り文字と配列を指定するだけで、サッと1つの文字列にまとめてくれます。この記事ではJOIN関数の基本から、FILTER関数との応用、TEXTJOIN・SPLITとの関係まで解説しますよ。

読み方と語源

JOIN関数の読み方は「ジョイン」です。英語で「結合する・つなぐ」という意味があります。名前のとおり「配列を結合する関数」と覚えてください。

なおJOIN関数はGoogleスプレッドシート独自の関数です。Excelには搭載されていません。Excelで同様の処理をするにはTEXTJOIN関数を使ってくださいね。

構文と引数の説明

JOIN関数の構文はこちらです。

=JOIN(区切り文字, 値または配列1, [値または配列2, ...])
引数必須/省略可説明
区切り文字必須値の間に挿入する文字列(”,”や” “など)
値または配列1必須結合したい値、セル参照、またはセル範囲
値または配列2, …省略可追加で結合したい値や配列

第1引数の区切り文字には空文字””も指定できます。区切りなしで結合したいときに使ってくださいね。

基本的な書き方の例

A1からA4に「東京」「大阪」「名古屋」「福岡」と入っている場合を見てみましょう。

=JOIN(", ", A1:A4)
→ 「東京, 大阪, 名古屋, 福岡」

区切り文字にカンマ+スペースを指定するだけで、きれいなリストが完成します。セルが何個あっても数式は変わりません。

セル範囲ではなく個別のセルを指定することもできます。

=JOIN("-", A1, B1, C1)
→ 「東京-大阪-名古屋」

引数を複数並べても結合できますが、セル範囲のほうがスッキリ書けますよ。

JOIN関数の実務パターン集

カンマ区切りリストを作る

タグ一覧やメール宛先リストを作るときに便利です。A列にメールアドレスが入っている場合はこう書きます。

=JOIN("; ", A1:A5)
→ 「user1@example.com; user2@example.com; user3@example.com; ...」

セミコロン+スペースで区切れば、メールのCC欄にそのまま貼り付けられる形になりますよ。

改行コードで結合してセル内改行を作る

CHAR(10)を区切り文字に使うと、セル内で改行した文字列を作れます。

=JOIN(CHAR(10), A1:A4)

結果のセルに「折り返して全体を表示する」を設定すると、各値が1行ずつ表示されます。セル内に箇条書きのようなリストを作りたいときに重宝しますよ。

FILTER関数と組み合わせて条件付き結合

FILTER関数で絞り込んだ結果をJOIN関数で結合する方法です。A列に名前、B列に部署が入っているとします。

「営業部」のメンバーだけをカンマ区切りで結合する数式です。

=JOIN(", ", FILTER(A2:A10, B2:B10="営業部"))
→ 「田中, 佐藤, 高橋」

FILTER関数が条件に合う名前の配列を返します。JOIN関数がその配列をカンマ区切りで結合します。2つの関数を組み合わせるだけで条件付き結合が完成しますよ。

FILTER + JOIN の活用場面

部署別の名前リスト、カテゴリ別の商品一覧、ステータス別のタスク一覧など、「条件で絞り込んでからリスト化する」パターンに幅広く使えます。

TEXTJOIN関数との違い・使い分け

JOIN関数とTEXTJOIN関数はどちらも区切り文字で結合する関数です。似ているようで大きな違いがあります。

比較表

項目JOINTEXTJOIN
空白セルのスキップ不可(空白もそのまま結合)第2引数でTRUE/FALSE制御
引数の並び区切り文字, 配列…区切り文字, 空白無視, テキスト…
Sheets対応対応(独自関数)対応
Excel対応非対応対応(Microsoft 365 / Excel 2019以降)
IF配列との相性FILTER関数経由で対応直接IF配列を渡せる

どちらを使うべきか

次の基準で選んでみてください。

  • 空白セルが混じるデータ → TEXTJOIN(空白スキップ機能あり)
  • 空白セルがない配列・セル範囲 → JOIN(引数がシンプル)
  • FILTER関数の結果を結合 → JOIN(相性が良い)
  • Excelとの互換性が必要 → TEXTJOIN(Excel側でも動作する)

空白セルを含むデータなら迷わずTEXTJOINです。空白のないデータやFILTER関数の結果を結合するなら、引数がシンプルなJOINが便利ですよ。

SPLIT関数との逆関数関係

JOIN関数とSPLIT関数は「結合」と「分割」の逆の関係にあります。セットで覚えておくと便利です。

操作関数
結合JOIN3つのセル → 「東京,大阪,名古屋」
分割SPLIT「東京,大阪,名古屋」→ 3つのセルに分割

実際に相互変換してみましょう。

結合(JOIN):

=JOIN(",", A1:C1)
→ 「東京,大阪,名古屋」

分割(SPLIT):

=SPLIT("東京,大阪,名古屋", ",")
→ A1:「東京」, B1:「大阪」, C1:「名古屋」

同じ区切り文字(カンマ)を使えば、元の形に戻せます。データの結合と分割を行き来する場面で活躍しますよ。

よくあるエラーと対処法

JOIN関数で発生しやすいエラーをまとめます。

エラー・症状原因対処法
区切り文字が連続する空白セルが含まれているTEXTJOIN関数に切り替えてTRUEを指定
#N/A エラーFILTER関数が条件に合うデータを見つけられないFILTER結果をIFERROR関数で囲む
数値がシリアル値になる日付セルをそのまま渡したTEXT関数で書式変換してから結合
結果が空になる指定範囲のセルがすべて空データの入力範囲を確認する

いちばん多いのが「区切り文字が連続する」ケースです。JOIN関数には空白セルをスキップする機能がありません。データに空白が混じるときはTEXTJOIN関数を使ってくださいね。

日付の書式変換はこう書きます。

=JOIN("/", TEXT(A1, "yyyy"), TEXT(B1, "m"), TEXT(C1, "d"))
→ 「2026/3/21」

日付の表示形式は結合時に失われます。TEXT関数で事前に変換するのを忘れないようにしましょう。

まとめ

スプレッドシートのJOIN関数の使い方を振り返りましょう。

項目内容
読み方ジョイン
機能配列やセル範囲を区切り文字で結合して1つの文字列にする
構文=JOIN(区切り文字, 値または配列1, [値または配列2, …])
TEXTJOIN との違いJOINは空白スキップ機能なし。シンプルな引数構造
対になる関数SPLIT(分割)
注意点Excelには非搭載(スプレッドシート独自関数)

配列やFILTER関数の結果を手早くテキストにまとめたいなら、JOINがいちばんシンプルです。空白セルが混じるデータにはTEXTJOIN関数、逆に文字列を分割したいときはSPLIT関数も合わせてチェックしてみてくださいね。

文字列を区切りなしで単純に結合したい場合はCONCAT関数もおすすめです。

タイトルとURLをコピーしました