f

2013-10-14

セルの値の連結

表計算ソフトでセルの値を連結するには以下の2つの方法がある。
  1. &演算子
    例: =A1&A2
  2. CONCATENATE関数
    例: CONCATENATE(A1;A2; …;An)
標準では範囲を指定して結合するのは不可能。セルを1つずつ選択・指定するしかない。非常に効率が悪いので何か工夫する。

 関数を使わずにやる方法

目的: セルA1からA100までの文字をつなげる。
    1. B1セルに=A1&B2。
      注: 区切り文字を入れたければ=A1&区切り文字&B2とする。
    2. B1セルをオートフィルでB100までコピー。
    3. B1セルにすべてが結合された文字列が表示。
参考:

 関数を使ってやる方法

エクセルであればユーザ定義関数を作ることで可能らしい。
 =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
LibreOfficeのCalcでも実装できると何かと便利な気がする。誰か作ってくれないかな?

0 件のコメント:

コメントを投稿