【エクセルVBA】複数セルの文字列を連結合!CONCAT関数の使い方!VBAへの組み込みまで

f:id:yshgs_elec:20210220211906p:plain

「複数のセルに入っている文字列を一つに結合したい。」

「数が多いのでひとつひとつのセルを&でつなぐのは面倒だ。」

私自身、つい先日までセル内データをつなげようとして

=A1&B1&C1

みたいな処理を行っていたものです。

 

結合するセルが3つ程度であれば、これでも大きな問題ではないのですが、もし数が多くなってしまった場合は非常に面倒でしょう。

 

というわけで、この記事では、そんな状況を一瞬で解決できる

CONCAT関数の使い方をご紹介していきます。

 

それでは早速やっていきます!

スポンサーリンク

紹介するスキルの概要説明

まずはじめに今回の記事で紹介する内容を簡単にご説明しておきます。

 

今回は以下がの画像のようにA,B,C列に記入されたデータをE列に連結させて表示するということをやってみます。複数セルの文字列を一つのセルに一括結合した結果

冒頭にも説明したように、E1セルにて

=A1&B1&C1

という数式を入力しても問題はないのですが、今回はこの処理をCONCAT関数というものを用いて実行していきます。

スポンサーリンク

CONCAT関数の使い方

早速ですが、CONCAT関数の使い方です。

 

◆CONCAT関数の使い方

①連結する領域が繋がっている場合

=CONCAT(結合領域)例:=CONCAT(A1:C1)
⇒A1,B1,C1のデータがすべて結合される。

 

②連結する領域が繋がっていない場合

=CONCAT(指定セル, 指定セル, ・・・)
例:=CONCAT(A1,C1)
⇒A1セルとC1セルが結合される

 

基本的な使い方がわかったところで、実際の使用例を見てみましょう。

スポンサーリンク

CONCAT関数の使用例

具体的な使いかたは以下の画像の通りです。

 

①先ほどご紹介した数式を入力しエンター

CONCAT関数の使い方説明

これで以下のようにデータが連結されます。

CONCAT関数の使い方説明

今回は複数行に同じ処理を行いたいので、あとはさきほど数式入力したセルをコピーするだけです。

CONCAT関数を複数のセルに適用した結果

一瞬ですね。

結合する列数が多い場合などはこのCONCAT関数を使うとめちゃくちゃ便利です。

スポンサーリンク

VBAでの実際の使用例

最後に先ほど紹介した処理とまったく同じことをVBA上でやってみましょう。

◆上の作業を実行するVBAコード

Sub concat_test()
    Dim i As Integer
    For i = 1 To 13
        Cells(i, 5) = WorksheetFunction.Concat(Range(Cells(i, 1), Cells(i, 3)))
    Next
End Sub

実行してみましたが、問題なくデータが結合されていることが確認できました。

スポンサーリンク

おわりに

というわけで今回は複数セルのデータを別のセルに結合して出力することができるCONCAT関数の使いかたをご紹介しました。

 

知っておくだけで、数式の入力作業を大幅に効率化できるはずです。

ぜひ覚えておきましょう。

 

このように、私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。

 

今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。

⇒興味をもった方は【ヒガサラ】で検索してみてください。

確実にスキルアップできるはずです。

 

最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。

↓ 応援ボタン

にほんブログ村 IT技術ブログ VBAへ
にほんブログ村

それではまた!

コメント

タイトルとURLをコピーしました