English

一定間隔毎の行挿入と小計

行数の多いシートに一定間隔毎に行を挿入するのは結構面倒です。並べ替えの機能を利用する方法を提案します。
関連ページ 一定間隔毎の行削除

1行毎に空白行を挿入

図1.

表部分の左側に列を挿入し、表最下端まで 1,3,5,… の奇数を、表最下部以下の空白行で 2,4,6,… の偶数列を埋めておきます。(オートフィル参照

Excel2003 では、表部分を選択のうえ 「 データ 」 → 「 並べ替え(S) 」 で最優先されるキーを 列A に指定し 『 昇順 』 を選択します。

表部分 (CurrentRegion)の選択は 表内の任意のセル (但し、上下左右とも空白のセルは不可) をアクティブにしておいて 『 Ctrl + Shift + * (アスタリスク) 』 が便利です。

Excel2007 では、表中の任意のセルで 同様の操作( Alt,A,S: Alt キーに続いてA,S を押す) で 『 昇順 』 にします。終了すれば不要な A 列は削除もしくは消去するとよいです。

マクロのイミディエイトを使って同様の行挿入が簡単に出来ますが、マクロを使うと不本意な結果になっても を使って元に戻せないのが懸念材料になります。

3行おきの場合

図2.

図2.のように A 列を挿入し、表の最下部までオートフィル機能を使って 1,2,3,…の順列を作成します。

次に、図2.の a17, a18 セルに それぞれ 3.5, 6.5 と入力し同じくオートフィルで必要な行数にドラッグして埋めます。 3.1, 6.1 などでも OK です。

以下、前項の場合と同様に並べ替えをします。( 右図参照 )終了すれば不要な A 列は削除もしくは消去します。

(注) Excel の並べ替え技法では 3.5, 6.5 でなく 3, 6 を使っても同じ結果になります。また前項の1行毎の場合でもデータ行と空白行の数列を全く同じにしてもできますが、ここの方法が無難です。並べ替え参照


通常の行挿入を実行した場合は罫線を自動的に引いてくれますが、ここの方法では罫線は作成されません。図のように最初から空白部分も罫線を入れておく方が簡単です。また空白部分を適当な色で塗りつぶしておけば挿入行が強調表示されます。

前項の1行毎の場合、1.5, 2.5 をオートフィルすることも出来ます。2行ごとだと 2.5, 4.5、4行なら 4,5, 8.5、5行は 5.5, 10.5 などを使うことにします。

一定間隔で2行以上の空白行が必要な場合は同じように繰り返せば解決します。 例えば3行おきに2行を挿入する場合は図2.でできた右図を基に4行ごとに空白行を挿入するわけです。あるいは、3.5, 6.5 … 15,5 と埋めた後の行に 3.8, 6.8 などを使いオートフィルして並べ替えをすることもできます。

小計の挿入

図3.

図2.の A 列の無用な数列を消去して、図3.の c5 セル (赤字表示) で( オートSUM ) をクリックすると自動的に 『 =SUM(C2:C4) 』で 6 が表示されます。ここでは 『 =subtotal(9, c2:c4) 』とタイプしてもOKです。 9 は集計方法を指定するパラメーターで単純な合計を要求するものです。

次に b5 セルに 『 小計 』( 中央揃え )の文字を加入し b5〜c5 セルを選び Ctrl + C でコピーしておいて b9, b13, b17, b21 セルにそれぞれ Ctrl + V で貼り付けします。

総合計を求める意図で c22 セルで ( オートSUM ) のコマンドをクリックすると 自動的に 『 =SUM(C21,C17,C13,C9,C5) 』 が入力されます。

sum 関数の引数は 255 ( Excel2003 は 30 )までしか指定できないのでこれを超えるシートでは困難です。

このページの表中の漢数字は元々 1,2,3… と入力されておりセルの書式設定で変更しているので、c5 セルが漢数字になることがあります。

(参考) 行数が多くて b5:c5 をそれぞれのセルに貼り付ける手間がかかりすぎる場合は次の マクロ・イミディエイト を使うことができます。実行する前にコピー元の b5:c5 セルを選んで Ctrl + C でコピーしておきます。

for y= 9 to 21 step 4:cells(y, 2).pastespecial:next

但し、ここの例に限定したものであり汎用性はありません。9 は貼り付け先の最初の行、21 は最後の行、4 は行間隔、2 は B列 を意味しています。環境にあった数値に変更すればよいですが 実行後は元に戻せません ので予めバックアップをとっておくことが必要です。

このサイトで扱った項目