回答編集履歴

2 表現修正

hirohiro

hirohiro score 1957

2015/07/28 05:01  投稿

スクリプトを使わずにExcel機能だけでいきます。
まず前提条件として、データがA列のA1から入っており、A列はデータの終端までに数値か"test"以外の値の入ったセルは無いものとします。
1. まず、一番上に1行挿入します。
2. B1に0「ゼロ」を入れます。
3. B2セルに「=if(INDIRECT("A"&row())="test",0,INDIRECT("B"&row()-1)+INDIRECT("A"&row()))」と入力します。※A列の同じ行が「test」なら0を、数値ならその数値とB列の1つ上の行とを加算したものを入れます。
4. B2セルの右下にカーソルを合わせ、表示が濃くなったらダブルクリックします。  ※A列と同じ高さだけB2がコピーされたはずです、
4. B2セルの右下でダブルクリックします。(十字のポインタが濃く表示されると思います。)※A列と同じ高さだけB2がコピーされたはずです、
5. C2セルに「=INDIRECT("A"&row()+1)="test"」と入力します。※A列の1つ下の行が"test"ならtrue、そうでなければfalseを入れます。
6. C2セルの右下にカーソルを合わせ、表示が濃くなったらダブルクリックします。  ※A列と同じ高さだけC2がコピーされたはずです。
6. C2セルの右下でダブルクリックします。(十字のポインタが濃く表示されると思います。)※A列と同じ高さだけC2がコピーされたはずです。
※ここまで想定通り進むと次のようになっているはずです。
```
    0   
1   1   FALSE
2   3   FALSE
3   6   TRUE
test 0   FALSE
1   1   TRUE
test 0   FALSE
3   3   FALSE
9   12   TRUE
test 0   FALSE
```
7. C列にオートフィルタを作成して、trueで表示を絞ってください。
 [オートフィルタの使い方](http://www.eurus.dti.ne.jp/~yoneyama/Excel/filter.htm)
以上でB列に合計値ばかりが表示されると思います。
1 コード修正

hirohiro

hirohiro score 1957

2015/07/28 04:53  投稿

スクリプトを使わずにExcel機能だけでいきます。
まず前提条件として、データがA列のA1から入っており、A列はデータの終端までに数値か"test"以外の値の入ったセルは無いものとします。
1. まず、一番上に1行挿入します。
 
2. B1に0「ゼロ」を入れます。
3. B2セルに「=if(INDIRECT("A"&row())="test",0,INDIRECT("C"&row()-1)+INDIRECT("A"&row()))」
 ※A列の同じ行が「test」なら0を、数値ならその数値とB列の1つ上の行とを加算したものを入れます。
4. B2セルの右下にカーソルを合わせ、表示が濃くなったらダブルクリックします。
 A列と同じ高さだけB2がコピーされたはずです、
5. C2セルに「=INDIRECT("A"&row()+1)="test"」
 A列の1つ下の行が"test"ならtrue、そうでなければfalseを入れます。
6. C2セルの右下にカーソルを合わせ、表示が濃くなったらダブルクリックします。
 A列と同じ高さだけC2がコピーされたはずです。
 ここまで想定通り進むと次のようになっているはずです。
3. B2セルに「=if(INDIRECT("A"&row())="test",0,INDIRECT("B"&row()-1)+INDIRECT("A"&row()))」と入力します。※A列の同じ行が「test」なら0を、数値ならその数値とB列の1つ上の行とを加算したものを入れます。
4. B2セルの右下にカーソルを合わせ、表示が濃くなったらダブルクリックします。  ※A列と同じ高さだけB2がコピーされたはずです、
5. C2セルに「=INDIRECT("A"&row()+1)="test"」と入力します。※A列の1つ下の行が"test"ならtrue、そうでなければfalseを入れます。
6. C2セルの右下にカーソルを合わせ、表示が濃くなったらダブルクリックします。  ※A列と同じ高さだけC2がコピーされたはずです。
※ここまで想定通り進むと次のようになっているはずです。
```
    0   
1   1   FALSE
2   2   FALSE
3   3   TRUE
2   3   FALSE
3   6   TRUE
test 0   FALSE
1   1   TRUE
test 0   FALSE
3   3   FALSE
9   9   TRUE
9   12   TRUE
test 0   FALSE
```
7. C列にオートフィルタを作成して、trueで表示を絞ってください。
 [オートフィルタの使い方](http://www.eurus.dti.ne.jp/~yoneyama/Excel/filter.htm)
以上でB列に合計値ばかりが表示されると思います。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る