| 
    
     |  | Coo さん、こうちゃん さん おはようございます。 
 >今回、ワークシートで使うことを考えています。
 >sheet1の
 >A列目に1行からn行まで任意のデータが
 >B列目に1行からn行まで任意のデータが
 >C列目の1行目にも任意のデータが入っています。
 >nは毎回変わります。
 
 引数がセル限定ですが。
 xとyの範囲の大きさが違っている場合は、大きいほうに合わせて合計します。
 
 Function test(x As Range, y As Range, z As Integer)
 Dim c As Range, xy As Long, II as Long
 xy = Application.WorksheetFunction.Max(x.Count, y.Count) '大きいほう
 ReDim xx(xy) As Double, yy(xy) As Double
 '
 xx(0) = 0: yy(0) = 0
 For II = 1 To xy
 xx(II) = x(II) + xx(II - 1)
 yy(II) = y(II) + yy(II - 1)
 Next
 'Result
 test = xx(xy) + yy(xy) + xx(xy - 2) / z
 End Function
 
 こんな感じです。
 [セルD1]=test(A1:A6,B1:B6,C1) のようにして使ってください。
 エラーチェックはつけていないので、文字列をはさんだりするとエラーになります。
 
 |  |