
もし完璧な世界に住んでいたら、すべてのデータは、常に作業に適した構造と形式で提供されるはずです。しかし、インポートしたデータをクリーンアップしたり、独自のデータを再構築したりしてから、他の人に送信しなければならないことがよくあります。
これは、列内のすべての値を1つのセルに結合するように要求されたときに発生します。Microsoft Excelでは必ずしも必要なことではありませんが、後から同じことが必要になるかもしれません。このチュートリアルでは、この要件を満たす方法をいくつか紹介します。
参照:誰もが知っておくべき Windows、Linux、Mac のコマンド (無料 PDF) (TechRepublic)
私はWindows 10 64ビットシステムでMicrosoft 365を使用していますが、最初の方法では以前のバージョンでも使用できます。各セクションでは、その方法をサポートするバージョンについて説明しています。Web版Excelは3つの方法すべてをサポートしています。ご参考までに、デモ用の.xlsxファイルと.xlsファイルをダウンロードできます。
.xls Excel ファイルで値を 1 つのセルに結合する方法
この記事の後半で使用する新しい機能と関数は、以前の.xls形式では利用できません。この要件に対処するには、補助列と簡単な式を使用します。
図Aは、ファーストネームの列を示しています。これらの列を、値の間に区切り文字を入れて1つのセルに結合します。ヘルパー列を使用して、各値に区切り文字を追加します。これを行うには、C3に次の式を入力し、残りのセルにコピーします。
=B3&","
図A

& 文字は値を結合するものであり、合計を計算したり数学的な評価を行ったりするものではありません。「,」部分は区切り文字であり、カンマ(,)です。
区切り文字とは、値を区切ったり、データ型を示す文字です。この状況では、ほとんどすべての文字を区切り文字として使用できますが、受信者が文字を指定する可能性が高いでしょう。列Cに示すように、各名前の後にカンマが続きます。
補助列を配置したら、簡単な式を使ってすべての値を結合します。補助列の値は累計値として扱いますが、合計ではなく連結を行います。
D3に「C3」と入力して最初のヘルパー値を参照します。D4に次の式を入力し、残りのセルにコピーします。
=D3&C4
図 Bに示すように、各式はリストにもう 1 つの値を連結します。
図B

リストの末尾にカンマがあることに気づいたかもしれません。このカンマを削除するには、最後の式で名前のみを参照します。そうすることで、リストの末尾のカンマが削除されます。
ExcelのCONCATENATE()関数について疑問に思われるかもしれませんが、各セルを個別に参照し、参照の間にカンマを挿入する必要があります。特に値のリストが長い場合は面倒です。しかし、補助列が不要になります。この関数を使用する場合は、同じ累計式を使用します。
この関数は、Microsoft 365 を通じて Excel 2010 で使用でき、次の構文を使用します。
CONCATENATE(text1, [text2], ...)
各引数はテキスト値またはリテラル文字列(カンマ文字など)を参照します。図Cはこの関数を使用した結果を示しています。まず、単純な式を入力します。
=B3&","
C3に次の関数を入力し、残りのセルにコピーします。
=CONCATENATE(C3,B4,",")
図C
先ほど使用した式と同じですが、補助列が不要になります。また、文字列の最後のカンマを削除する必要があるかもしれません。
この時点で、リストを送信したり、必要に応じて使用したりできます。Microsoft 365経由でExcel 2019を使用している場合は、同じことをより速く、補助列なしで実行できる関数があります。
ExcelでTEXTJOIN()を使用して値を1つのセルに結合する方法
Microsoft 365、Excel 2019、および Web 版 Excel は、TEXTJOIN() 関数をサポートしています。この関数は、複数の範囲の値を連結し、区切り文字を設定できます。この関数の構文は次のとおりです。
TEXTJOIN(delimiter, ignore_empty, range1, [range2], …)
これらの引数は、ほとんど説明の必要がないほど分かりやすいです。ignore_empty が TRUE の場合、TEXTJOIN() は空のセルを無視します。範囲引数は、連結する値を参照します。例として、C3 に次の関数を入力してください。残りのセルにコピーする必要はありません。
=TEXTJOIN(",",TRUE,B3:B9)
図Dに示すように、たった1つの関数で同じ結果を実現できました。さらに、文字列の末尾にカンマは付きません。この関数には1つの制限があります。連結された文字列は32,767文字を超えることはできません。
図D

乞うご期待
Power Queryを使ってこのタスクを実行することもできますが、今回の例ではやり過ぎでしょう。今後の記事では、値をグループごとに連結するピボットテーブルソリューションをご紹介します。