はじめに
Excelで範囲指定して、指定した範囲を何らかの文字で区切って結合させたい時ってあると思います。
ExcelではCONCATENATE
関数がありますが、これはセルを一つ一つ指定して結合するだけなので、要件に合いません。
なので、今回は簡単なVBAを用いて、指定した範囲を任意の区切り文字で区切って結合する、JOIN
関数を自作することにしました。
ちなみに、Office365ではTEXTJOIN
関数がそれに当たるらしいです。
実装
' rng 結合したい範囲
' delim 結合文字(初期値:,)
Function JOIN(rng As Range, Optional delim As String = ",") As String
Dim result As String
Dim r As Range
result = ""
For Each r In rng
result = result & r & delim
Next
JOIN = Left(result, Len(result) - 1)
End Function
使用方法
エクセルの任意のセルで=JOIN(結合セル範囲)
としてください。
結合セル範囲はマウスでドラッグして、指定してあげても良いです。
また、区切り文字は指定しない場合はカンマ(,)で結合されますが、その他の区切り文字を指定する場合は第二引数に以下のように指定してください。(以下は「:」を区切り文字とする場合)=JOIN(結合セル範囲, ":")
コメント