• 締切済み

エクセル2003 絶対参照の移動(OFFSET)

現在、 セル【I10】に =IF($A10="","",$G10-SUMIF($F$10:$F$35,$C10,$G$10:$G$35)) 【I11】に    =IF($A11="","",$G11-SUMIF($F$10:$F$35,$C11,$G$10:$G$35)) 【I12】に    =IF($A12="","",$G12-SUMIF($F$10:$F$35,$C12,$G$10:$G$35)) と26行同じ参照範囲が記入されています。 この式は、 A列が空欄の際、空欄を返す、というエラー回避の式と、 もし、C10と、F10~F35の中で一致するものがある場合、G10~G35でそれに値する数字の合計をG10から引く。 という式を組み合わせたつもりです。 次のページとして、 セル【I47】に =IF($A47="","",$G47-SUMIF($F$47:$F$72,C$47,$G$47:$G$72))    【I48】に   =IF($A48="","",$G48-SUMIF($F$47:$F$72,C$48,$G$47:$G$72)) と、また26行続けます。 全部で200ページを入力したいのですが、 参照範囲を手作業で入力するには作業量が多すぎるため、 すみませんが、どなたかお分かりでしたら、教えていただきたいです。OFFSETの使い方がよくわからないため、 よろしくお願いします。

みんなの回答

  • mar00
  • ベストアンサー率36% (158/430)
回答No.1

マクロを使ったやり方になりますが、実行してしまうと元に戻せなくなりますので必ずシートをコピーするなどしてから試してみてください。 Sub Macro1() COUNTER1 = 0 MyRow1 = 10 MyRow2 = 35 Do While COUNTER < 200 COUNTER = COUNTER + 1 Range("I" & MyRow1 & ":i" & MyRow1 + 25).FormulaR1C1 = _ "=IF(RC1="""","""",RC7-SUMIF(R" & MyRow1 & "C6:R" & MyRow2 & "C6,RC3,R" & MyRow1 & "C7:R" & MyRow2 & "C7))" MyRow1 = MyRow1 + 37 MyRow2 = MyRow2 + 37 Loop End Sub

関連するQ&A