2016-05-11 13 views
2

Excelの関数で数値の平均を計算します。 =AVERAGE(I1:I36)などがあります。n番目の行ごとに関数の値を挿入する方法

問題は、手動で行を数えてからコピーして貼り付ける代わりに、この関数を49行ごとに貼り付ける必要があることです。

答えて

1

(空白の数式を回避する)あなたがこれを試みることができる:

は、A1からA50000への式のすべての9行

Dim rng1 As Range 
Set rng1 = Range([a1], Cells(50000, "A")) 
rng1.FormulaR1C1 = Application.Evaluate("=IF(MOD(ROW(A1:A50000),49)=0,""=AVERAGE(RC9:R[35]C9)"","""")") 
0
=IF(MOD(ROW(),49)=0,AVERAGE($I$1:$I$36),"") 

あなたが開始行C1と式の周波数C2にで保存した場合、それは

=IF(MOD(ROW()-$c$1+$c$2,$c$2)=0,AVERAGE($I$1:$I$36),"") 
0

決定1

使用=IF(MOD((ROW()-ROW($I$1)),49)=0;AVERAGE(I1:I36);"")
プロのようになります。純粋数式、マクロなし。
短所:列全体を使用する必要があります。過剰な計算(btw ROW()関数は効率的ではないため、行番号に別の列を使用する方がよいでしょう)。

デシジョン2

ちょうどその「貼り付け」全範囲を選び、式48個の空のセルを押し「コピー」でセルを選択します。 VBAでこれを行うには

+0

私のExcelのスキルは、私が列を作成し、貧しい入りますそれはJであり、J列全体を選択して関数を貼り付けてしまったので、$ Iを$ Jに変更しても使用しませんでした。 – Sherif

+0

Sherif、式を正しくコピーするには、 '$'の間にセル参照を入れる必要があります – csanjose

関連する問題