セルの値の連結
表計算ソフトでセルの値を連結するには以下の2つの方法がある。
- &演算子例: =A1&A2
- CONCATENATE関数例: CONCATENATE(A1;A2; …;An)
標準では範囲を指定して結合するのは不可能。セルを1つずつ選択・指定するしかない。非常に効率が悪いので何か工夫する。
関数を使わずにやる方法
目的: セルA1からA100までの文字をつなげる。
- B1セルに=A1&B2。注: 区切り文字を入れたければ=A1&区切り文字&B2とする。
- B1セルをオートフィルでB100までコピー。
- B1セルにすべてが結合された文字列が表示。
- B1セルに=A1&B2。
参考:
関数を使ってやる方法
エクセルであればユーザ定義関数を作ることで可能らしい。
=MOJI(A1:A20) Function MOJI(XRange As Range) As String Dim XCell As Range For Each XCell In XRange MOJI = MOJI & XCell.Value Next XCell End Function
Public Function U_StrCat(セル範囲 As Range, Optional 区切り文字 As String = “”) As String
Dim result As String
Dim cell As Range
result = “”
For Each cell In セル範囲
If Len(result) > 0 Then
result = result & 区切り文字
End If
result = result & cell.Value
Next
U_StrCat = result
End Function
Dim result As String
Dim cell As Range
result = “”
For Each cell In セル範囲
If Len(result) > 0 Then
result = result & 区切り文字
End If
result = result & cell.Value
Next
U_StrCat = result
End Function
LibreOfficeのCalcでも実装できると何かと便利な気がする。誰か作ってくれないかな?