今回はGoogleスプレッドシートで「複数の文字列を結合する関数」についてご紹介させて頂きます。
表の操作やデータを調べる時に、「文字列の結合」は頻繁に必要となることがあります。
そんな時に関数を利用すると、手間がかからずにまとめて操作することが出来ますので、ぜひ利用してみてください。
ここでは「文字列の結合」の際によく利用される4つの関数についてご紹介させて頂きます。
それぞれ特徴があり、機能に若干の違いがありますので、実際に操作してみて、ご自身が最も使いやすい関数を利用してみてください。
JOIN関数
構文
=JOIN(区切り文字, 値または配列1, [値または配列2, …])
指定した区切り文字を使用して、1 つ以上の 1 次元配列の要素を結合します。
すでに1度ご紹介させて頂いておりますが、改めて「JOIN関数」についてご紹介させて頂きます。
実際の使い方
JOIN関数の構文をここでの例から分かりやすく書くと、「=JOIN(区切り文字,セル1,セル2)」となります。
「F2」には、「=JOIN(,B2,C2,D2)」という数式が入力されています。
「区切り文字」の部分は、何も入力せずに「,」だけを入力しています。
G欄の結果は、「東京都中央区佃」と各文字がそのまま結合されています。
「F3」には、「=JOIN(“”,B3:D3)」という数式が入力されています。
「区切り文字」の部分には、「””」とダブルクオーテーションのみを入力しています。
G欄の結果は、先程と同じように、各文字がそのまま結合されています。
なお引数の部分は「,」ではなく「B3:D3」と範囲を選択しています。
「F4」には、「=JOIN(” “,B4,C4,D4)」という数式が入力されています。
「区切り文字」の部分には、「” “」とダブルクオーテーションの間に半角スペースを入力しています。
G欄の結果は、「神奈川県 横浜市中区 石川町」と都道府県と市区町村、町名の間にそれぞれ半角スペースが入力されています。
「F5」には、「=JOIN(“-“,B5:D5)」という数式が入力されています。
「区切り文字」の部分には、「”-“」とダブルクオーテーションの間にハイフンを入力しています。
G欄の結果は、「東京都-中央区-銀座」と各文字の間にハイフンが入力されています。
「F6」には、「=JOIN(“-“,B6:D6)」という数式が入力されています。
「F5」と同じ数式ですが、結果が違います。
G欄には、「東京都-港区-」と「港区」の後にもハイフンが入力されています。
これは「町名」部分が空白になっているためです。
このような単純な表であれば、「F6」のみ、数式を変更すれば問題は解消されますが、もう少し大きな表で、コピーアンドペーストして数式を使用する際は注意が必要です。
表に空白がある場合は、他の関数を利用したほうが良いかもしれません。
CONCAT関数
構文
=CONCAT(値1, 値2)
2 つの値の連結を返します。& 演算子と同じです。
説明文にある通り、2つの値を連結します。
3つ以上の場合は使用出来ませんので注意してください。
実際の使い方
「F2」には正しい数式「=CONCAT(B2,C2)」を入力しているので、結果は「東京都中央区」と表示されています。
「F3」では、セルを3つ選択していますので、「#N/A」が表示されています。
「F4」では、範囲選択をしていますが、こちらも「#N/A」エラーとなっています。
「F5」では、「&演算子」を使っていますので、3つのセルを選択しても正しい結果が表示されています。
「F6」のように空白があり、結合する値が2つであっても、セルを3つ選択しているので、「#N/A」エラーが表示されています。
使い方がかなり限定的になっていますので、あまり使用することはないと思います。
CONCATENATE関数
構文
=CONCATENATE(文字列1, [文字列2, …])
文字列を別の文字列に結合します。
複数のセルを結合出来るとても便利な関数です。
文字列の結合では「CONCATENATE関数」を覚えておけば、ほとんどの場面で困ることはないでしょう。
実際の使い方
「F2」には「=CONCATENATE(B2,C2,D2)」と複数のセルを「,」で繋いて入力しています。
結果は「東京都中央区佃」と正しく結合されています。
「F3」では、「=CONCATENATE(B3:D3)」と範囲選択をしています。
結果は「東京都中央区月島」と正しく結合されています。
「F4」では、「=CONCATENATE(B4,” “,C4,” “,D4)」と「” “」半角スペースを各セルの間に入力しています。
結果は、「神奈川県 横浜市中区 石川町」と半角スペースもきちんと追加されています。
「F5」では、「=CONCATENATE(B5,”-“,C5,”-“,D5)」と「”-“」を入力しています。
結果は、「東京都-中央区-銀座」とハイフンがきちんと追加されています。
「F6」では、「=CONCATENATE(B6:D6)」と範囲選択していますが、途中に空白があっても、結果にエラーが表示されることはありません。
「F7」では、「=CONCATENATE(B6:D7)」と複数行に渡って範囲を選択しています。
結果は、「東京都港区東京都港区西麻布」とこの場合も正しく結合されています。
なお、複数行に渡って範囲を選択する場合は、横方向に結合されますので注意してください。
一部の記事等では、「CONCATENATE関数」は区切り文字を挿入することが出来ないと解説されていることがありますが、実際には区切り文字を挿入することが可能です。
TEXTJOIN関数
構文
=TEXTJOIN(区切り文字, 空のセルを無視, テキスト1, [テキスト2, …])
複数の文字列や配列からのテキストを結合し、結合する各テキストの間に指定された区切り文字を挿入します。
「JOIN関数」の上位変換版のような関数です。
「 ブール値」を指定することで、空白のセルを無視することが出来ます。
実際の使い方
「F2」には「=TEXTJOIN(B2,C2,D2)」と複数のセルを「,」で繋いて入力しています。
結果は「#VALUE!」と表示されています。
これは、「 ブール値」を指定していないためにエラー表示となっています。
「F3」では、「=TEXTJOIN(,TRUE,B3,C3,D3)」と「ブール値」を指定しています。
結果は「東京都中央区月島」と正しく結合されています。
なお数式の最初の区切り文字の部分には「,」のみを指定しています。
「,」を指定しないとエラーとなります。
「F4」では、「=TEXTJOIN(“”,TRUE,B4,C4,D4)」と「””」ダブルクオーテーションで区切り文字なしと指定しています。
結果は、「神奈川県横浜市中区石川町」と返されます。
「F5」では、「=TEXTJOIN(” “,TRUE,B5,C5,D5)」と「” “」半角スペースを入力しています。
結果は、「東京都 中央区 銀座」と半角スペースがきちんと追加されています。
「F6」では、「=TEXTJOIN(“-“,TRUE,B6,C6,D6)」としています。
途中に空白があっても、「ブール値」を「TRUE」にしているため、空白を無視してくれています。
そのため、結果は、「東京都-港区」と「港区」の後にハイフンが表示されていません。
「F7」では、「=TEXTJOIN(“-“,FALSE,B7,C7,D7)」と「ブール値」を「FALSE」に指定しています。
そのため空白を無視しないことになり、結果は、「東京都-港区-」と「港区」の後にハイフンが追加されています。
TEXTJOIN関数も複数行に渡って範囲を指定することも出来ます。
まとめ
複数のデータを結合するセルについてご紹介させて頂きました。
個人的には、「CONCATENATE関数」が一番使い勝手が良いと感じています。
「JOIN関数」と同じように使用することが出来ますが、「CONCATENATE関数」のほうが、より直感的に使用出来るような気がします。
「TEXTJOIN関数」も便利ですが、「ブール値」を書くのが少し面倒な気がしました。
なお、「CONCAT関数」については、Googleスプレッドシートでほとんど活躍の場はありませんが、データ処理などを行う「SQL」ではとても良く使われる関数になっています。
「SQL」を使用されている方にとっては、データの結合は「CONCAT関数」を思い浮かべてしまいがちだと思いますので、スプレッドシートを使用する時は、意識して使わないようにしましょう。
今回も最後までお読み頂き誠にありがとうございました。
コメント