第3章 ケーススタディ:月次の売上表を整える ・ MISSION 10
ミッション10:空白行を下から消す
お題
貼り付けた10月の明細に空白行が混ざっている。空白行をすべて消そう。行を消すと下の行が上に詰まるので、下の行から順に見ていく。
10月の売上 - Google スプレッドシート
10月の売上
ファイル編集表示挿入表示形式データツールヘルプ
A1fx日付
A
B
C
D
E
1
日付
担当
取引先
金額
区分
2
10/1
佐藤
青葉商事
85000
3
10/2
鈴木
東西物産
150000
4
5
10/6
高橋
北斗工業
42000
6
10/8
佐藤
南星堂
100000
7
8
9
10/14
鈴木
青葉商事
230000
10
10/20
高橋
東西物産
67000
11
12
10/27
佐藤
北斗工業
98000
13
14
練習のため、実行するたびに表は最初の状態に戻ってから動きます(本物のスプレッドシートでは戻りません。スクリプトの変更は Ctrl+Z で戻せることもありますが、まとめては戻せません)。
Apps Script無題のプロジェクトデプロイ ▾
ファイル +
コード.gs
function deleteBlankRows() {
const sheet = SpreadsheetApp.getActiveSheet();
for (let row = sheet.getLastRow(); row >= 2; row) {
if (sheet.getRange(row, 1).getValue() === ) {
sheet.(row);
}
}
}
Ctrl+S: 保存 ・ Ctrl+R: 実行(エディタ) ・ F5: 開き直す
第3章 スタートケーススタディ:月次の売上表を整える
第3章 ・ MISSION 10
空白行を下から消す
貼り付けた10月の明細に空白行が混ざっている。空白行をすべて消そう。行を消すと下の行が上に詰まるので、下の行から順に見ていく。
A
B
C
D
E
1
日付
担当
取引先
金額
区分
2
10/1
佐藤
青葉商事
85000
3
10/2
鈴木
東西物産
150000
4
5
10/6
高橋
北斗工業
42000
6
10/8
佐藤
南星堂
100000
7
8
9
10/14
鈴木
青葉商事
230000
10
10/20
高橋
東西物産
67000
11
12
10/27
佐藤
北斗工業
98000
A
B
C
D
E
1
日付
担当
取引先
金額
区分
2
10/1
佐藤
青葉商事
85000
3
10/2
鈴木
東西物産
150000
4
10/6
高橋
北斗工業
42000
5
10/8
佐藤
南星堂
100000
6
10/14
鈴木
青葉商事
230000
7
10/20
高橋
東西物産
67000
8
10/27
佐藤
北斗工業
98000
9
10
コードの読み方
- for (let row = sheet.getLastRow(); row >= 2; row--) {
- 最後の行から 2 行目まで、row を1ずつ減らしながらくり返す。
- if (sheet.getRange(row, 1).getValue() === '') {
- A 列が空('')なら。=== は「型まで同じか」を比べる。
- sheet.deleteRow(row);
- row 行目を消す。下の行が上に詰まる。
行を消すと下の行が1つずつ上に詰まる。上から消していくと、詰まってきた行を飛ばしてしまう。下から上へ進めば、まだ見ていない行の番号は変わらない。行を消す・足す処理は下からが基本。
GAS の始め方とよく使う書き方は、記事にまとめています。GAS とは? 始め方とよく使う書き方
書いたコードは、このページの中の隔離した場所で動きます。ページの外やほかのサイトには届きません。
※ Google スプレッドシートと Apps Script の挙動を模擬的に表現したものであり、本来の挙動と一部異なる可能性があります。
※ Google スプレッドシートは Google LLC の商標です。当サイトは Google とは関係ありません。