そんなときに活躍するのが、CONCATENATE(※)もしくはCONCATという関数です。
業務によっては、仕事の効率を大きく変える便利な関数ですので、基本から応用までの使い方をしっかりマスターして効率良く業務を進めていきましょう。
※この記事はExcel2016より前のバージョンにおける「CONCATENATE関数」およびExcel2016以降のバージョンにおける「CONCAT関数」に関する内容となっております。
当記事中のCANCATENATEはExcel2016以降のバージョンではすべてCONCATに置き換え可能です。
監修:みずき さん
EXCEL女子の研修講師をしています。Excel研修では「覚える」だけではなく「理解する」ことで、自身の力としてExcelスキルを身につけられる研修を実施しています。研修をするたびにExcelが大好きになり、Excelってすごい!と実感しています。Excelの他には写真が好きで食べ物や風景を撮影しています!
CONCATENATEはコンカットネイトと読み、英語で「結合」を意味します。
CONCATENATE(CONCAT)関数とは、2つ以上のセル内の文字列を結合して表示できる関数です。例えば、名簿の姓名や、郵便番号と住所などを1つのセル内に結合させるときに使うことができます。
CONCATENATE(CONCAT)関数の基本構文は下記のとおりです。
=CONCATENATE(文字列 1 ,[文字列 2], ...)
文字列1と文字列2を結合して表示
=CONCAT(テキスト1, [テキスト2],…)
CANCATENATEとほぼ一緒だがテキスト部分でセル範囲も指定可能
では早速例を用いて基本の結合を確認していきましょう。
以下に姓と名が書かれた表があります。
まずは、この姓と名を一つのセルの中に氏名として表示していきます。
(1)結合結果を入力したいセルを選択する
はじめに氏名を表示したい【D2】セルを選択します。
(2)数式バーに「=CONCATENATE(A2,B2)」と入力する
次に【A2】と【B2】を結合表示させたいので、CONCATENATE関数の中に「,(コンマ)」で区切って入力します。
(3)Enterキーを押す
すると簡単に姓と名の結合表示ができます。
ここからは先ほどの例を使用して、姓と名の間にスペースや改行を入れて1つのセルに氏名を表示していきます。
=CONCATENATE (文字列1, " ", 文字列 2)
文字列1と文字列2の間にスペースを入れて表示
(1)結合結果を入力したいセルを選択する
先ほどと同様に氏名を表示したい【D2】セルを選択します。
(2)数式バーに「=CONCATENATE(A2," ",B2)」と入力する
式は【A2】と「" "(スペース)」と【B2】を結合するという意味です。
(3)Enterキーを押す
スペースをいれる場合も基本の結合と同じような手順で簡単に結合できました。
=CONCATENATE (文字列1, CHAR (10), 文字列2)
文字列1と文字列2の文字列の間に改行を入れて表示
(1)結合結果を入力したいセルを選択する
先ほどと同様に氏名を表示したい【D2】セルを選択します。
(2)数式バーに「=CONCATENATE (文字列1, CHAR (10), 文字列2)」と入力する
CHAR (10)を改行をしたい文字列と文字列の間に入力します。
(3)Enterキーを押す
1つのセル内に、姓と名の間が改行されて結合表示できました。
さらに、ここでは文字列と日付を結合させる使い方を見ていきます。
=CONCATENATE(文字列1, TEXT(文字列2, "yyyy年m月d日"), 文字列3)
文字列と日付を結合して表示
表示したい形式→ ""の中に記載する表示形式
2022年1月1日 →yyyy年m月d日
2022/1/1 →yyyy/m/d
令和4年1月1日 →ggge年m月d日 ※Excel2016以前のバージョンは更新プログラムを適用しないと「令和」での表示ができないのでご注意ください。
TEXT関数とは値を文字列で表示できる関数です。ぜひこちらの記事もご覧ください。
以下に、名簿があります。
例えば生年月日の項目について、日付だけでなく文字列もいれたい場合にはTEXT関数を併用します。
(1)結合結果を入力したいセルを選択する
まずこれまでと同様に結果を表示したい【F2】セルを選択します。
(2)数式バーに「=CONCATENATE(TEXT(C2,"yyyy/m/d "),"生まれ")」と入力する
こちらは、生年月日を「○○○○/○/○生まれ」という形式に変更する場合の数式になります。
数式からわかるように、文字列にはセル選択だけではなく、関数や文字も入力できます。
文字列1=TEXT(C2,"yyyy/m/d ")
文字列2="生まれ"
(3)Enterキーを押す
【C2】セルの「2019年2月6日」という表示形式をTEXT関数で指定した形式「2019/2/6」にして、「生まれ」を結合した表示になりました。
いかがでしょうか?
CONCATENATE関数の基本を使用すれば、手入力で一つひとつ修正をかけていくような作業も一気に効率化できます。
応用編では、CONCATENATE関数を使って顧客リストの作成や売上表のコメント入力をしていきます。
左図から右図のような顧客リストを作成していきます。
=CONCATENATE(B3," ",C3)
これは基本編でも取り上げた内容そのままですが、まずスペースを入れる場合、文字列と文字列の間に" "を入力します。
次に、郵便番号を一つのセルに表示させます。
入力方法には以下の3パターンがあり、どれを入力しても結果は同じです。
1. =CONCATENATE("〒",D3,E3,F3)
2. =CONCATENATE("〒",D3,"-",F3)
3. =CONCAT("〒",D3:F3)
いかがでしょうか?
これで、実務で使用する顧客リストも素早く整理することができます。
次に、売上表などのコメント作成を毎月自動的に表示されるようにしていきます。
まずは「2022年1月における売上ベスト3位は内田、黒田、西です。ワースト3位は山崎、藤本、福井です。」の部分から分解していきます。
(1)【B1】セルの日付引用
(2)文字列"における売上ベスト3位は""です。""ワースト3位は""です。"を表示
(3)【A3】【A4】【A5】【A10】【A11】【A12】セルを引用し間に"、"を表示
(4)改行を表示
そして「売上ベスト3位の合計額は7,782,000です。」の部分を分解します。
(1)文字列"売上ベスト3位の合計額は" "です。"を表示
(2)売上額【B3】【B4】【B5】の計算結果を3桁ごとに","で区切って表示
分解することで、実はシンプルな組み立てであることがわかります。
では実際に関数を確認していきましょう。
(1)【B1】セルの日付引用
B1の表示形式"yyyy/m"を"yyyy年m月"にします。
=TEXT(B1,"yyyy年m月")
(2)文字列"における売上ベスト3位は""です。""ワースト3位は""です。"を表示
上記と合わせて結合してみます。
=CONCATENATE(TEXT(B1,"yyyy年m月"),"における売上ベスト3位は","です。","ワースト3位は","です。")
(3)【A3】【A4】【A5】【A10】【A11】【A12】セルを引用し間に"、"を表示
=CONCATENATE(TEXT(B1,"yyyy年m月"),"における売上ベスト3位は",A3,"、",A4,"、",A5,"です。","ワースト3位は",A10,"、",A11,"、",A12,"です。")
(4)改行を表示
改行を入れたいところにCHAR(10)を入力します。
=CONCATENATE(TEXT(B1,"yyyy年m月"),"における売上ベスト3位は",A3,"、",A4,"、",A5,"です。",CHAR(10),"ワースト3位は",A10,"、",A11,"、",A12,"です。")
(1)文字列"売上ベスト3位の合計額は" "です。"を表示
=CONCATENATE("売上ベスト3位の合計額は","です。")
(2)売上額【B3】【B4】【B5】の計算結果を3桁ごとに","で区切って表示
合計額は=SUM(B3,B4,B5)で出せますが、3桁ごとに","で区切って表示したいので、今回はSUMの合計値をTEXT関数を使用して表示形式を"#,##0"と指定しましょう。それではCONCATENATEで結合します。
=CONCATENATE("売上ベスト3位の合計額は",TEXT(SUM(B3,B4,B5),"#,##0"),"です。")
1度式を作ってしまえば、翌月に売上額や順位が変わっても、表の売上を降順に並べ替えさえすれば毎月のコメントが自動的に表示されるようになります。
ここまでCONCATENATE関数の使い方を紹介してきましたが、実はこの関数、「&」でも置き換えが可能です。
使用方法は大変シンプルで、結合表示したい文字列を「&」で挟むだけでCONCATENATE関数と同じ結合結果を表示できます。もちろん別の関数式の結果を結合表示させることも可能です。
【A2】【B2】【C2】【D2】のセルを結合させたい時、CONCATENATE関数を使用した場合は以下の通りです。
=CONCATENATE(A2,B2,C2,D2)
代わりに「&」を使用した場合は以下の通りです。
=A2&B2&C2&D2
「&」を使用することでCONCATENATEのつづりを覚えなくてよいというメリットがあります。
一方で、結合させる文字列が多いときには、「&」を何度も入力する必要があり、手間がかかるというデメリットもあります。
文字列が少ないときは「&」、多いときは「CONCATENATE」や「CONCAT」にするなど、実務に合わせて使い分けていきましょう。
今回は文字列と文字列を結合して1つのセルに表示する「CONCATENATE(CONCAT)関数」を紹介しました。
顧客リストの整理や毎月の売上コメントを報告する際にも役立つ関数ですので、ぜひ習得して活用していきましょう。
当社では、『Microsoft認定トレーナー』資格を持つEXCEL女子による「Excel研修」を提供しております。書籍化するなど注目いただいている研修です。
社員教育に時間を割けない、Excelスキルの底上げをしたいなどお悩みでしたら、ぜひお気軽にお問い合わせください。