VBAでやれば、簡単なロジックで出来ます。
しかし関数でやるとなると、やっと下記で出来たが難しい。
(例データ)A列です。ついでに関数の結果・中間結果も
下記に表示します。
A2:E22です。関数の結果も下記に含む。
A列 B列 C列 D列 E列
3 1 1 1 3
2 5 2 1
4 8 3 1
1 13 4 1
3 15 5 2 2
2 19 6 2
22 7 2
8 3 4
9 3
10 3
11 3
12 3
13 4 1
4
5 3
5
5
5
6 2
6
6
(関数式)B2に1、B3に=B2+A2+1、B3を下方向に複写して
、値は上記B列の通り。
C2に1、C3に2をいれて下へ+ハンドルを引っ張り、連番を振る。結果上記のC列の通り。
D2に=VLOOKUP(ROW()-1,$B$2:$C$11,2,TRUE)といれ、下方向に複写。結果は上記D列の通り。
E2に=IF(D1=D2,"",INDIRECT("A"&D2+1))といれ、下方向に複写。結果は上記のE列の通り。これが求めるものである。
B、C、D列は作業列で使わないやり方があれば、望ましいが
、出来るかな。
OKWEB上では数字の並びが崩れますが、エクセルにコピー貼りつけして、データ-区切り位置-スペース区切りを行って見てください。
お礼
出来ました。ありがとうございました。マクロの作成については初心者で、昨日、VBAProjectの右ページに貼り付けて実行した時はうまくいかなかたのですが、今日やり直してみると、きれいに空白行がはいっていました。ありがとうございました。
補足
補足します。 今、数字の入っているA1セルとA2セルの間に、(空白行)を、その数(セルに書かれた数)と同じ行数だけ挿入したいのです。よろしくお願いします。 A列(現在) A列(予定) 3 3 5 (空白行) 2 (空白行) (空白行) 5 (空白行) (空白行) (空白行) (空白行) (空白行) 2 (空白行) (空白行)