目次
「この操作は、Google Sheetsの複数のセルからテキストを結合する必要がある場合に使用されます。 この記事では、連結パズルを解くために最も人気のある簡単なソリューションを収集します。
どんなに大きなデータセットでも、Google Sheetsの複数のセルを結合する作業に出くわすことがあります。 そして、すべての値が失われないようにするだけでなく、カンマやスペースなどの文字を追加したり、他のテキストでそれらのレコードを区切ったりしたいと思うことは間違いないでしょう。
さて、表計算ソフトはこの作業を行うためのツールをいくつか提供している。
Google SheetsのCONCAT関数
CONCAT関数は、Google SheetsのCONCATENATEを簡略化したものです。
=CONCAT(value1, value2)この機能でセルを結合するには、必要な値を列挙する必要があります。
- 値1 - 値2が追加されるべきレコード。
- 値2 - 結合する値。
2つのテキストまたは数値単位から1つの文字列を得るには、以下のような式になり、各レコードはダブルクォーテーションで囲まれます。
=CONCAT("2019:", "ライオンキング")
現実には、データはすでにセルに格納されていることが多いので、数値やテキストをいちいち引数として記述する代わりに、そのセルを直接参照することができます。 ですから、現実のデータの式は、次のようになります。
=CONCAT(A2,B2)
ヒント:数式を列全体にコピーするには、数式のあるセルを選択し、セルの右下にある小さな四角をダブルクリックします。 列全体が自動的に数式で満たされ、表の最後の部分までコピーされます。
ご覧の通り、非常にシンプルな機能ですが、その分、大きな 弱点 :
- は、Google Sheetsの2つのセルだけを一度に結合します。
- は、列や行など大きなデータ範囲を結合することはできず、単一のセルのみを対象とします。 複数のセルを結合しようとすると、エラーが発生するか、次のように最初の2つの値のみが結合されます。
=CONCAT(A2:A11,B2:B11)
CONCAT代替:連結演算子アンパサンド(&)
数式には、さまざまな用途に応じた演算子がありますが、「連結」も例外ではありません。 数式の中でCONCAT関数の代わりにアンパサンド文字(&)を使っても、同じ結果になります。
=A2&B2
しかし、この連結演算子がもっと柔軟であることはあまり知られていない。 ここでは、この演算子ができることを紹介する。
- 一度に2つ以上の値をマージする。
=A2&B2&C2
- Google Sheetsのセルを結合するだけでなく、様々な文字でセルを分離することができます。
=A2&" "&B2&"; "&C2
それでもうまくいかない場合は、もう1つ機能を試してみてください。
GoogleシートでCONCATENATEを使用する方法
Google SheetsのCONCATENATE関数は、複数のレコードをまとめて追記する際に、まず使うべき関数だと思います。
Google Sheetsでテキスト文字列と数値をCONCATENATEする
数式パターンは以下の引数で構成される。
=CONCATENATE(string1, [string2, ...])- ストリングス1 は、他の値を追加したい最初の文字列である。 この引数は必須である。
- 文字列2、... は、追加したい他のすべての文字列を表します。 この引数はオプションです。
注:結果のレコードは、数式に現れる順番に文字列で構成されます。
この計算式を私のデータに合わせると、こうなります。
=concatenate(a2,b2,c2)です。
あるいは、この関数は範囲を受け付けるので
=concatenate(a2:d2)です。
Google SheetsのCONCATENATEの最初の利点は、テキストと数値の両方を含む2つ以上のセルを簡単に結合できることだとすぐにわかります。
Google Sheets: 文字列をセパレータで連結する
Google Sheetsでセルを結合するのは半分の作業ですが、結果をきれいに読みやすくするために、いくつかの余分な文字を追加する必要があります。
配合をそのままにしておくと、全部を接着してしまうんです。 BonnieJacksonCA , ボニージャクソンIN しかし、Google SheetsのCONCATENATEは、引数として文字も受け取ります。
したがって、読みやすさのためにセパレータを追加する場合は、式の中で二重引用符で囲んで記述する。
=concatenate(a2," ",b2,", ",c2)
ここでは、A2 & B2 をスペースで連結し、B2 と C2 をコンマとスペースで区切りたい。
このように、関数内のほとんどの文字を自由に使うことができますが、改行には別のアプローチが必要です。
ヒント:マージする列の中に空のセルがある場合、もう一つ気になる機能があります。 TEXTJOINはGoogle Sheetsのセルを単にマージするだけでなく、空白を無視することができます。
=textjoin(" ",true,a2:c2)です。
その仕組みはこうだ。
- 第一引数として、希望するデリミタを指定する。 空間 (" ")を使ってくれた。
- 置く 真 を第2引数として指定すると、空白セルをスキップしたり ファルス を使えば、結果に含めることができます。
- マージする範囲を入力します。
Google Sheetsで改行しながら連結する
ほとんどの区切り文字を関数に入力する方法は明らかですが、そこで同じように改行を入力することはできません。 しかし、幸運なことにGoogleはあなたに様々なカードを使わせてくれます。
特殊文字を取得するのに役立つ関数があります。 CHARと呼ばれる関数です。 各文字はユニコード・テーブルの中にあり、そのテーブルから文字の序数を関数に与えるだけで、後者はその文字そのものを返します。
以下は、改行を取得するための計算式です。
=CHAR(10)
Google Sheetsの改行と連結する数式に追加します。
=concatenate(a2,char(10),b2,char(10),c2,char(10),d2)とする。
Google Sheetsで日付と時刻を結合する
上記の方法でGoogle Sheetsの日付と時刻を組み合わせようとすると、うまくいきません。 スプレッドシートは数字を返します。
Google Sheetsで日付と時刻を正しく組み合わせるには、TEXT関数を使用します。
=TEXT(数値、形式)- どこ 番号 は、任意の数値、日付、時刻を希望するフォーマットで取得します。
- と 形式 は、結果として表示させたいパターンです。
ヒント:この例では、日付と時刻のセルを参照していますが、日付や時刻の単位、あるいはDATEやTIMEなどの関数を直接数式で使用することも自由です。
- 最初のTEXT式で、日付の書式を次のように変更しています。 7/9/2019 まで 2019年7月9日(木 :
=text(b2, "d mmm yyyy")
- 2つ目のTEXTは時刻を返す。
=text(c2, "hh:mm:ss")
- これらをCONCATENATEで使用すると、Google Sheetsでは、任意の書式の日付と時刻を他の文字やテキストと組み合わせることができます。
=concatenate(text(b2, "d mmm yyyy"),", ",text(c2, "hh:mm:ss"))
Google Sheetsで列を結合する
少し調整すれば、ご紹介した方法はすべてGoogle Sheetsで列を結合することが可能です。
例1.Google SheetsのCONCAT
Google Sheetsで列全体をCONCATで結合するには、結果を含むべき範囲全体(私の場合はC2:C11)を選択し、ARRAYFORMULAでそれを包む数式を入力します。
=arrayformula(concat(a2:a11,b2:b11))
注意:CONCATENATE関数を使うこともできますが、複数のセルやデータ範囲を簡単に結合できるので、1つのセル内のすべてのレコードを結合することになります。
例2:連接演算子
Google Sheetsでアンパサンドを使って列を結合する配列式を作成し、同時にセパレータを追加します。
=ARRAYFORMULA(A2:A11&" "&B2:B11&"; "&C2:C11)
これは良さそうですが、大きな欠点を指摘しなければなりません。
列が多すぎる場合、それらをすべて列挙するのは面倒なことになります。特に、誤って文字をスキップしたり、重複したり、混在させたりすると、大変なことになります。
また、後で数式に列を追加することになった場合、数式内の既存の範囲を一つ一つ手動で編集する必要があります。
次の例では、これらの問題を解決します。
例3.Google SheetsのQUERY
Google SheetsのQUERY機能は、Google Sheetsの複数の列をマージするのにも適しています。 見てみてください。
=transpose(query(transpose(a2:d10),,9^9))
この不思議な数式は、自分には理解できないと思われるかもしれませんが、そのすべてのピースを並べるとこうなります。
- =TRANSPOSE(A2:D10) は、データ行を列方向に変換します。
- =QUERY(TRANSPOSE(A2:D10),,9^9) は、各列のレコードを先頭セルにマージしています。
ヒント 9^9 を計算式に入れると、すべての列の行がヘッダーのように最初の行に引き込まれることを確認します。 それは、以下のとおりです。 9^9 この式は,スプレッドシートのすべてのセルを含むので(10Mセルの制限を覚えていますか),覚えやすいですね.)
- =TRANSPOSE(QUERY(TRANSPOSE(A2:D10),,9^9)) はQUERYからそのヘッダー行を取り出し、私の持っているようなカラムに変換します。
ここでは、QUERYを使用してGoogle Sheetsの列をマージする特典を紹介します。
- 配列式のように列全体を選択する必要はありません。
- の場合、各列が隣接していない限り、数式で言及する必要はありません。 この場合、数式は次のようになります。
=transpose(query(transpose({a2:a10,c2:c10,e2:e10,g2:g10})),,9^9))
位置によるテキストの連結と追加
CONCATENATE関数を使って、文字列に欠落しているテキスト、数字、文字を追加できることは既にご存じでしょう。
ヒント:このチュートリアルでより多くの公式を参照してください。
しかし、結合するレコードが多すぎる場合、余分な文字があると計算式が予定より長くなってしまいます。 このような場合は、Google Sheetsのセルをそのまま結合するか、スペースなどの簡単な区切り文字を使用して、その後にテキストを追加するのがよいでしょう。 弊社の特別ツールがお役に立つでしょう。
位置指定による文字列の追加では、指定した位置で任意の文字や文字列を挿入するため、計算式は必要ありません。 それでは、その動作をご紹介しましょう。
先ほどの例では、QUERYが名前と電話番号を結合してくれましたが、国の略称を追加したいのです。 (アメリカ/カリフォルニア) から始まる電話番号の前に +1 と 英国 前 +44 :
Google Sheetsでセルを分割する
Google Sheetsでセルを結合した場合、どこかでセルを分割し直す必要がある可能性があります。 その方法は3つあります。
- Google SheetsのSPLIT関数を使って計算式を構築する。
- 表計算の標準的な道具を使う - テキストを列に分割する。
- また、内蔵ツールの拡張版である「Split text to columns for Google Sheets」もお試しください。
また、Google Sheets のセルを位置で分割するオプションもあります。
ヒント:Google Sheetsのセルから、内容を分割するのではなく、データを抽出するオプションがあります。
Google Sheetsで数式を使わずにセルを結合する方法
このアドオンは、行、列、またはセルの全範囲のレコードをすばやく結合します。 そのオプションは非常に明確で、あなたがすることは、範囲を選択し、結果をどのように表示するかを決定するだけです。
- を選択することができます。 列を組む をGoogle Sheetsで検索し、隣接していないものでもカンマとスペースで区切り、結果を元のレコードの右側に配置します。
このツールに興味を持たれた方は、特設ページや短いビデオチュートリアルで、このツールのすべてをご覧いただくことができます。
このビデオでは、「重複した行を結合する」の使用方法について説明します。
もし、他の方法があれば、下のコメント欄で教えてください。)