目次
この記事では、CONCATENATE関数と「&」演算子を使用して、Excelで文字列、数値、日付を連結するさまざまな方法を学びます。 また、個々のセル、列、範囲を結合する数式についても説明します。
Excelのワークブックでは、データが必ずしも必要な構造になっているとは限りません。 1つのセルの内容を個々のセルに分割したり、逆に2つ以上の列のデータを1つの列に結合したい場合がよくあります。 よくある例としては、名前と住所の部分を結合したり、テキストと数式による値の結合、日付と時刻を必要な形式で表示したり、などの例があります。
このチュートリアルでは、Excelの文字列連結の様々なテクニックを紹介し、ワークシートに最適な方法を選択できるようにします。
Excelの「concatenate」とは?
Excelの表計算ソフトでデータを組み合わせるには、要するに2つの方法がある。
- セルの結合
- セルの値を連結する
あなたが マージ セルは、2つ以上のセルを「物理的に」結合して1つのセルにします。 その結果、複数の行や列にわたって表示される、より大きな1つのセルができあがります。
あなたが コンカテネート のセルだけを結合して、エクセルで 内容 つまり、Excelにおける連結とは、2つ以上の値を結合することです。 この方法は、異なるセルにあるいくつかのテキストを結合するためによく使われます(厳密には、これらを テキスト文字列 或いは単に ストリングス ) や、テキストの途中に数式で計算された値を挿入することができます。
以下のスクリーンショットは、この2つの方法の違いを示しています。
Excelでセルを結合する方法は別の記事で紹介します。このチュートリアルでは、Excelで文字列を結合する主な方法として、CONCATENATE関数と連結演算子(&)の2つの方法を説明します。
エクセルCONCATENATE関数
ExcelのCONCATENATE関数は、異なるテキストを結合したり、複数のセルの値を1つのセルに結合するために使用されます。
ExcelのCONCATENATEの構文は以下の通りです。
CONCATENATE(text1, [text2], ...)どこ テキスト は、テキスト文字列、セル参照、または数式駆動型の値です。
CONCATENATE関数は、Excel 365~2007のすべてのバージョンでサポートされています。
例えば、B6とC6の値をコンマで連結する場合は、以下の式となる。
=concatenate(b6, ",", c6)
その他の例を下の画像に示します。
注)Excel 365 - Excel 2019では、CONCAT関数も利用できますが、これはCONCATENATEの現代的な後継で全く同じ構文です。 CONCATENATE関数は後方互換性のために残されていますが、Microsoftは将来のバージョンのExcelでサポートされることを一切確約していません。
ExcelでCONCATENATEを使用する - 覚えておくべきこと
CONCATENATE式が常に正しい結果をもたらすようにするために、次の簡単なルールを覚えておいてください。
- ExcelのCONCATENATE関数が動作するには、少なくとも1つの "text "引数が必要です。
- 1つの数式で、最大255文字、合計8,192文字の文字列を連結することができます。
- CONCATENATE関数の結果は、すべてのソース値が数値であっても、常にテキスト文字列です。
- CONCAT関数と異なり、ExcelのCONCATENATEは配列を認識しません。 各セル参照は別々に記載する必要があります。 例えば、CONCATENATE(A1, A2, A3)を使用すべきであり、CONCATENATE(A1:A3)は使用しないでください。
- 引数のいずれかが無効な場合、CONCATENATE関数は#VALUE!エラーを返します。
Excelで文字列を連結するための"& "演算子
Microsoft Excelでは、アンパサンド記号(&)もセルを連結する方法の1つです。 この方法は、「連結」という言葉を入力するよりもアンパサンドを入力した方がはるかに速いため、多くの場面で非常に便利です :) 。
例えば、2つのセルの値をスペースを挟んで連結する場合、数式は次のようになります。
=A2&" "&B2
Excelで連結する方法 - 数式の例
以下では、ExcelでCONCATENATE関数を使用する例をいくつかご紹介します。
2つ以上のセルをセパレータなしで連結する
の値を組み合わせることで 二房 を1つにまとめるには、最も単純な形で連結式を使います。
=concatenate(a2, b2)
または
=A2&B2
以下のスクリーンショットのように、値は区切り文字なしで結合されることに注意してください。
連結する場合 複数セル の場合、連続したセルを結合する場合でも、各セルの参照を個別に指定する必要があります。 例えば、以下のようになります。
=concatenate(a2, b2, c2)
または
=A2&B2&C2
数式はテキストと数値の両方に使えます。 数値の場合は、結果がテキスト文字列であることに注意してください。 数値に変換するには、CONCATENATEの出力に1を掛けるか、0を加えてください。 たとえば
=concatenate(a2, b2)*1
ヒント Excel 2019以降では、CONCAT関数を使用して、1つ以上の範囲参照を使用して複数のセルをすばやく連結することができます。
スペースやカンマなどの区切り文字でセルを連結することができる
ワークシートでは、カンマやスペース、さまざまな句読点、ハイフンやスラッシュなどの文字を含む値を結合する必要がある場合があります。 この場合、結合式に必要な文字を記述します。 次の例で示すように、その文字を引用符で囲むことを忘れないようにしてください。
2つのセルを連結して 空間 :
=concatenate(a2, " ", b2)
または
=A2 & " " & B2
2つのセルを連結して カンマ :
=concatenate(a2, ", ", b2)
または
=A2 & ", " & B2
2つのセルを連結して ハイフン :
=concatenate(a2, "-", b2)
または
=A2 & "-" & B2
以下のスクリーンショットは、結果がどのように見えるかを示しています。
補足 Excel 2019以降では、TEXTJOIN関数を使用して、複数のセルから任意の区切り文字で文字列を結合することができます。
文字列とセルの値を連結する
ExcelのCONCATENATE関数は、セルの値を結合するだけにとどまる理由はありません。 例えば、テキスト文字列を結合して、結果をより意味のあるものにするために使うことができます。
=CONCATENATE(A2, " ", B2, " 完了")
上記の数式は、以下のスクリーンショットの2行目のように、あるプロジェクトが完了したことをユーザーに知らせます。 連結された文字列を区切るために、「completed」の前にスペースを入れていることに注目してください。 また、結合された値の間にスペース(" ")を入れて、結果が「プロジェクト1」ではなく「プロジェクト1」として表示されるようにしました。
連結演算子を使うと、このように式を書くことができます。
=A2 & " " & B2 & " 完了".
同じように、連結式の最初や途中に文字列を追加することができます。 例えば、以下のようになります。
=CONCATENATE("See", A2, "", B2)
="See" & A2 & "" & B2
文字列と別の数式を結合する
ある数式が返す結果をユーザーに分かりやすくするために、その値が実際に何であるかを説明するテキスト文字列と連結することができます。
例えば、次のような数式で、現在の日付を希望する形式で返し、それがどのような日付であるかを指定することができます。
=CONCATENATE("Today is ",TEXT(TODAY(), "mmmm d, yyyy")")
="本日は" & TEXT(TODAY(), "dd-mmm-yy")
ヒント:結果の文字列に影響を与えずにソースデータを削除したい場合は、「特殊な貼り付け - 値のみ」オプションを使用して、数式をその値に変換してください。
改行を含む文字列の連結
多くの場合、前の例で示したように、出来上がった文字列を句読点とスペースで区切ります。 しかし、場合によっては、改行やキャリッジリターンで値を区切る必要があります。 よくある例は、別々の列にあるデータから郵便物の住所を結合することです。
問題は、通常の文字のように数式で改行を入力することができないため、CHAR関数を使って対応するASCIIコードを連結式に与えることである。
- Windowsでは、CHAR(10)を使用します(10は、以下の文字コード)。 ラインフィード .
- Macの場合は、CHAR(13)を使用します。 キャリッジリターン .
この例では、A列からF列にアドレスの断片があり、連結演算子「&」を使ってG列にまとめています。 連結された値は、カンマ(", ")、スペース(" ")、改行CHAR(10)で区切られています。
=A2 & " " & B2 & CHAR(10) & C2 & CHAR(10) & D2 & ", " & E2 & " " & F2
CONCATENATE関数は、このような形になります。
=concatenate(a2, ", b2, char(10), c2, char(10), d2, ", ", e2, ", f2)
いずれにせよ、結果は3行のテキスト文字列となる。 注:改行で結合値を区切る場合、結果を正しく表示するには、テキストの折り返しを有効にする必要があります。 これを行うには、Ctrl + 1を押して、次のようにします。 セルのフォーマット ダイアログで アライメント タブをクリックし テキストを折り返す ボックスを使用します。
同じように、最終的な文字列を他の文字で区切ることができます。
- 二重引用符("")-CHAR(34)
- フォワードスラッシュ(/) - CHAR(47)
- アスタリスク (*) - CHAR (42)
- の全リストはこちら ASCIIコード はこちらでご覧いただけます。
Excelで列を連結する方法
2つ以上の列を結合するには、最初のセルに連結式を入力し、フィルハンドル(選択したセルの右下隅に表示される小さな四角)をドラッグして、他のセルにコピーするだけです。
例えば、スペースで値を区切った2つの列(A列とB列)を結合する場合、コピーしたC2の数式は次のようになる。
=concatenate(a2, " ", b2)
または
= A2 & " " & B2
ヒント:数式を列の下にコピーするには、数式のあるセルを選択し、フィルハンドルをダブルクリックするのが手っ取り早い方法です。
詳しくは、「Excelでデータを失わずに2つの列を結合する方法」をご覧ください。
テキストと数値の組み合わせでフォーマットを維持
文字列と数値、割合、日付を連結する際、数値の元の書式を維持したり、別の方法で表示したい場合があります。 これは、TEXT関数内に書式コードを与え、連結式に埋め込むことによって実現できます。
このチュートリアルの冒頭で、テキストと日付を連結する数式をすでに説明しました。
そして、以下は、それを組み合わせた数式の例です。 げんすう :
小数点以下2桁の数字と$記号。
=A2 & " " & TEXT(B2, "$#,#0.00")
重要でないゼロと$記号を除いた数字。
=A2 & " " & TEXT(B2, "0.#")
端数処理。
=A2 & " " & TEXT(B2, "# ?/????")
連結する場合 テキストとパーセンテージ という数式があります。
小数点以下2桁のパーセンテージ。
=A12 & " " & TEXT(B12, "0.00%")
四捨五入した整数%。
=A12 & " " & TEXT(B12, "0%")
Excelでセル範囲を連結する方法
ExcelのCONCATENATE関数は配列を受け付けないため、複数のセルから値を結合するのは少し手間がかかるかもしれません。
複数のセル、例えばA1〜A4を連結するには、次のいずれかの数式を使用する必要があります。
=concatenate(a1, a2, a3, a4)
または
=A1 & A2 & A3 & A4
かなり小さなセル群を結合する場合、すべての参照を入力するのは大したことではありません。 大きな範囲は、個々の参照を手動で入力して供給するのは面倒です。 以下に、Excelで素早く範囲を連結する3つの方法を紹介します。
方法1.CTRLキーを押して複数のセルを選択する
複数のセルを素早く選択するには、Ctrlキーを押しながら、数式に含めたい各セルをクリックします。 以下、詳しい手順を説明します。
- 数式を入力するセルを選択します。
- そのセルまたは数式バーに「=CONCATENATE()」と入力します。
- Ctrlを押しながら、連結したい各セルをクリックします。
- Ctrlボタンを離し、閉じ括弧を入力し、Enterを押す。
方法2.TRANSPOSE関数を使ってすべてのセルの値を取得する
範囲が数十から数百のセルで構成されている場合、前の方法では各セルをクリックする必要があり、十分に速くならないことがあります。 この場合、TRANSPOSE関数を使って値の配列を返し、それらを一挙に結合させることができます。
- 結果を表示させたいセルに、例えば「TRANSPOSE」の数式を入力します。
=transpose(a1:a10)
- 数式バーでF9キーを押して、数式を計算値に置き換えます。 その結果、連結される値の配列ができます。
- 配列を囲む中括弧を削除します。
- 最初の値の前に「=CONCATENATE()」と入力し、最後の値の後に閉じ括弧を入力して、Enterキーを押してください。
注)この計算式の結果は スタティック この場合、セル参照ではなく値を連結するため、ソースデータが変更された場合は、この処理を繰り返す必要があります。
方法3.CONCAT関数を使用する
Excel 365とExcel 2021では、この簡単な数式で、瞬時にセル範囲を連結することができます。
=concat(a1:a10)
方法4.アドイン「Merge Cells」を使用する
Excel で任意の範囲をすばやく数式なしで連結するには、Merge Cells アドインで " 選択中の全領域を統合する " オプションをオフにして、複数のセルの値を1つのセルに結合するで示した。
Excelの「&」演算子とCONCATENATE関数の比較
Excelで文字列を結合する場合、CONCATENATE関数と"& "演算子のどちらが効率的なのか、多くのユーザーが疑問に思っています。
CONCATENATE関数は255文字という制限がありますが、アンパサンドはその制限がありません。 それ以外は、この2つの方法に違いはなく、CONCATENATE式と「&」式の間に速度の差もありません。
255は大きな数字ですし、実際の業務でこれだけの文字列を組み合わせることはほとんどないでしょうから、その違いは使いやすさに尽きます。 CONCATENATE式の方が見やすいというユーザーもいますが、私は個人的には「&」方式が好きです。 ですから、自分が使いやすいと思う方式にすればいいのです。
ExcelのCONCATENATEの反対(セルの分割)。
Excelで連結の反対は、1つのセルの内容を複数のセルに分割することです。 これは、いくつかの異なる方法で行うことができます。
- テキスト・トゥ・カラム機能
- Excel 2013 以降のフラッシュフィルオプション
- Excel 365のTEXTSPLIT関数
- セルを分割するカスタム式(MID、RIGHT、LEFTなど)
また、こちらの記事「Excelでセルの結合を解除する方法」でも有用な情報を紹介しています。
ExcelでMerge Cellsアドインを使用して連結する
Ultimate Suite for Excelに含まれるMerge Cellsアドインを使えば、その両方を効率的に行うことができます。
- マージ データを失うことなく、複数のセルを1つにまとめることができます。
- 連結 複数のセルの値を1つのセルにまとめ、任意の区切り文字で区切ります。
セルの結合ツールは、2016から365までのすべてのExcelバージョンで動作し、テキスト文字列、数字、日付、特殊記号を含むすべてのデータ型を結合できます。 その2つの主な利点はシンプルさとスピードで、どんな結合も数回のクリックで実行されます。
複数のセルの値を1つのセルにまとめる
複数のセルの内容を結合するには、結合する範囲を選択し、以下の設定を行います。
- アンダー 統合するもの を選択します。 セルを1つに .
- アンダー と組み合わせる。 を入力します。 デリミタ (私たちの場合はコンマとスペース)。
- 結果を配置する場所を選択します。
- 最も重要なのは、チェックを外すことです。 選択範囲内のすべての領域をマージする このオプションは、セルを結合するか、値を連結するかを制御します。
列ごとに結合する
2つ以上の列を結合するには、同様の方法で「セルの結合」の設定を行いますが、結合する列を選択します。 列を1つにまとめる で、その結果を左の列に配置します。
列ごとに行を結合する
個々の行のデータを列ごとに結合する場合は、以下を選択します。
- マージ 一列に並べる .
- を使用します。 かいせんせつだん をデリミタに使用します。
- に結果を配置します。 最上段 .
結果はこのような感じになるかもしれません。
Merge Cells アドインがお客様のデータセットにどのように対応するかを確認するために、以下の究極の Excel Suite のトライアル版をダウンロードしてください。
以上、エクセルで連結する方法でした。 読んでくださってありがとうございました!来週も当ブログをよろしくお願いします。
ダウンロード可能なもの
連結式の例(.xlsxファイル)
Ultimate Suite 14日間試用版(.exeファイル)