concat関数の使い方とExcel2013以前の古いエクセルで使う方法


Excel2016の2016年2月アップデートで、
textjoin関数とともに、concat関数が導入されています。

(Excel2016全てで使えるわけではなく、
 一部の契約形態のみ使用できるようです)

concat関数とは?

concatenate関数の完全上位互換で、

=concat(A1:A5)

という
「セル範囲を指定した」書式にも対応する
concatenate関数というイメージです。

複数セルをまとめて結合したいとき、
concatenate関数では不便でしたが、
concat関数があれば、手間が省けます。

複数行かつ複数列の結合は注意

なお、

=concat(B2:C8)

というような、
複数行・複数列の指定をした場合には、

B2セル→C2セル→B3セル→C3セル→・・・

というような順番で、
文字列の結合がされますので、
望む順番で結合されるか、気をつけておいてください。

Excel2013、Excel2010、Excel2007等古いエクセルでは使えない

このconcat関数は、
最新のExcel2016でしか使えませんが、
これも、ifs関数と同じく、
古いExcelで使うためのユーザ定義関数を作ってみました。

Function CONCAT(ParamArray par())
  Dim i As Integer
  Dim tR As Range
  
  CONCAT = ""
  For i = LBound(par) To UBound(par)
    If TypeName(par(i)) = "Range" Then
      For Each tR In par(i)
        CONCAT = CONCAT & tR.Value2
      Next
    Else
      CONCAT = CONCAT & par(i)
    End If
  Next
End Function

上記ソースを
エクセルVBAの標準モジュールにコピペしてもらえれば、
concat関数と、ほぼ同じ動きをすると思います。

エクセル基礎講座 「無料」動画マニュアル

「経理事務のためのエクセル基礎講座(初級編)」(動画マニュアル 総収録時間162分)を無料プレゼント中です!

このマニュアルで解説していることを一通り学べば、経理事務を行う上で最低限必要となる知識が得られます。

ご登録者の方には、合わせて、公認会計士が実体験を通して身に付けたエクセルを使う技をメールにてお伝えしていきます!

無料動画講座 登録フォーム

※ご登録頂いたメールアドレスに、エクセルを使いこなすための情報を配信するメールセミナー「エクセル倍速講座」も合わせて配信させていただきます。