CONCATENATE関数(&)の使い方としくみ|草野球成績管理表で試合ラベルを自動生成する例で解説

フォーム・シート作成

スプレッドシートで複数のセルの文字列をひとつにつなげたいときに使う、CONCATENATE関数&演算子について、使い方と内部のしくみを解説します。草野球の成績管理表で「試合日+対戦相手」の試合ラベルを自動生成する場面を例に、初心者向けに丁寧に説明します。

CONCATENATE関数(&)とは

📝 CONCATENATE関数(&)の役割(一言でいうと)

複数のセルの値を、指定した順番でひとつの文字列につなげる関数です。成績管理表では「日付」と「対戦相手」を組み合わせて試合ラベルを作ったり、「選手名」と「守備位置」をまとめて表示したりする場面で登場します。

基本の書式はこの2通りです。どちらも結果は同じになります。

=CONCATENATE(セル1, "区切り文字", セル2)
=セル1&"区切り文字"&セル2

CONCATENATE関数はカンマ区切りで値を並べる書き方、&演算子は式の途中に&を挟んでいく書き方です。動作はまったく同じなので、どちらを使うかは好みで構いません(この記事では&を中心に説明します)。

成績管理表での実例:試合ラベルを自動生成する

大阪グーニーズの個人成績シートに、各試合の「試合日」(A列)と「対戦相手」(B列)が入力されているとします。

試合日 対戦相手
4/6 ○○ファイターズ
4/13 △△ベアーズ
4/20 □□イーグルス

このA列とB列を組み合わせて「4/6 vs ○○ファイターズ」のような試合ラベルをC列に自動生成したいとき、式はこうなります。

✅ 試合ラベルを作る式
=A2&" vs "&B2

これで「A2セルの値」+「 vs という文字列」+「B2セルの値」の順につながり、試合ラベルが1つの文字列として作られます。区切り文字の部分(” vs “)は自由に変えられるので、「4/6対○○ファイターズ」のような形にしたい場合は” vs “の部分を”対”に差し替えるだけです。

STEP 1
ラベルを表示したいセルを選択する

試合ラベルを表示したいセル(例:C2)をクリックして選択します。

STEP 2
「=」を入力し、試合日のセルをクリックする

「=」に続けてA2セルをクリックすると、式に「=A2」が入力されます。

STEP 3
「&” vs “&」と入力し、対戦相手のセルをクリックする

続けて&” vs “&と入力してからB2セルをクリックすると、式は「=A2&” vs “&B2」になります。

STEP 4
Enterキーで確定する

式を確定すると、その行の試合ラベルがすぐに表示されます。下の行にコピーすれば、参照セルがずれて他の試合のラベルも自動生成されます。

しくみを理解する:&は何をしているのか

📝 &(CONCATENATE)の内部動作

&やCONCATENATE関数は、渡された値をすべて「文字列」として扱い、順番に並べてひとつにつなげているだけです。ここでのポイントは、値が数値であっても、いったん文字列に変換してからつなげているという点です。

  • 文字列同士なら、そのまま順番に並べるだけ
  • 数値が混ざっていても自動的に文字列に変換されてつながる(例:3&”本” → “3本”)
  • ただし「見た目上の表示形式」は数値の実体(内部の値)には含まれないため、日付や小数点以下の桁数などは、セルの表示形式どおりにはつながらないことがある

よくあるミス:結合結果が思った表示にならない原因

⚠️ 原因1:日付をそのまま結合すると数値(シリアル値)になる

日付が入ったセルは、画面上は「4/6」と表示されていても、内部的には「45392」のような通し番号(シリアル値)として保存されています。この日付セルをそのまま&でつなげると、「4/6 vs ○○ファイターズ」ではなく「45392 vs ○○ファイターズ」のように、内部の数値がそのまま出力されてしまうことがあります。この対策は、次回解説するTEXT関数で日付を先に文字列化しておくことです。

⚠️ 原因2:区切り文字を入れ忘れて文字がくっつく

“&B2″のように区切り文字(” vs “など)を挟まずに直接つなげると、「4/6○○ファイターズ」のように文字同士がくっついて読みにくくなります。区切りたい箇所には必ず”(半角スペース含む文字列)”を挟むようにしましょう。

✅ この記事のまとめ
  • &(CONCATENATE関数)は「複数のセルの値を文字列としてひとつにつなげる」しくみ
  • 数値は自動的に文字列へ変換されてつながるが、日付はシリアル値のままつながってしまう点に注意
  • 読みやすいラベルにするには、区切り文字(” vs “など)を式の中に忘れず挟む

次回予告

次回のテーマは「TEXT関数」です。今回の記事で触れた「日付を結合すると数値になってしまう」問題を解決する関数として、打率を「.320」のような表記に変換する例とあわせて解説していきます。

▶︎ 次回:TEXT関数の使い方としくみ

コメント

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